Any ideas for this?
You can arrange your party however you wish, but the protagonist is still the lead walkabout in the caterpillar outside of battle.
Short of removing caterpillar and giving all heroes the same walkabout, I can't think of a workaround at this stage outside of extensive before and after battle scripting.
Change hero order but main hero 1st in caterpillar
Moderators: marionline, SDHawk
Change hero order but main hero 1st in caterpillar
vvight.wordpress.com
Is it really necessary that the player can change the leader's position in-battle? Otherwise, as Taco Bot said, you can just lock the leader.
Or maybe you want the 'Team/Order' menu to affect in-battle positions but not caterpillar positions? That definitely requires before/after battle scripts, and you'll also have to go through a script instead of triggering battles directly from textboxes.
Or maybe you want the 'Team/Order' menu to affect in-battle positions but not caterpillar positions? That definitely requires before/after battle scripts, and you'll also have to go through a script instead of triggering battles directly from textboxes.
Last edited by TMC on Wed Mar 22, 2017 2:00 am, edited 1 time in total.
OK, but is it necessary that the battle and caterpillar parties can be different? If you need that, then you definitely need before- and after-battle scripts. But they won't be that complex.
Last edited by TMC on Tue Mar 28, 2017 12:48 pm, edited 1 time in total.
Yes. Here are some scripts which might be what you need. They make the Order menu only affect the in-battle order, not the caterpillar party. But you need to also set up the "battle party order" array in your newgame script, and whenever a hero is added or swapped in/out. And also if you want to let the player use the Team menu to swap in/out. Hmm, maybe there is an easier way.
Code: Select all
script, save party order, global id, begin
write global(global id, hero by slot(0))
write global(global id + 1, hero by slot(1))
write global(global id + 2, hero by slot(2))
write global(global id + 3, hero by slot(3))
end
script, restore party order, global id, begin
variable(idx)
for(idx, 0, 3) do (
swap by position(readglobal(global id + idx), hero by slot(idx))
)
end
global variable(100, caterpillar party order)
global variable(104, battle party order)
plotscript, instead of battle, formation, begin
save party order(@caterpillar party order)
restore party order(@battle party order) # Assumes you've previously used "save party order(@battle party order)"
fight formation(formation)
restore party order(@caterpillar party order)
end
# Call this script instead of the "Order" builtin menu option
plotscript, instead of order menu, begin
save party order(@caterpillar party order)
restore party order(@battle party order)
order menu
restore party order(@caterpillar party order)
end