Note that it’s a holiday weekend in the US, I’ve been drinking the heat away, and my advice may not be sound or easy to understand as a result, BUT:
You’ve already got this half-figured: That second line, where you’re setting Lucia’s ID number, is pulling the actor ID of the first party member - in other words, the leader - not the first actor in the game.
So, set the Current Leader variable to Actor ID of party member #1 rather than using that bit of script - I don’t even think that’s a valid call, to be honest.
Actor IDs, on the other hand, are static: If Lucia is Actor 001 in the database, that’s going to be their Actor ID no matter where they are in the party lineup or even regardless of if they’re in the party or not.
So assuming your setup is that Lucia is Actor 0001, Rhoncra is Actor 0002, etc. on down the line, you’d want to just compare it to a Constant number:
Control Variables: #0012 = Actor ID of party member #1
If: Current Leader = 1
- Common Event: Lucia Mirror
-
Else
- If: Current Leader = 2
- Common Event: Rhoncra Mirror
… and so on down the line.
As for your cutscene dilemma: Switches and Event Pages are your friends. Higher-numbered pages (pages further to the right) in an event take priority over lower-numbered pages, and each page has its own set of activation conditions, run types and priorities, even its own image.
Have your cutscene turn on a switch when it’s finished, and give the altered events high-priority page(s) as necessary that have that switch as a Condition. In these event pages, alter the character images, dialogues, etc. from the lower-priority pages as needed.
Characters that’ve been moved from an action prove to be a bit more difficult to handle, because a separate event page doesn’t have its own map position - it’ll still load at the same spot each time the map is loaded. There are two decent solutions to this:
-
Create a new event at the final location of the moved event, with each of its pages having the cutscene switch as a Condition. To prevent both the old and new version of the event appearing at the same time, add a new Event Page in the original event (make sure it’s the highest-numbered page), and leave it blank other than having the cutscene switch as its condition. This replaces the old version with a blank event once the cutscene finishes and turns on the switch, which also tells the new version of the event to display itself.
-
Create an autorun event with the cutscene switch as a Condition, and uses the Set Event Location command on each event that needs moving, then uses the Erase Event command on itself. Despite being called Erase Event, it just removes it from the map for this load - it’ll still load again the next time the map is loaded, but you need to do something to stop it from running continuously without stopping it from running again in the future. To be frank, I think this is a messier solution than the above, but it does prevent map clutter if you’re careful in how you use it.