[FE8] Manually boost stats

Hard mode bonuses, lol.

Those are a bit too random for my taste.

Alrighty, here you go. Instructions are included with the download but I’ll paste them here:

    How to Use:
    -Paste write the contents of "ManualStats.dmp" to an offset divisible by four within some area of free space.
-When you want to change a unit's stats, use the following codes:

_SETVAL 0x1 CharacterID            Write the ID of the character to be targeted here.
_SETVAL 0x2 Stat            Write the stat(s) you want to change
_SETVAL 0x3 Amount            Amount to change the stat(s) by. Can be negative.
ASMC Offset+1                Use the offset you pasted the code to, +1

Special values for character ID can be used to target entire factions instead, as listed:
0x00000000: All units
0xFFFFFFFF: All player units
0xFFFFFFFE: All enemy units
0xFFFFFFFD: All NPC units

Accepted values for stats are:

0x0: Current and Max HP
0x1: Max HP
0x2: Strength
0x3: Skill
0x4: Speed
0x5: Defence
0x6: Resistance
0x7: Luck

0xFE or 0xFFFFFFFE: All of the above
0xFF or 0xFFFFFFFF: All of the above except HP

0x8: Constitution
0x9: Movement

So, if I wanted to increase Ephraim's strength by 6, and the code was pasted to 0xB2A610, I'd write the following:

_SETVAL 0x1 0xF        Ephraim's ID
_SETVAL 0x2 0x2        0x2 for Strength
_SETVAL 0x3 0x6        Increase by 6
ASMC 0xB2A611
    
    So, if I wanted to increase Ephraim's strength by 6, and the code was pasted to 0xB2A610, I'd write the following:
    
    _SETVAL 0x1 0xF        Ephraim's ID
    _SETVAL 0x2 0x2        0x2 for Strength
    _SETVAL 0x3 0x6        Increase by 6
    ASMC 0xB2A611

For now, it only changes the stats of the first unit with the specified character ID, but that could be changed.
Edit: Now it can change all units with the specified character ID.

1 Like

Wow that’s… awesome. O_O
Congrats, Venno!

Yeah, having it target all the characters with the specified character ID would be useful for mass-changing enemy stats…

Okay, fixed it. Now it will loop through all units in memory and change the stats of each one with the specified character ID.

Thank you so much! :smiley:

It might be better to affect all units in a specified faction instead. Just sayin’

You know that’s a good idea! I updated the download a second time, now you can target whole factions instead of character IDs if you like; instead of writing a character ID for _SETVAL 0x1 you’d write:

0x00000000: All units
0xFFFFFFFF: All player units
0xFFFFFFFE: All enemy units
0xFFFFFFFD: All NPC units

I love you guys XD
Ok time to script mah army of blessed knights with 7 mov

@Venno, does this cover negative boosts? Like, if I wanted to decrease someone’s stats instead of increasing them, what should I do?

just subtract from 0x100 or 256d

256-1=255d or 0xFF
256-2=254d or 0xFE
256-3=253d or 0xFD
256-4=252d or 0xFC
256-5=251d or 0xFB

and so on

Thank you very much, Bren!

However, @Venno , two things:

  1. I’ve tested it and it’s actually 0x8 = Mov
    and
    0x9 = Con

and not the opposite…

  1. It appears I can’t decrease Con nor Mov this way. Is this fixable?
    Any other stat can be increased or decreased at will.

Why would you use those numbers instead of their actual indices in the struct

And no, the con and move are loaded from the class data . You’d have to edit how the game treats con and move

Dang :frowning:
I was already dreaming of removing Mov from bosses sitting on thrones or enemies that won’t move until their AI changes… oh sigh.

Ah thanks for pointing that out, I’ve fixed it now.

For the boss thing you could always just make a custom class and set the classes movement to 0 if you were just going to do the same thing manually. Assuming you have room for the class to exist. If you want the boss to start moving later due to an event you can just remove and reload them in a version of the class with movement.

I was doing that until I noticed that by suspending/resuming the game, classes with 0 mov magically gain their mov back

I just tested it and setting the con and move bonuses to negative numbers does in fact reduce con and movement but the display in the stat screen is wrong

Side-note to this, but that might be better as a separate hack to display Mov as 0 if AI byte 4 is set to 0x20 (like FE7x). Then, all enemies that don’t move would display 0 and you wouldn’t have to run events or clone class shenanigans to get the desired effect.

I believe this may be because suspending the game doesn’t save the sign bit of stats…