Project1

标题: 怎么做一个固定减伤的效果。 [打印本页]

作者: 方风悠然    时间: 2019-3-29 21:41
标题: 怎么做一个固定减伤的效果。
本帖最后由 方风悠然 于 2019-4-5 00:14 编辑

比如带有某个状态时,受到的伤害>5000,强制将伤害变为5000
作者: 芯☆淡茹水    时间: 2019-4-4 13:57
这样?
比如角色有 10 号状态,就最多一次承受 5000 伤害
  1. #==============================================================================
  2. class Game_Actor < Game_Battler
  3.   #--------------------------------------------------------------------------
  4.   alias :new_gain_hp :hp=
  5.   def hp=(hp)
  6.     hp = state?(10) ? [@hp - 5000, hp].max : hp
  7.     new_gain_hp(hp)
  8.   end
  9. end
  10. #==============================================================================
复制代码

作者: 方风悠然    时间: 2019-4-4 22:41
芯☆淡茹水 发表于 2019-4-4 13:57
这样?
比如角色有 10 号状态,就最多一次承受 5000 伤害

阿勒,貌似没效果
作者: Password    时间: 2019-4-4 23:17
锁伤害上限总得有个条件吧?
是敌人会锁还是我方?
是根据敌人/角色ID判断还是根据存在状态判断?
作者: 方风悠然    时间: 2019-4-5 00:14
Password 发表于 2019-4-4 23:17
锁伤害上限总得有个条件吧?
是敌人会锁还是我方?
是根据敌人/角色ID判断还是根据存在状态判断? ...

已修改

作者: 芯☆淡茹水    时间: 2019-4-5 10:23
方风悠然 发表于 2019-4-4 22:41
阿勒,貌似没效果

哦! 不是没有效果,而是伤害显示未改

  1. #==============================================================================
  2. class Game_Battler
  3.   #--------------------------------------------------------------------------
  4.   alias :last_gain_hp :hp=
  5.   def hp=(hp)
  6.     last_hp = hp
  7.     hp = state?(10) ? [@hp - 5000, hp].max : hp
  8.     @hp_damage = @hp - hp if last_hp != hp
  9.     last_gain_hp(hp)
  10.   end
  11. end
  12. #==============================================================================
复制代码

作者: 方风悠然    时间: 2019-4-6 21:24
芯☆淡茹水 发表于 2019-4-5 10:23
哦! 不是没有效果,而是伤害显示未改

可以食用了,撒花~




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1