#-----------------------------------------------------
# 指定N次战斗后消除的状态 By:灯笼菜刀王
#
# 使用方法, 事件脚本写: 吃猫饭(角色id,状态id,持续场次)
# ※ 角色id填-1时为全员,填0时为道具使用对象
#-----------------------------------------------------
class Game_Interpreter
def 吃猫饭(actor_id,state_id,turn)
return if turn < 1 or actor_id < -1
if actor_id == -1
$game_party.members.each{|i| i.add_state(state_id)}
b = "members.each{|i| i.remove_state(#{state_id})}"
else
actor_id = $target_id if actor_id == 0 and $target_id != nil
$game_actors[actor_id].add_state(state_id)
b = "$game_actors[#{actor_id}].remove_state(#{state_id})"
end
$game_party.battle_end_inter_push(turn,b)
end
end
class Game_Party < Game_Unit
attr_accessor :battle_end_inter
alias :old_initialize :initialize
def initialize
old_initialize
@battle_end_inter = []
end
def battle_end_inter_push(turn,s)
if @battle_end_inter[turn - 1].nil?
@battle_end_inter[turn - 1] = s
else
@battle_end_inter[turn - 1] += ";#{s}"
end
end
def on_battle_end
super
if (r=@battle_end_inter.shift) != nil
eval(r)
end
end
end
class Scene_ItemBase < Scene_MenuBase
def use_item_to_actors
item_target_actors.each do |target|
$target_id = target.id #冲突就把这句移动过去,然后删掉42-49行
item.repeats.times { target.item_apply(user, item) }
end
end
end
class Scene_Battle < Scene_Base
alias :old_apply_item_effects :apply_item_effects
def apply_item_effects(target, item)
$target_id = target.id
old_apply_item_effects(target, item)
end
end