# # オートステート(RGSS2) #  (C)2008 TYPE74RX-T # #-------------------------------------------------------------------------- # ★ システムワードの登録:ステート付加 #-------------------------------------------------------------------------- module RPG class BaseItem alias rx_rgss2bo23_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_note2(@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_rgss2bo23_rx_extract_sys_str_from_note end end end #-------------------------------------------------------------------------- # ★ システムワードの登録:ステート付加 #-------------------------------------------------------------------------- module RPG class Enemy alias rx_rgss2bo23_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_note2(@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_rgss2bo23_rx_extract_sys_str_from_note end end end #============================================================================== # ■ Game_Actor #------------------------------------------------------------------------------ #  アクターを扱うクラスです。このクラスは Game_Actors クラス ($game_actors) # の内部で使用され、Game_Party クラス ($game_party) からも参照されます。 #============================================================================== class Game_Actor < Game_Battler #-------------------------------------------------------------------------- # ● セットアップ # actor_id : アクター ID #-------------------------------------------------------------------------- alias rx_rgss2bo23_setup setup def setup(actor_id) # メソッドを呼び戻す rx_rgss2bo23_setup(actor_id) # ★ 装備付加ステートの情報 @rx_e_add_states = [] rx_set_states end #-------------------------------------------------------------------------- # ★ オートステート設定されたステートを付加 #-------------------------------------------------------------------------- def rx_set_states for rx_adds in rx_e_add_states add_state(rx_adds) end end #-------------------------------------------------------------------------- # ★ オートステート設定されたステートを一旦解除 #-------------------------------------------------------------------------- def rx_unset_states for rx_adds in rx_e_add_states remove_state(rx_adds) end end #-------------------------------------------------------------------------- # ★ 装備付加ステート専用オブジェクトの配列取得 #-------------------------------------------------------------------------- def rx_e_add_states @rx_e_add_states = [] # 各種装備の固有ステートを取得 if @weapon_id > 0 @rx_e_add_states += RX_T.get_array_of_system_word_in_sys_str($data_weapons[@weapon_id], "ステート付加") end if @armor1_id > 0 # 二刀流なら if two_swords_style @rx_e_add_states += RX_T.get_array_of_system_word_in_sys_str($data_weapons[@armor1_id], "ステート付加") else @rx_e_add_states += RX_T.get_array_of_system_word_in_sys_str($data_armors[@armor1_id], "ステート付加") end end if @armor2_id > 0 @rx_e_add_states += RX_T.get_array_of_system_word_in_sys_str($data_armors[@armor2_id], "ステート付加") end if @armor3_id > 0 @rx_e_add_states += RX_T.get_array_of_system_word_in_sys_str($data_armors[@armor3_id], "ステート付加") end if @armor4_id > 0 @rx_e_add_states += RX_T.get_array_of_system_word_in_sys_str($data_armors[@armor4_id], "ステート付加") end # 被ってる要素があれば、それを1つにする @rx_e_add_states = @rx_e_add_states.uniq return @rx_e_add_states end end #============================================================================== # ■ Game_Enemy #------------------------------------------------------------------------------ #  敵キャラを扱うクラスです。このクラスは Game_Troop クラス ($game_troop) の # 内部で使用されます。 #============================================================================== class Game_Enemy < Game_Battler #-------------------------------------------------------------------------- # ● オブジェクト初期化 # index : 敵グループ内インデックス # enemy_id : 敵キャラ ID #-------------------------------------------------------------------------- alias rx_rgss2bo23_initialize initialize def initialize(index, enemy_id) # メソッドを呼び戻す rx_rgss2bo23_initialize(index, enemy_id) # ★ 装備付加ステートの情報 @rx_e_add_states = [] end #-------------------------------------------------------------------------- # ★ オートステート設定されたステートを付加 #-------------------------------------------------------------------------- def rx_set_states for rx_adds in rx_e_add_states add_state(rx_adds) end end #-------------------------------------------------------------------------- # ★ 敵キャラのオートステート専用オブジェクトの配列取得 #-------------------------------------------------------------------------- def rx_e_add_states @rx_e_add_states = [] # 敵キャラのオートステート情報を取得 @rx_e_add_states += RX_T.get_array_of_system_word_in_sys_str($data_enemies[@enemy_id], "ステート付加") return @rx_e_add_states end end #============================================================================== # ■ Scene_Equip #------------------------------------------------------------------------------ #  装備画面の処理を行うクラスです。 #============================================================================== class Scene_Equip < Scene_Base #-------------------------------------------------------------------------- # ● アイテム選択の更新 #-------------------------------------------------------------------------- alias rx_rgss2bo23_update_item_selection update_item_selection def update_item_selection # ★ オートステート設定されたステートを一旦解除 if Input.trigger?(Input::C) @actor.rx_unset_states end # メソッドを呼び戻す rx_rgss2bo23_update_item_selection # ★ オートステート設定されたステートを付加 @actor.rx_set_states end end #============================================================================== # ■ Scene_Battle #------------------------------------------------------------------------------ #  バトル画面の処理を行うクラスです。 #============================================================================== class Scene_Battle < Scene_Base #-------------------------------------------------------------------------- # ● 戦闘終了 # result : 結果 (0:勝利 1:逃走 2:敗北) #-------------------------------------------------------------------------- alias rx_rgss2bo23_battle_end battle_end def battle_end(result) # メソッドを呼び戻す rx_rgss2bo23_battle_end(result) # ★ ステートが切れていたらオートステート設定されたステートのみ再付加 for actor in $game_party.members actor.rx_set_states end end #-------------------------------------------------------------------------- # ● パーティコマンド選択の開始 #-------------------------------------------------------------------------- alias rx_rgss2bo23_start_party_command_selection start_party_command_selection def start_party_command_selection # ★ ステートが切れていたらオートステート設定されたステートのみ再付加 for actor in $game_party.members actor.rx_set_states end for enemy in $game_troop.members enemy.rx_set_states end # メソッドを呼び戻す rx_rgss2bo23_start_party_command_selection end end