就思路而言大致是这样的:
[pre lang="ruby" line="1"]
class Game_Actor
alias_method :pp_20150114, :param_plus
def param_plus(id)
old = pp_20150114(id)
return old unless id == 对应防御力的id
return old unless skill_learn?($data_skills[技能的id])
return old unless 装备了盾牌?
old + 盾牌防御力 / 10
end
end[/pre]
[pre lang="ruby" line="1"]class Game_Actor #定义类
alias_method :c4_20150117, :param_plus
def param_plus(id)
old = c4_20150117(id)
for i in 0...equips.size #把0到(装备数量-1,for in后两数之间三个点)的数一一代入循环
if equips!=nil #第一个判断,若某部位的装备不为(逻辑判断)空
if id == 3 #第二个判断,若属性对应id全等于(逻辑判断)3(物理防御,不为时可自行编辑)
if skill?(146) #第三个判断,若第146号技能(自行编辑)已习得(这里省略“==true”)
old+=equips.params[3]/10 if equips.etype_id==1
#old(属性加成量)加上equips.params[3]/10 (某装备的对应属性加成量除以10,公式可自行编辑)
#第四个判断,若装备的编号为1(1是盾牌,不为盾牌时可自行编辑)时
end
end
end
end
old
end
end[/pre]