for list in normal_set do
getInfo = check_add_event(list)
if(headFlag)
headFlag = getInfo.nil?
if !headFlag
setCommandEvent(addEvent,getInfo)
end
elsif list.code !=0
if getInfo.nil?
addEvent.list << list
else
addEvent.list << RPG::EventCommand.new
$data_common_add_events << addEvent.clone
setCommandEvent(addEvent,getInfo)
end
else
addEvent.list << RPG::EventCommand.new
$data_common_add_events << addEvent.clone
end
end
def self.check_add_event(list)
if list.code == 108
comstr = list.parameters[0]
return nil unless comstr =~ EVENT_GAP_PATTERN
name = $1
switch_id = 0
switch_id = $3.to_i unless $3.nil?
trigger = 0
case $5
when EVENT_TYPE_NORMAL
trigger = 0
when EVENT_TYPE_AUTO
trigger = 1
when EVENT_TYPE_CURRENT
trigger = 2
end
return {:name=>name,:switch_id =>switch_id,:trigger=>trigger}
end
return nil
end
end
class Game_Interpreter
def event_group_call(id)
event_get = $data_common_add_events[id]
if event_get
child = Game_Interpreter.new(@depth + 1)
child.setup(event_get.list, same_map? ? @event_id : 0)
child.run
end
end
def event_group_ncall(name)
event_get = $data_common_add_events.find do |event|
event && event.name == name
end
if event_get
child = Game_Interpreter.new(@depth + 1)
child.setup(event_get.list, same_map? ? @event_id : 0)
child.run
end
end
end
class Game_Add_CommonEvent < Game_CommonEvent
def initialize(common_event_id)
@event = $data_common_add_events[common_event_id]
refresh
end
end
class Game_Map
alias :iisnow_add_event_setup_autorun_common_event :setup_autorun_common_event
def setup_autorun_common_event
nevent = iisnow_add_event_setup_autorun_common_event
return nevent if nevent
event = $data_common_add_events.find do |event|
event && event.autorun? && $game_switches[event.switch_id]
end
@interpreter.setup(event.list) if event
event
end
alias :iisnow_add_event_setup_events :setup_events
def setup_events
iisnow_add_event_setup_events
@common_events += $data_common_add_events.select {|event| event && event.parallel? }.collect do |common_event|
Game_Add_CommonEvent.new(common_event.id)
end
end