# # 必中ステート(RGSS2) #  (C)2008 TYPE74RX-T # #-------------------------------------------------------------------------- # ★ システムワードの登録:必中 #-------------------------------------------------------------------------- module RPG class State alias rx_rgss2b19_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, "必中") unless rx_get_sys == "" @@rx_copy_str += rx_get_sys @note = @note.sub(rx_get_sys, "") @note = @note.sub("\r\n", "") end @rx_sys_str = @@rx_copy_str # メソッドを呼び戻す rx_rgss2b19_rx_extract_sys_str_from_note end end end #============================================================================== # ■ Game_Battler #------------------------------------------------------------------------------ #  バトラーを扱うクラスです。このクラスは Game_Actor クラスと Game_Enemy クラ # スのスーパークラスとして使用されます。 #============================================================================== class Game_Battler #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- alias rx_rgss2b19_initialize initialize def initialize # メソッドを呼び戻す rx_rgss2b19_initialize @rx_inside_state = false # ★ 必中フラグ end #-------------------------------------------------------------------------- # ★ 必中フラグ #-------------------------------------------------------------------------- def rx_inside_state return @rx_inside_state end #-------------------------------------------------------------------------- # ★ 必中判定 #-------------------------------------------------------------------------- def rx_get_inside_state @rx_inside_state = false for state in states @rx_inside_state = true if state.rx_sys_str.include?("必中") end end #-------------------------------------------------------------------------- # ● 制約の取得 # 現在付加されているステートから最大の restriction を取得する。 #-------------------------------------------------------------------------- alias rx_rgss2b19_restriction restriction def restriction # ★ 必中判定 rx_get_inside_state # メソッドを呼び戻す rx_rgss2b19_restriction end #-------------------------------------------------------------------------- # ● 最終命中率の計算 # user : 攻撃者、スキルまたはアイテムの使用者 # obj : スキルまたはアイテム (通常攻撃の場合は nil) #-------------------------------------------------------------------------- alias rx_rgss2b19_calc_hit calc_hit def calc_hit(user, obj = nil) # ★ 行動者が必中ステートなら 100 %に return 100 if user.rx_inside_state # メソッドを呼び戻す rx_rgss2b19_calc_hit(user, obj) end #-------------------------------------------------------------------------- # ● 最終回避率の計算 # user : 攻撃者、スキルまたはアイテムの使用者 # obj : スキルまたはアイテム (通常攻撃の場合は nil) #-------------------------------------------------------------------------- alias rx_rgss2b19_calc_eva calc_eva def calc_eva(user, obj = nil) # ★ 行動者が必中ステートなら 0 %に return 0 if user.rx_inside_state # メソッドを呼び戻す rx_rgss2b19_calc_eva(user, obj) end end