#encoding:utf-8 #============================================================================== # ■ Game_Battler #------------------------------------------------------------------------------ # 处理战斗者的类。Game_Actor 和 Game_Enemy 类的父类。 #============================================================================== class Game_Battler < Game_BattlerBase #-------------------------------------------------------------------------- # ● 应用技能/物品的效果 #-------------------------------------------------------------------------- alias old_item_apply item_apply def item_apply(user, item) old_item_apply(user, item) chufa(user,item) end #-------------------------------------------------------------------------- # ● 触发 #-------------------------------------------------------------------------- def chufa(user,item) #遍历本身所有状态 self.states.each do |i| next if i.nil? #状态错误 next if i.note.nil? #状态无备注 #触发属性。 if i.note =~ /<触发属性 = (\d+)>/ if $1.to_i == item.damage.element_id if i.note =~ /<触发目标 = (\d+)>/ action = Game_Action.new(user, true) action.set_skill($1.to_i) @actions.insert(0,action) end end end #触发技能 if i.note =~ /<触发技能 = (\d+)>/ if $1.to_i == item.id and item.is_a?(RPG::Skill) if i.note =~ /<触发目标 = (\d+)>/ action = Game_Action.new(user, true) action.set_skill($1.to_i) @actions.insert(0,action) end end end #触发物品 if i.note =~ /<触发物品 = (\d+)>/ if $1.to_i == item.id and item.is_a?(RPG::Item) if i.note =~ /<触发目标 = (\d+)>/ action = Game_Action.new(user, true) action.set_item($1.to_i) @actions.insert(0,action) end end end end end end
#encoding:utf-8
#==============================================================================
# ■ Game_Battler
#------------------------------------------------------------------------------
# 处理战斗者的类。Game_Actor 和 Game_Enemy 类的父类。
#==============================================================================
class Game_Battler < Game_BattlerBase
#--------------------------------------------------------------------------
# ● 应用技能/物品的效果
#--------------------------------------------------------------------------
alias old_item_apply item_apply
def item_apply(user, item)
old_item_apply(user, item)
chufa(user,item)
end
#--------------------------------------------------------------------------
# ● 触发
#--------------------------------------------------------------------------
def chufa(user,item)
#遍历本身所有状态
self.states.each do |i|
next if i.nil? #状态错误
next if i.note.nil? #状态无备注
#触发属性。
if i.note =~ /<触发属性 = (\d+)>/
if $1.to_i == item.damage.element_id
if i.note =~ /<触发目标 = (\d+)>/
action = Game_Action.new(user, true)
action.set_skill($1.to_i)
@actions.insert(0,action)
end
end
end
#触发技能
if i.note =~ /<触发技能 = (\d+)>/
if $1.to_i == item.id and item.is_a?(RPG::Skill)
if i.note =~ /<触发目标 = (\d+)>/
action = Game_Action.new(user, true)
action.set_skill($1.to_i)
@actions.insert(0,action)
end
end
end
#触发物品
if i.note =~ /<触发物品 = (\d+)>/
if $1.to_i == item.id and item.is_a?(RPG::Item)
if i.note =~ /<触发目标 = (\d+)>/
action = Game_Action.new(user, true)
action.set_item($1.to_i)
@actions.insert(0,action)
end
end
end
end
end
end
范例:
玄幻小说.zip
(1.43 MB, 下载次数: 78)
范例中以,汽油桶+火系魔法 会燃烧为例子。
首先,战斗中向敌人投掷汽油桶,会让敌人进入易燃状态,这个状态持续3-4回合
期间,如果对敌人释放火属性攻击,敌人就会进入燃烧状态,且会点燃敌队友,持续3-5回合。点燃生效时,易燃失效。
燃烧期间,如果再向敌人投掷汽油桶,会让敌人进入烧得更旺,让燃烧状态150%附加到敌人身上。
使用方法:
在状态备注中设置。
<触发属性 = n> 如果受到附带第n号属性的攻击,触发生效。
<触发技能 = n> 如果受到第n号技能的攻击,触发生效
<触发物品 = n> 如果受到第n号物品的攻击,触发生效
<触发目标 = n> 触发生效时,释放攻击的战斗者再对本身释放第n号技能。
|