FE7 How to make a character other than Lyn/Hector/Eliwood the main lord?

In a hack that I am working on, Legault is my main character. However, I am unable to use the seize command because even if I give him the “lord” character ability in Nightmare, the game does not recognize him as the main lord. For a chapter I am working on I need Legault to be able to use the seize command. Is there anyway I can get the game to recognize him as the main lord?

For what mode? Lyn, Eliwood, or Hector?

I think technically Lyn mode. Although I turned off all the tutorials and everything. Also, thanks to this thread I now know how to make the game be in either Lyn/Hector/Eliwood mode. ([FE7] Force the Game To Start In A Mode). But I would like to make a character that is neither of those 3 the main lord. Actually, I don’t need them to be the main lord, I just need to make a character that is not one of those 3 able to seize. I want Legault to use the seize ability in one of my chapters if possible.

So your question is can one make a non-Eliwood/Hector/Lyn character use the seize ability?
Ugh.That sounds ASMy.

Does Legault show up as your leader in the status window in the ROM?

An alternative that I think would work would be to make sure your hack has only one mode, force it into Eliwood mode, and switch Legault’s and Eliwood’s characters. Legault should be able to seize as the game will be ‘tricked’ into thinking he’s Eliwood.

Actually, that’s the work around I have already done. Accept I replaced Lyn_tutorial’s character with Legault. That has allowed me to be able to seize, although there is one weird glitch. In that chapter I also have Wil. And for whatever reason, the game thinks that Wil is my leader. At the start of every turn the cursor goes to Wil, on the status window Wil is displayed. Yet Legault is the one with Lyn’s character ID. And Legualt is the only character that can seize (not Wil). Yet, the game still thinks that Wil is the leader. (This is Wil tutorial by the way).

May I propose a solution?

So you want a certain character to seize a space in a chapter? Instead of giving that character the ability to seize, why not construct an AREA event on that space instead?

AREA ID *Event Pointer* [Corner 1 X, Corner 1 Y] [Corner 2 X, Corner 2 Y]

Just set the Corner 1 X,Y the same coordinates as the Corner 2 X,Y (the space you wanted to seize). It can look something like this:

AREA 0x11 LegaultSeizes [16,7] [16,7]

This way, the event you want to occur when seizing a space can occur when a character waits on that space instead. To control which character activates the event, you can use the conditional code IFCA in your event.

IFCA 0x00 *Conditional ID* Character

This will check and see if a certain character is activating that event. Following the earlier example, you could format a “seize” event using Legault.

LegaultSeizes:
IFCA 0x00 0x01 0x36  //Checks if character 0x36 (Legault) is on the space
{insert stuff to happen here}
ENUT 0x11 //Marks event ID 0x11 (LegaultSeizes) used
ELSE 0x02 //What if someone else is on the space?
ENIF 0x01 //End of first check
ENUF 0x11 //Marks event ID 0x11 unused so it can try again
ENIF 0x02 //End of second check
ENDA

This way, you can have only Legault activate the event on that space. Anyone else who gets on that space will not activate the event, so Legault can still activate it. I know it’s not as glamorous as being able to seize, but it should have the same effect. Just have a warning in the chapter that Legault has to wait on that space. I hope this helps in any way.

For more help with conditional events, I recommend checking out Arch’s Guide to Chapter Construction.

EDIT: I would use this method if you are constructing your own chapters. If you are just editing an existing chapter, this may not work. Also, you may not want to put a SEIZE event on top of an AREA event. Unwanted results might occur.

1 Like

its probaly just a matter of changing 1 byte in the seize check routine

1 Like

Thanks for this suggestion! I am familiar with conditionals, and I think this is a great work around. Also, Thanks for writing the code that is really helpful.

I still have the other issue of the game thinking that Wil_tutorial is the leader. I really have no idea why the game insists on that. Even when I replaced Lyn_tutorial’s character with Legault’s the game still thinks that Wil is the leader. Wil is technically the first unit I load up in the first chapter, could that have anything to do with it?

Yes. Since Wil is the first unit loaded, he is treated as the main character on the status screen and on the map.

EDIT: By loaded, I mean loaded into the game.

Interesting. But yeah, loading Legault first made him recognized as the Leader. (I just tested this)

Thanks everybody. My 2 main issues have basically been solved. I am a bit surprised that making a character other than the 3 main lords use the seize feature would require ASM. But nonetheless, I found good work arounds. Once again, thanks for helping me out.

The AREA event solution sounds pretty good. I think a late FE7 chapter did that. The one that had three different castles to seize? I think that’s the one where you get Farina.
My concern is that the player would be confused without a seize location event. Just make sure the player understands the mechanic and knows where the seize point is.

By the way, I don’t think you would need the ENUT 0x11 code in your example. Correct me if I’m wrong, but triggering the AREA event already automatically uses the event ID 0x11.
Actually, I’m not sure why you would need to mess with event IDs period. If it’s a seize event, you can go straight to the ending event. I would make the event ID 0x00 in the AREA event and remove the ELSE condition.

For Lyn mode, just change 348CE from 0x3 (Lyn’s character id) to Legault’s character id. You certainly can do area events for every single seize chapter, but why would you if it’s not necessary?

1 Like

When I read through this question, I interpreted that Zalor wanted a person other than a lord to seize for one specific chapter. If you want to turn a character into a lord to seize for multiple chapters, then make that character be able to seize. If you want one character that could not seize to seize for one chapter, then I would use AREA.

@ Snakey1

Yeah, ENUT does seem unnecessary (since the event should mark itself used), but it is harmless nonetheless. It can be removed if you do not want to use it. I just wanted to be safe. Also, the conditional check is necessary in order to prevent enemies from triggering it (so you can still have a boss on the space for you to defeat like you do with SEIZE spaces).

@Tequila

There are some pluses to using AREA over SEIZE. While SEIZE works for any unit who can seize without conditional codes, AREA can work for any character you want (especially if you are making a chapter without any characters who can seize). Also, AREA is independent of game modes. No matter what mode you play in, AREA will still do what you tell it to.

1 Like

Sure, but it’s quite easy to write an assembly routine to do that as well.

1 Like

The ENUT won’t do any harm whatsoever to your chapter, but in the interest of saving space in your ROM, it really doesn’t need be there.
The IFCA is necessary. I agree, but the ELSE is only necessary if you have an event ID attached to the AREA. I’m just saying that if it’s a seize event, I don’t see why you would need an event ID on the AREA in the first place.
I think this point is moot, though. Just follow @Tequila’s advice and change 0x8348CE to 0x36.
Actually. 0x36 just happened to be my main character slot for my Ragefest. What a coincidence.

1 Like