Venno's small ASM hacks and notes

Yeah, there were two major mistakes with my code - the weapon rank of the weapon wasn’t loaded properly for non-either/or checks, and there was a mislabeled branch that caused an infinite loop. I’ve updated the download, try re-installing it. Sorry for the trouble.

Actually hold on, it’s still crashing.

OKAY, I think I’ve fixed it for real this time. Redownload, reinstall and try it again Mikey_Seregon, it should be clear of my stupid mistakes this time.

I tested it, it works perfectly with ally units (Using 0x0B), while on enemies… it doesn’t allow the enemies increase their weapon levels:

They can’t get more than E rank.

EDIT: Never mind, it get stuck in rank E if you put a E rank weapon that it can’t use on his inventory.

Set the normal weapon rank in nightmare. Although @Venno, it might be worth looking at where the game autolevels the enemy’s weapon level.

For those of you looking to alter the global MOV cap of 15, refer to these locations:

$08017D1E,$08017D26: Maximum MOV value a MOV-boosting item can take you to; default is 15

$0807FFA0: Maximum MOV; also defines how long to draw the MOV stat bar in the character screen. Higher values than 30 are possible, but don’t look quite right.

This lets you double or triple the movement values for all classes and for all terrain movement data, which allows you to make movement values by class and terrain movement costs rather more granular. It’s important that you scale movement costs with class move; a unit that can move ~20 squares causes serious pathfinding glitches.

To make a unit’s items droppable, FE7 checks a bit in the unit’s character data - meaning you need a separate character slot for a a unit that drops its last item. If you paste the following hex to 0x17826, the game will instead check to see if the unit has bit 0x40 set in AI Byte 4 in unit data, similar to FE8’s system. So if you wanted a unit to guard a tile (0x20) and drop its item, you’d set 0x60 as their AI byte 4.

201C4130007840210840000000000000
4 Likes

Hm. Looks interesting. Is there any way to give a unit a move penalty (like an anti-boots or something) without glitching the graphics?

legennnnnd

Yes…but at the moment negative stat boosts from items don’t display properly. The graphics are there for Rescue penalties, but you’d have to modify the stat boost routine to take advantage of that.

The offsets for the rescue penalty are given in the “sick” status thread, or at least for FE8. The arrows are drawn with a simple x-y parameter, it seems, and it just modifies the displayed stat.

You know how in FE9 and the DS games support points were gained simply by deploying units together? Now in FE7 you can do the same thing! Just make the following changes to your ROM, and all compatible pairs deployed on the map will have their support points go up by the normal amount once, at the beginning of the chapter.
FE7:
-0x026948: Paste write 000004E0
-0x0268A6: Paste write 6DD1

FE8:
-0x0284E4: Paste write 000004E0
-0x028442: Paste write 6DD1

Alternatively, if you just want units to gain support points for being within a range of each other rather than only being adjacent, make the following change:

FE7:
-0x026948: Paste write 0328 04DD; the 03 is the maximum distance from which pairs can gain support points

FE8:
-0x0284E4: As above

I also have plans for a system in which units can gain support points both for being deployed together and for being adjacent, but that’s a bit of a longer-term project.

8 Likes

Venno, I just tried this out now and it doesn’t seem to work? It doesn’t display the droppable green text nor does any item drop when the unit is killed.

I just tested it out on a clean ROM, pasting the hex at 0x17826 and giving units 0x40 as their AI byte 4, and it woks. You’re certain you’re following those steps exactly?

We followed this up on Skype just now, but for those of you wondering, the hack will only work for units that are spawned as enemies, and not NPCs that turn into enemies. This may have been a no-brainer for some of you… but clearly not all of us :stuck_out_tongue:.

Been a while since I’ve touched this page, eh? This new thing will allow a single chapter to display two different objectives in both the goal box at the corner of the screen, and the text in the status screen. If you trigger Event ID 0x05, the goal box and status screen text will increase their text pointers by one (so index 0x0C70 will be read as 0x0C71).

Currently only for FE7, but a FE8 version could be easily made upon request.

Download

2 Likes

For Fe6 - a hack that gives weapons individual WExp values like the later games. Unfortunately, the WExp data has to be stored in a separate table, but oh well. Instructions are in the download, and in the Serenes thread.

Download

Something for FE8 again, this new hack lets characters have custom animations like in FE7, and can account for branched promotions (eg if you wanted a Cavalier to use a custom Paladin animation but use the default Great Knight animation). Instructions are in the download as always.

Link

3 Likes

The default Event Assembler raws don’t cover some commands used in FE8’s Valni and Lagdou chapter events (randomized chests and the postgame check in particular) and would crash when trying to assemble or disassemble them; this download contains fixed raws that let you edit all of these chapter events without issue. Copy the contents over the ‘Language raws’ folder in your EA installation.

Download

“New” commands are:
_0x2B21
_0x2B22
_0x192A (postgame check)
CHESRANDOM

Also included is an ‘ExperimentalFE8new’ raw file. This contains more descriptive names for some of the commands but consequently breaks compatibility with existing event files, so it’s its own thing. Add the .txt extension if you want to use it (and delete ‘experimental_fe8’), or just delete it if you don’t plan on using it.

3 Likes

@Mikey_Seregon, I figured out what was causing your problem with generic enemy weapon ranks…when autoleveling an enemy, if the game determines that a unit can’t wield a weapon that has no locks and is of a weapon type they have a nonzero weapon rank in, it will set their rank in that type to the weapon’s rank.

The check for whether a weapon had no locks didn’t account for my lock system, so, assuming that the unit just didn’t have a sufficient weapon rank, it would overwrite the unit’s weapon rank with the rank of the array-locked item…which could lower your weapon rank.

Anyway, to fix this make the following change:

FE7:
-$17ABC: Replace 00 3C 3D 00 with 00 3C 3D FF

FE8:
-$17FC0: Replace 00 3C 3D 00 with 00 3C 3D FF

2 Likes

Is it possible to have an FE8 version of this? :slight_smile: I’ve always found it obnoxious that units needed to be in adjacent tiles to get support points in GBA FE.