#==============================================================================
# ■ 强制执行战斗事件 by Calendar99
#------------------------------------------------------------------------------
# 使用方法:
# 在事件脚本中使用force_event(n)来强制执行当前敌群第n页的事件内容
#==============================================================================
module BattleManager
def self.force_event(page)
@event_force_hash ||= {}
@event_force_hash[page] = true
end
def self.release_event_force(page)
@event_force_hash ||= {}
@event_force_hash[page] = nil
end
def self.event_force?(page)
@event_force_hash ||= {}
@event_force_hash[page]
end
end
class Game_Troop
#--------------------------------------------------------------------------
# ● [别名修改]判定战斗事件(页)条件是否符合
#--------------------------------------------------------------------------
alias conditions_met_for_forcing_event? conditions_met?
def conditions_met?(page)
page_num = troop.pages.index(page) + 1
if BattleManager.event_force?(page_num)
BattleManager.release_event_force(page_num) # 解除强制执行
return true
else
conditions_met_for_forcing_event?(page) # 原方法
end
end
end
class Game_Interpreter
#--------------------------------------------------------------------------
# ● [追加]强制执行战斗事件
#--------------------------------------------------------------------------
def force_event(page)
return if !SceneManager.scene_is?(Scene_Battle)
BattleManager.force_event(page)
end
end