73 lines
2.9 KiB
Ruby
73 lines
2.9 KiB
Ruby
#==============================================================================
|
|
# ■ Game_Battler
|
|
#------------------------------------------------------------------------------
|
|
# スプライトや行動に関するメソッドを追加したバトラーのクラスです。このクラス
|
|
# は Game_Actor クラスと Game_Enemy クラスのスーパークラスとして使用されます。
|
|
#==============================================================================
|
|
|
|
class Game_Battler < Game_BattlerBase
|
|
#--------------------------------------------------------------------------
|
|
# ● オブジェクト初期化
|
|
#--------------------------------------------------------------------------
|
|
alias state_use_after_initialize initialize
|
|
def initialize
|
|
reserve_state_init
|
|
state_use_after_initialize
|
|
end
|
|
#--------------------------------------------------------------------------
|
|
# ○ スキル/アイテム使用後付加ステートの初期化
|
|
#--------------------------------------------------------------------------
|
|
def reserve_state_init
|
|
@reserve = nil
|
|
end
|
|
#--------------------------------------------------------------------------
|
|
# ● スキル/アイテムの使用
|
|
# 行動側に対して呼び出され、使用対象以外に対する効果を適用する。
|
|
#--------------------------------------------------------------------------
|
|
alias state_use_item use_item
|
|
def use_item(item)
|
|
state_use_item(item)
|
|
item_use_add_state(item)
|
|
end
|
|
#--------------------------------------------------------------------------
|
|
# ○ スキル/アイテム使用後にステートを付加予約
|
|
#--------------------------------------------------------------------------
|
|
def item_use_add_state(item)
|
|
@reserve = item.use_state if item.use_state
|
|
end
|
|
#--------------------------------------------------------------------------
|
|
# ● 戦闘行動終了時の処理
|
|
#--------------------------------------------------------------------------
|
|
alias state_on_action_end on_action_end
|
|
def on_action_end
|
|
state_on_action_end
|
|
if @reserve
|
|
add_state(@reserve)
|
|
@result.success = true
|
|
end
|
|
reserve_state_init
|
|
end
|
|
#--------------------------------------------------------------------------
|
|
# ● ターン終了処理
|
|
#--------------------------------------------------------------------------
|
|
alias state_on_turn_end on_turn_end
|
|
def on_turn_end
|
|
reserve_state_init
|
|
state_on_turn_end
|
|
end
|
|
#--------------------------------------------------------------------------
|
|
# ● 戦闘終了処理
|
|
#--------------------------------------------------------------------------
|
|
alias state_on_battle_end on_battle_end
|
|
def on_battle_end
|
|
reserve_state_init
|
|
state_on_battle_end
|
|
end
|
|
end
|
|
|
|
class RPG::BaseItem
|
|
def use_state
|
|
return $1.to_i if self.note =~ /\<使用後ステート:(\d+)\>/
|
|
return false
|
|
end
|
|
end
|