Project1
标题:
请问如何让某个敌人免疫普通攻击呢?
[打印本页]
作者:
cryhades
时间:
2017-2-16 12:14
标题:
请问如何让某个敌人免疫普通攻击呢?
想让某个敌人免疫普通攻击,但普通攻击的属性必须是【普通攻击】,不能是自己设定的其他属性
因为需要用到普通攻击附带异常状态的特性,这特性只适用于【普通攻击】这个属性
而在角色的特性-抗性一栏中是没有【普通攻击】这个属性的,所以没办法直接设定【普通攻击】的抗性
求大神出现帮帮我吧{:2_264:}
作者:
百里_飞柳
时间:
2017-2-16 14:10
本帖最后由 百里_飞柳 于 2017-2-27 09:48 编辑
有点奇怪的实现,不过扩展性是有了
修改:增强下兼容性
#==============================================================================
# ■ 状态免疫技能伤害 by 老鹰
#------------------------------------------------------------------------------
# 简单的利用状态来免疫指定技能的伤害
# 当被攻击者附加了对应状态,免疫状态对应数组中的所有id号技能的伤害
# 注:直接变更最终伤害为0,并不影响其他判定
#==============================================================================
module EAGLE
State_skills = {
#状态的id号 => 被该状态所影响的技能的id号的数组
1 => [1],
22 => [1,3,4,5] #当要扩展新行时,记得不要忘记加上英语逗号
}
end
class Game_Battler < Game_BattlerBase
alias eagle_state_skill_make_damage_value make_damage_value
def make_damage_value(user, item)
if with_state_and_skill_id?(item.id)
value = 0
@result.make_damage(value.to_i, item)
else
eagle_state_skill_make_damage_value(user, item)
end
end
def with_state_and_skill_id?(id)
EAGLE::State_skills.each_pair do |key, value|
next unless self.state?(key)
return true if value.include?(id)
end
return false
end
end
复制代码
作者:
cryhades
时间:
2017-2-16 14:26
百里_飞柳 发表于 2017-2-16 14:10
有点奇怪的实现,不过扩展性是有了
感谢老鹰大大!!{:2_249:}
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1