# # ものまねスキル(RGSS2) #  (C)2008 TYPE74RX-T # #-------------------------------------------------------------------------- # ★ システムワードの登録:ものまね #-------------------------------------------------------------------------- module RPG class BaseItem alias rx_rgss2bo11_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_rgss2bo11_rx_extract_sys_str_from_note end end end #============================================================================== # ■ Scene_Battle #------------------------------------------------------------------------------ #  バトル画面の処理を行うクラスです。 #============================================================================== class Scene_Battle < Scene_Base #-------------------------------------------------------------------------- # ● 戦闘行動の実行 #-------------------------------------------------------------------------- alias rx_rgss2bo11_execute_action execute_action def execute_action # ★ 真っ先に(行動データが存在しない状態で) # ものまね系の「スキル」を使ったなら if @rx_active_battler_imitation == nil and @active_battler.action.kind == 1 and RX_T.check_system_word_in_sys_str($data_skills[@active_battler.action.skill_id], "ものまね") # 「様子を見る」にする @rx_active_battler_imitation = @active_battler @rx_active_battler_imitation.action.kind = 0 @rx_active_battler_imitation.action.basic = 3 end # ★ 行動データが存在し、自分の行動がものまね系の「スキル」なら if @rx_active_battler_imitation != nil and @active_battler.action.kind == 1 and RX_T.check_system_word_in_sys_str($data_skills[@active_battler.action.skill_id], "ものまね") # 自分の行動の直前に行動したバトラーの行動データを代入 @active_battler.action.kind = @rx_active_battler_imitation.action.kind @active_battler.action.basic = @rx_active_battler_imitation.action.basic @active_battler.action.skill_id = @rx_active_battler_imitation.action.skill_id @active_battler.action.target_index = @rx_active_battler_imitation.action.target_index if @active_battler.action.kind == 2 if @active_battler.actor? @active_battler.action.item_id = @rx_active_battler_imitation.action.item_id else @active_battler.action.kind = 0 @active_battler.action.basic = 0 end end end # ★ ものまね用・行動データをコピー @rx_active_battler_imitation = @active_battler # メソッドを呼び戻す rx_rgss2bo11_execute_action end end