Jump to content

Making units sit out a chapter if they die


JFierce
 Share

Recommended Posts

Lol damn, I edited this before I found Burning posted because I wasn't expecting an answer so fast. Hold on.

To sum it up I asked if I could make it so someone dies they lose money and get revived next chapter.

Then I asked if it's possible to make an NPC merchant outside of a shop tile.

I think the NPC merchant is a maybe because it's very dependent on some things. Going to look into that.

----------------------------------------------------------------------------------------------------------------------------

My newer question I'm going to put here. Since I couldn't delete, I kind of thought up some possible answers to my original question but thought up a new one at the same time. But basically my friend who's working on a hack with me thought of something which is basically making it so if your character dies you can't use them the next round. So you lose money and character can't be used for the next chapter. They're alive but can't use them. Trying to make it so I can use more characters for dialogue without putting a ton of optional "if this character is alive" branches to text. Since if you notice Fire Emblem is always centered purely around the main character and characters who aren't in battle for primary dialogue.

I was thinking this was possible if I at the end of every chapter had an event check if a unit was dead. (I'd also maybe use a condition branch and perma ID's for optional characters not sure). If he's dead UNCM 0x05 I believe it was that removes them from the prep screen. Then once the next chapter starts. Place them all back into existence and revive them. So you therefore can't pick him in the prep screen until he's revived which only happens once the chapter is under way .

Edit: Actually.... if they're dead .... they wouldn't show up in the prep screen anyways.... so could just simply revive the character once the chapter starts past the prep screen. That would probably be very simple...

Is my reasoning right in this or is there a flaw that I'm not seeing. I'm not at a point where I've used the preparations screen yet so I can't really test it. Might have to use some Perma IDs to test it in the meantime or something.

Edited by JFierce
Link to comment
Share on other sites

You could probably do most of what you said without *too* much trouble using basic assembly. Granted, assembly within itself is generally considered difficult and obscure, so... >_>;

The main issue from what I see would be trying to activate the shop without a tile. It could be easy, it could not, I don't really know.

Makes me wonder what would happen if you put a shop event in say, the character events, and then tried to talk to a unit... rofl yeah I don't think that would work, the character events section, TMK, just checks for any events listed there if you've met a certain condition, but the actual talk event which makes the talk command available is... idk, there needs to be some research done, I don't feel like hypothesizing anything. Trial and error is needed XP

Link to comment
Share on other sites

I have something similar planned for my FE1 remake. Units are brought back into life by running a simple UNCM code.

CasualMode:
UNCR Caeda 04
UNCR Abel 04
UNCR Jagen 04
UNCR Cain 04
UNCR Draug 04
UNCR Gordin 04
ENDA

However, this is lacking the "sit out the next chapter" bit. I'm not quite sure how we'd do that, though. One possibility would be to run this code on the first turn of the map (bypassing the prep. screen), so that the units would still be counted as "dead" when selecting units. I'm not sure how effective that'd be, or if the game would even remember the dead unit's stats after the chapter they died in.

The other idea I had would require some ASM work. Nintenlord has a "character banner" patch. Running the CasualMode-style event at the end of each chapter, units would be revived before the start of the next one. If we could run a check on which units died in the chapter before reviving them and have it create a list of character values, we could point to the address of this list with Nintenlord's character banner hack. It...might work? I'm not much of a programmer, I just fiddle with eventing. It seems all we need is a dynamic list, but I'm probably just ignorant in saying that :P:.

Link to comment
Share on other sites

lol trust me I'm open to any suggestions and happy for the input.

I'm fiddling now with my pre-prepscreen testing then once I add my prepscreen I'll add that.

Right now I'm giving every optional character recruited a perma ID number. and every character a perma ID to signal they died.

Very first chapter simple enough. Checking if the character who is Raven is dead, if he is it triggers perma event 67. It triggers 66 if he's recruited so I need to test to make sure my condition works

Ending_event:

//***********************Checking if dead start

IFCD 0x55 Raven // renamed Scottie

ENUT 0x67

ENUN

ENIF 0x55

IFCD 0x56 Dart

ENUT 0x68

ENIF 0x56

//***********************Checking if dead end

Then in the next chapter so far only testing raven to make sure I got the conditions right. Simple enough though.

//DIALOGUE AND SCENE GOES HERE

REMA

LOU1 Good //Loadunit

ENUN

IFET 0x01 0x66

ENUN

IFEF 0x02 0x67

LOU1 Scottie

ENUN

ENIF 0x01

ENIF 0x02

ENUN

Realize might need to make a separate summoning for every character that could die.

(Once again this is pre-preparation screen where it's manually summoned)

But that seems to work to simply tell if the unit is alive or dead and summon him if he's not dead. Then at the end of the chapter revive everyone, then at the very least use the Perma ID that signals if the character is dead to after reviving him inflict the condition 0x05 on him from this bit in the obscure hacking thread: It at least says it could be applied to make character reappear in later chapters. So I hope it could have this application.

UNCM/UNCR Code

0x00 = Normal

0x01 = Invis

0x02 = Greyed out

0x04 = Not in the status menu or unit data

0x08 = The same as 0x04 apparently

Adding values together = Adding effects together

0x01 + 0x02 = Invisible greyed out(0x03) - Sorta useless imo

0x01 + 0x04 = Invisible and not in status or unit data menus(0x05) - essentially they vanish entirely, but are still there, seems legit, could be used to make unit literally vanish for a few chapters and then re-appear later on

0x02 + 0x04 = Greyed out and not in status or unit data menus(0x06) - again, seems worthless, but hey, if that's your thing...

0x01 + 0x02 + 0x04 = Invisible, greyed out, and not in status or unit data menus(0x07) - This doesn't seem logically useful in any situation either, but hey, it works!

Most of the work was done by blazer, I just took the notes and shit

Then remove the condition once the next chapter starts.

That is also a concern since I haven't messed with preparation screens yet. I'm hoping I can put in an event after the preparation screen, during the starting turn events that does this.

I could stick with a perma ID for each character after the prepscreen is implemented but A) I don't know if there's a limit to how many there are and B) it would be much easier if I could just make the characters disappear end of the chapter then just use a simple event that removes the invisible nonexistant status at the start of the next chapter for all characters. I imagine this wouldn't affect existing characters on the map since they wouldn't have the status in the first place.

Hopefully all this works. Because I kind of like the idea and the possible implementations.

Edited by JFierce
Link to comment
Share on other sites

i was thinking you could check each character manually with IFCD

and then if they're dead, revive them but also use whatever code it was that deleted them from the prep screen (UNCR 0x2 i think?)

The problem is, it'll be hard to load them all into the next chapter dynamically without asm (even if you undelete them)

Edited by CT075
Link to comment
Share on other sites

Curious what you mean by dynamically. I planned on having battle prep on after I think chapter 4 in my hack so it wouldn't be long without it. So wouldn't the units be loaded in through battle prep?

Though.....Actually I can make another thread for this if necessary (just give the word)but I was curious how you even load units with battle preparations. I haven't seen any thread on it or in any tutorial besides how to access it, so I'm assuming it's either really easy and obvious or I missed something in the docs.

I disassembled CH 25 and it looked like a normal load screen.

Is it something like every unit there indicates a tile they COULD be placed on?

AllyUnitsENM:

UNIT 0x1 0x1 0x0 0x79 [10,10] [10,10] [0x3,0x9,0x0,0x0] [0x0,0x0,0x0,0x0]

UNIT 0x2 0x3 0x1 0x71 [11,10] [11,10] [0x1F,0x28,0x26,0x0] [0x0,0x0,0x0,0x0]

UNIT 0x2D 0x2 0x1 0x61 [9,10] [9,10] [0xA,0x1,0x5,0x0] [0x0,0x0,0x0,0x0]

UNIT 0x5 0x13 0x1 0x31 [10,16] [10,16] [0x20,0x28,0x2E,0x0] [0x0,0x0,0x0,0x0]

UNIT 0xE 0x1B 0x1 0x19 [9,17] [9,17] [0x2C,0x2D,0x33,0x0] [0x0,0x0,0x0,0x0]

UNIT 0x13 0x20 0x1 0x81 [11,17] [11,17] [0x38,0x39,0x0,0x0] [0x0,0x0,0x0,0x0]

UNIT 0x16 0x26 0x1 0x9 [12,17] [12,17] [0x44,0x45,0x4A,0x0] [0x0,0x0,0x0,0x0]

UNIT 0x30 0x2A 0x1 0x9 [10,18] [10,18] [0x14,0x3,0x1C,0x1F] [0x0,0x0,0x0,0x0]

UNIT 0x19 0x28 0x1 0x89 [9,19] [9,19] [0x14,0x3,0x1C,0x0] [0x0,0x0,0x0,0x0]

UNIT 0x1B 0x2C 0x1 0x69 [10,19] [10,19] [0x4A,0x4B,0x4F,0x6B] [0x0,0x0,0x0,0x0]

UNIT 0x31 0x32 0x1 0x71 [17,15] [17,15] [0x14,0x16,0x1C,0x0] [0x0,0x0,0x0,0x0]

UNIT 0x20 0x34 0x1 0x61 [16,16] [16,16] [0x14,0x16,0x1C,0x0] [0x0,0x0,0x0,0x0]

UNIT 0x23 0x3C 0x1 0x59 [17,17] [17,17] [0x1,0x6A,0x0,0x0] [0x0,0x0,0x0,0x0]

UNIT 0x25 0x40 0x1 0x41 [18,17] [18,17] [0x6C,0x6C,0x0,0x0] [0x0,0x0,0x0,0x0]

UNIT 0x6 0xE 0x0 0x21 [18,18] [18,18] [0xD,0x1,0x0,0x0] [0x0,0x0,0x0,0x0]

UNIT

Edited by JFierce
Link to comment
Share on other sites

dynamically meaning that it'll update and isn't fixed into hardware data

the issue is that you can't have a static loading character list (from what i gathered you want these characters to take to the field after they're revived?) without mucking something up i think (i don't remember what happens if you try to load a unit already on map)

what you'd need is a list of characters to load that changes based on who is dead or not

prep screen is basically "the positions of the units in 'Good' determine the squares that units can be placed on in the prep screen"

Link to comment
Share on other sites

Edit :

Kind of got it working already. For Prep screen maps. You simply revive them before the chapter ends, then they appear in the Battle Prep next chapter.

So this brings up the point of does this work if the unit wasn't fielded that chapter. That is the question. Testing that now.

Edit Edit:

I put my character who is Raven in the prologue, let him die. Revived him at the end of Chapter 1. He showed up in the Battle Preparation of Chapter 2.

I didn't test this with manually inserting but I imagine it's the same since it allowed me to insert someone who died in the same chapter already.

Unless I'm missing something this is much easier than I thought. Doesn't matter what chapter they're in as long as you field them one time as an ally they show up in Battle Prep as long as they still exist. If you revive them they show up, still have their items, still have their stats as far I know, at least the EXP is the same. He had 3 and he was attacked 3 times with no attacking back. I don't know about level up stats though. I'm guessing it's still the same though, doesn't make any sense why those would reset. And I loaded my character before who did level up and he kept his stats outside of battle prep.

------------------------------------------------------------------

So I guess I'll write the solution to my problem out in case anyone else may want to use it.

If you want a character to show up in battle prep you have to field them as an ally in one chapter beforehand once as it says in Blazers tutorial. You can revive them at any time after that and they show up in the Battle Prep again from my experience.

Once again an example I edited my prologue to have Raven appear, had him killed by enemies. Revived him at the end of Chapter 1 where he wasn't even on the map once. He then appeared in the Battle prep for Chapter 2.

Simple UNCR Raven 04 was all it took.

To do it manually without battle prep for specific characters I'm just using a condition branch gave a Perma ID to optional characters for a trigger to say they were recruited or not. Then gave them another that is activated if they're dead or not. Each character in the chapter has their own Unit and LOU1, minus the Lords who can't die anyways without game over. If the condition is successful and shows they're alive and recruited they get loaded on the map.

Either way if it's a battle prep map or not probably on the first turn or something simple I plan on adding an event that revives the character and if a manual map then reverses their Perma ID for death to unused.

Should be as simple as that. Then next chapter they'll show up.

Edited by JFierce
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...