mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-06 06:01:46 +00:00
Added def follower_move_route which makes the next Move Route event command apply to the follower instead, events are no longer automatically erased if they are followers
This commit is contained in:
@@ -35,6 +35,7 @@ class Interpreter
|
||||
@child_interpreter = nil # child interpreter
|
||||
@branch = {} # branch data
|
||||
@buttonInput = false
|
||||
end_follower_move_route
|
||||
end
|
||||
#-----------------------------------------------------------------------------
|
||||
# * Event Setup
|
||||
@@ -109,6 +110,9 @@ class Interpreter
|
||||
for event in $game_map.events.values
|
||||
return if event.move_route_forcing
|
||||
end
|
||||
$game_temp.followers.each_follower do |event, follower|
|
||||
return if event.move_route_forcing
|
||||
end
|
||||
@move_route_waiting = false
|
||||
end
|
||||
# Do nothing while waiting
|
||||
@@ -268,6 +272,17 @@ class Interpreter
|
||||
temp_index += 1
|
||||
end
|
||||
end
|
||||
|
||||
def follower_move_route(id = nil)
|
||||
@follower_move_route_id = id
|
||||
@follower_move_route = true
|
||||
end
|
||||
|
||||
def end_follower_move_route
|
||||
@follower_move_route_id = nil
|
||||
@follower_move_route = false
|
||||
end
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# * Various methods to be used in a script event command.
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
@@ -126,6 +126,7 @@ class Interpreter
|
||||
#-----------------------------------------------------------------------------
|
||||
def command_end
|
||||
@list = nil
|
||||
end_follower_move_route
|
||||
# If main map event and event ID are valid, unlock event
|
||||
if @main && @event_id > 0 && $game_map.events[@event_id]
|
||||
$game_map.events[@event_id].unlock
|
||||
@@ -742,6 +743,8 @@ class Interpreter
|
||||
#-----------------------------------------------------------------------------
|
||||
def command_209
|
||||
character = get_character(@parameters[0])
|
||||
character = Followers.get(@follower_move_route_id) if @follower_move_route
|
||||
end_follower_move_route
|
||||
return true if character.nil?
|
||||
character.force_move_route(@parameters[1])
|
||||
return true
|
||||
|
||||
@@ -56,7 +56,6 @@ class Game_FollowerFactory
|
||||
followers.push(eventData)
|
||||
@events.push(newEvent)
|
||||
@last_update += 1
|
||||
event.erase
|
||||
end
|
||||
|
||||
def remove_follower_by_event(event)
|
||||
@@ -241,9 +240,6 @@ class FollowerSprites
|
||||
@sprites.each { |sprite| sprite.dispose }
|
||||
@sprites.clear
|
||||
$game_temp.followers.each_follower do |event, follower|
|
||||
$map_factory.maps.each do |map|
|
||||
map.events[follower.event_id].erase if follower.original_map_id == map.map_id
|
||||
end
|
||||
@sprites.push(Sprite_Character.new(@viewport, event))
|
||||
end
|
||||
end
|
||||
@@ -320,8 +316,7 @@ module Followers
|
||||
# @return [Game_Follower, nil] follower object
|
||||
def get(name = nil)
|
||||
return $game_temp.followers.get_follower_by_name(name) if name
|
||||
$game_temp.followers.get_follower_by_index
|
||||
return nil
|
||||
return $game_temp.followers.get_follower_by_index
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user