mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-08 05:34:58 +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
|
@child_interpreter = nil # child interpreter
|
||||||
@branch = {} # branch data
|
@branch = {} # branch data
|
||||||
@buttonInput = false
|
@buttonInput = false
|
||||||
|
end_follower_move_route
|
||||||
end
|
end
|
||||||
#-----------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------
|
||||||
# * Event Setup
|
# * Event Setup
|
||||||
@@ -109,6 +110,9 @@ class Interpreter
|
|||||||
for event in $game_map.events.values
|
for event in $game_map.events.values
|
||||||
return if event.move_route_forcing
|
return if event.move_route_forcing
|
||||||
end
|
end
|
||||||
|
$game_temp.followers.each_follower do |event, follower|
|
||||||
|
return if event.move_route_forcing
|
||||||
|
end
|
||||||
@move_route_waiting = false
|
@move_route_waiting = false
|
||||||
end
|
end
|
||||||
# Do nothing while waiting
|
# Do nothing while waiting
|
||||||
@@ -268,6 +272,17 @@ class Interpreter
|
|||||||
temp_index += 1
|
temp_index += 1
|
||||||
end
|
end
|
||||||
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.
|
# * Various methods to be used in a script event command.
|
||||||
#-----------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -126,6 +126,7 @@ class Interpreter
|
|||||||
#-----------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------
|
||||||
def command_end
|
def command_end
|
||||||
@list = nil
|
@list = nil
|
||||||
|
end_follower_move_route
|
||||||
# If main map event and event ID are valid, unlock event
|
# If main map event and event ID are valid, unlock event
|
||||||
if @main && @event_id > 0 && $game_map.events[@event_id]
|
if @main && @event_id > 0 && $game_map.events[@event_id]
|
||||||
$game_map.events[@event_id].unlock
|
$game_map.events[@event_id].unlock
|
||||||
@@ -742,6 +743,8 @@ class Interpreter
|
|||||||
#-----------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------
|
||||||
def command_209
|
def command_209
|
||||||
character = get_character(@parameters[0])
|
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?
|
return true if character.nil?
|
||||||
character.force_move_route(@parameters[1])
|
character.force_move_route(@parameters[1])
|
||||||
return true
|
return true
|
||||||
|
|||||||
@@ -56,7 +56,6 @@ class Game_FollowerFactory
|
|||||||
followers.push(eventData)
|
followers.push(eventData)
|
||||||
@events.push(newEvent)
|
@events.push(newEvent)
|
||||||
@last_update += 1
|
@last_update += 1
|
||||||
event.erase
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def remove_follower_by_event(event)
|
def remove_follower_by_event(event)
|
||||||
@@ -241,9 +240,6 @@ class FollowerSprites
|
|||||||
@sprites.each { |sprite| sprite.dispose }
|
@sprites.each { |sprite| sprite.dispose }
|
||||||
@sprites.clear
|
@sprites.clear
|
||||||
$game_temp.followers.each_follower do |event, follower|
|
$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))
|
@sprites.push(Sprite_Character.new(@viewport, event))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -320,8 +316,7 @@ module Followers
|
|||||||
# @return [Game_Follower, nil] follower object
|
# @return [Game_Follower, nil] follower object
|
||||||
def get(name = nil)
|
def get(name = nil)
|
||||||
return $game_temp.followers.get_follower_by_name(name) if name
|
return $game_temp.followers.get_follower_by_name(name) if name
|
||||||
$game_temp.followers.get_follower_by_index
|
return $game_temp.followers.get_follower_by_index
|
||||||
return nil
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user