Additional Solution for Portals Puzzle:

-adding check for moving entire Portal folder into BigPortal as a possible solution to the portals puzzle, since so many people do this and get stuck here
-also fixing a somewhat obscure bug where, if you save while the solstice trio are in your party and reload the game, weird things happen when trying to remove followers.  This was mainly due to the actor equality check being based on reference instead of id, but reworked how the whole thing works anyways since now followers will walk to fill in the gaps instead of being teleported to fill them in, in the follower chain.
This commit is contained in:
GIR GIR 2022-06-23 01:18:54 -07:00
parent c9ffa05df7
commit 533dcb3589
2 changed files with 15 additions and 11 deletions

View File

@ -131,15 +131,17 @@ class Game_Party
actor = $game_actors[actor_id] actor = $game_actors[actor_id]
# Delete follower # Delete follower
unless $game_followers.empty? unless $game_followers.empty?
follower = $game_followers.pop for i in 0...$game_followers.size
$scene.remove_follower(follower) follower = $game_followers[i]
new_actor = follower.actor if follower.actor.id == actor.id
if new_actor != actor if $game_followers.size > i + 1
$game_followers.reverse_each do |follower| $game_followers[i + 1].leader = follower.leader
new_actor, follower.actor = follower.actor, new_actor end
break if new_actor == actor $game_followers.delete_at(i)
$scene.remove_follower(follower)
break
end end
end end
end end
# Delete actor # Delete actor
@actors.delete(actor) @actors.delete(actor)

View File

@ -565,12 +565,14 @@ module Script
portal_path = Oneshot::GAME_PATH + "/Oneshot/BigPortal" portal_path = Oneshot::GAME_PATH + "/Oneshot/BigPortal"
case numb case numb
when 1 when 1
return File.exists?(portal_path + "/keyB.txt") return (File.exists?(portal_path + "/keyB.txt") or File.exists?(portal_path + "/Portal1/keyB.txt"))
when 2 when 2
return File.exists?(portal_path + "/keyG.txt") return (File.exists?(portal_path + "/keyG.txt") or File.exists?(portal_path + "/Portal2/keyG.txt"))
when 3 when 3
return File.exists?(portal_path + "/keyR.txt") return (File.exists?(portal_path + "/keyR.txt") or File.exists?(portal_path + "/Portal3/keyR.txt"))
end end
return false return false
end end