Project1

标题: 如何做到某角色HP为0也不死亡? [打印本页]

作者: 午睡的风铃    时间: 2018-8-17 23:25
标题: 如何做到某角色HP为0也不死亡?
不是全部角色,而是某个甚至某些个角色在HP为0时也不会死亡。比如ID>=9的角色。
这些角色HP为0不会付加默认的1号状态,而是在被付加了其他状态(比如10号)时才被判定死亡。

====以下因素应该不会影响到解答,但唯恐会影响到,故说了.....=====
这些角色HP为0也可以由玩家操作来战斗,也能挨揍,挨揍了后会付加判定死亡的某状态。

想来解答会很麻烦,如果嫌麻烦哪怕解答个1/n也行,再不行就给个思路,再不行.....呃没的可再了。
谢谢!

作者: 魔法丶小肉包    时间: 2018-8-18 01:06
RUBY 代码复制
  1. class Game_BattlerBase
  2.   def refresh
  3.     state_resist_set.each {|state_id| erase_state(state_id) }
  4.     @hp = [[@hp, mhp].min, 0].max
  5.     @mp = [[@mp, mmp].min, 0].max
  6.     if self.is_a?(Game_Actor) && self.id >= 9
  7.     else
  8.       if @hp == 0
  9.         add_state(death_state_id)
  10.       else
  11.         remove_state(death_state_id)
  12.       end
  13.     end
  14.   end
  15. end


ID大于等于9号的角色不管怎么样都打不死,hp0也能正常行动挨打(除非你给手动加个死亡状态)
作者: fux2    时间: 2018-8-18 21:27
单纯的前半段要求给角色加个状态抗性就可以了,后面的话只能按楼上的做





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