lunariafantasia/Scripts/_.62.rb
2024-01-12 03:12:38 -06:00

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