# # 不死身ステート(RGSS2) #  (C)2008 TYPE74RX-T # #-------------------------------------------------------------------------- # ★ システムワードの登録:不死身 #-------------------------------------------------------------------------- module RPG class State alias rx_rgss2b5_rx_extract_sys_str_from_note rx_extract_sys_str_from_note def rx_extract_sys_str_from_note rx_get_sys = RX_T.get_system_word_in_note(@note, "不死身") @@rx_copy_str += rx_get_sys @note = @note.sub(rx_get_sys, "") @note = @note.sub("\r\n", "") @rx_sys_str = @@rx_copy_str # メソッドを呼び戻す rx_rgss2b5_rx_extract_sys_str_from_note end end end #============================================================================== # ■ Game_Battler #------------------------------------------------------------------------------ #  バトラーを扱うクラスです。このクラスは Game_Actor クラスと Game_Enemy クラ # スのスーパークラスとして使用されます。 #============================================================================== class Game_Battler #-------------------------------------------------------------------------- # ★ 不死身判定 #-------------------------------------------------------------------------- def rx_get_immortal @immortal = false for state in states @immortal = true if state.rx_sys_str.include?("不死身") end # アクターが不死身状態にない時に HP が 0 なら戦闘不能化 add_state(1) if actor? and @hp < 1 and not @immortal return @immortal end #-------------------------------------------------------------------------- # ● 制約の取得 # 現在付加されているステートから最大の restriction を取得する。 #-------------------------------------------------------------------------- alias rx_rgss2b5_restriction restriction def restriction # ★ 不死身判定 rx_get_immortal # メソッドを呼び戻す rx_rgss2b5_restriction end end