Question about If statements

So I want to preface this by explaining my idea. I’m wanting to make a game that has 2 parts. One short Lyn style story of 5-6 chapters involving a small group of trainee like classes. They fight the big evil and peace resumes for a few decades. Then the main story picks up with the protagonist needing to gather the heroes and fight the resurrected bad. The gimmick I’m going for is the trainees will get to choose between a few classes and then depending on the class they are will be when you can recruit them in the 2nd part.

An example would be let’s say John. He can turn into one of the military classes so well say he could be a Cavalier, Soldier or Knight. Depending on which you choose will determine whether he’ll be recruited on chapter 2-1, 2-2 or 2-3. I also want to have a back up character of that specific class that you would get instead creating replayability with your team.

So now for the question. Using If statements is it possible to have people show up based on class ID? so if class ID is knight, load john, if false then load Dave (my backup knight unit)? I’d be using either FE8 hack or Tactile to create this game

Yes you can. Please refer to the febuilder event templates.

Check class will return its result to memory slot C. You then compare this with a value (eg. 0x01 EirikaLordClass) and if it is not this value, Branch Not Equal (BNE) (jump) to a label.

If you are having trouble with this, please use the Convert Memory Slot to String patch to display memory slot values in text and have conversations in your events to assist you in debugging it.

I do not know about tactile. There’s a megathread for it which may be of relevance, though.

Thank you! I was curious if I was just trying too much on limited software but I’m glad to hear it would work. My game is just in the planning stage so I haven’t even attempted this yet.

1 Like

Sorry for the double post but I might need some clarification.

Ok, so I was messing around with this. How do you change the conditional ids and what’s in memory C from the templates?

Condition IDs are labels in your code that you can conditionally (or unconditionally) jump to.

Memory sC is the result of a function. Say you check Seth’s class - it’ll put the class id of Paladin into sC.

Perhaps you should share a pic of your event

should look somehing like this

So this is what I have typed out. The goal is to check of Ewin is a shaman. If he is then load him. If not then load Artur

When I test this out. I made Ewin a mage but he was still being loaded

Put Goto Label 9001 above Label 9000 and Label 9001 above Event End.

Right now you are doing both Load1s.

Also add ENUN after each load.

Thank you! That seemed to fix it. Tho I think I might have the commands backwards. Does what’s under the conditional only execute when the if statement is false? I thought it’s what gets executed when the statement is true.

Yes, you have it backwards. Just swap your two load commands with each other.

Branch if Not Equal (BNE)
So currently if the class is not equal to Ewan’s it jumps to label 9000 and loads pupil character instead of light mage character.

Ok that makes sense. Thank you for your help. I think I’m understanding it now.

For the conditional ID. Can I put any number for those or do they need to be above 9000? Like could I make it 8A11 or something?

yeah, labels can be whatever you want. I think some vanilla events use Label 63 as a label that goes right before the end of an event. I usually start labels at 0 but the febuilder templates use 9000

Ah perfect. Thank you. I’m understanding it all better now.

1 Like