Light Rune Duration

Hey man! Question. Is there a way to change the amount of turns a Light Rune lasts for?

1 Like

0802ea58 T AddLightRune
https://github.com/FireEmblemUniverse/fireemblem8u/blob/2866d6f85bb8683fd6594a2b41a9739654bfc693/src/bmtrick.c#L675

So just find the mov r0, #3 in the 0x802ea58 function if you want to change it.

I think if you’re asking a question unrelated to Eebit’s hacks that it should be in its own thread, btw.

2 Likes

Sorry, my bad. I thought they would know.

Also, uhhh… I don’t understand the code here. What part do I edit to change the duration?

Post the disassembler code if you need the exact line.

But… you sent me the code. YOU should know. I’m very confused.

struct Trap* AddLightRune(int x, int y)
{
    struct Trap* trap = AddTrap(x, y, TRAP_LIGHT_RUNE, gBmMapTerrain[y][x]);

    trap->data[TRAP_EXTDATA_RUNE_TURNSLEFT] = 3;
    gBmMapTerrain[y][x] = TERRAIN_TILE_00;

    // return trap; // BUG
}

It’s pretty easy to find the line to change:

trap->data[TRAP_EXTDATA_RUNE_TURNSLEFT] = 3;
This is the line in the decompiled source code to change.

Since fe8 was compiled into asm from c source code, you need to either setup an environment to compile code, or edit the resulting asm. This asm can be viewed in febuilder’s disassembler. Open it and paste 802ea58 into it. Then find the line mov r0, #3. If you for some reason cannot find mov r0, #3 in the code, then post the disassembled code so someone else can point it out for you. I can’t be any clearer than this; you shouldn’t really need this thorough of an explanation.

Sorry. I’m just bad with code stuff.

Change the value of 3 in this 0x02EA76 to whatever value you want.
I’ll make a patch later.

2 Likes