Teq's Minor Assembly Shenanigans

FE8-Modified Crit Stuff

This hack consists of two parts.
The first part makes weapons with 255 (0xFF) crit unable to crit. They will display – on the Equipment tab of the Inventory page and while using the R-button examine.
The second part modifies items with the Negate Criticals ability (0x80 in Weapon Ability 2) so that anything that is not an item with that effect only activates if equipped. For example, if you give an iron axe this ability, and Garcia has it in his inventory but is wielding a hand axe, the crit negation will not take effect. Likewise, if you trade that axe to someone who cannot wield axes, nothing will happen.

EDIT: I modified the check for the second part. Now, it first checks if the item has the first or second bits set (weapon or tome); if yes, then it checks if it’s equipped. Items that can’t be equipped get a free pass. Doesn’t really change much, unless you wanted a staff that negates crits.

FE8-Pathfinder

This hack gives items 0xBC and 0xBD (can be changed in the EA file) the ability to modify their holder’s movement costs.
0xBC drops all traversable terrain costs to 1.
Example: Seth, a paladin, will now be able to cross forests with no movement penalty, but he will NOT be able to cross peak tiles, since he couldn’t do so normally.
0xBD makes the unit use the flying movement table.
Example: Seth will now be able to move as though he were a flying unit (obviously, terrain bonuses still apply (yes, this is ever-so-slightly OP)).
If both items are in the inventory, the first from the top will take effect.
NOTE: They don’t take into account weather conditions. If you absolutely want them to, contact me.

If you don’t want one or the other, change the item ID to one that isn’t used (0xFE or something). If you have a full item table and don’t know how to modify the .asm, contact your local wizard for instructions. It’s really easy, I promise.

6 Likes

FE8-Slayer and Weapon Effectiveness Rework

Not going to copy the readme here, because it’s rather long. Here’s the gist:

Slayer: Normally, the slayer skill is hardcoded to bishops. This part allows you to set up an array such that other classes can get in on that sweet, sweet extra damage. I’ve also included functionality to allow a class to have different multipliers against different classes.

Weapon effectiveness: This is basically a port of Venno’s effectiveness rework for FE7, which makes it easy to create different protector items like the Fili Shield. I’ve added functionality that only allows wieldable protector items to do their job when they’re wielded (staves and rings get a free pass), along with instructions on how to remove that.

In addition, thanks to Crazycolorz’s help, the EA file also sets up all vanilla class weaknesses and item effectivenesses for you, so you don’t have to rewrite everything in Nightmare. If you decide to totally ignore the readme (which you shouldn’t, because it clearly says read me) and just assemble the file to a vanilla rom, nothing should be terribly different*.

*I made two relatively minor changes. The first is that rather than having the item effectiveness multiplier overwrite the slayer coefficient, the higher value is used. Thus, bishops now get full power of Ivaldi, rather than having to use Aura. The second minor change is that Gleipnir has monster effectiveness. I hope no one minds.

Credit goes to Vennobennu.

5 Likes

When I first started learning assembly, I had one goal in mind: make the Unlock staff a mag/2-range staff.

Approximately one year, lots of tears, and a few smaller projects later, I finally finished.

FE7-Staff/Range Fix

This hack rewrites the way the game displays weapon/staff ranges; ie, the red/green squares that display how far away you can whack someone upside the head with the item of your choice. Originally, weapons that weren’t in the set of designated ranges (1, 2, 1-2, 2-3, 3-10, 3-15) wouldn’t display the range properly in the R-button examine and wouldn’t highlight the proper amount of squares, but would still be able to attack at whatever range value was input. Staff ranges were hardcoded (except Torch), and even if you figured out where that value was, there were only 3 valid ranges that would display green squares: 1, 1-2, and 1-mag/2.

Now, staffs read their range value from the 0x19th byte of the item struct, just like weapons. Note that the range byte is broken into its nibbles to be read as {min, max}. So a 1-2 range weapon has range byte 0x12.
Some new functionality has been added:

  • having a max nibble of 0 will use max{5, mag/2}. This was standard for status staves, for instance. Now, however, you can also apply this to weapons AND set the min to whatever you’d like, rather than having it be automatically set to 1. That being said, it’ll still display Mag/2 on the item’s R-button examine and the Equipment tab on the inventory screen, so if you have a minimum other than 1 (for whatever reason; I don’t judge), you’ll have to let your audience know via the description text or something.
  • setting the range byte to 0xFF will now display Total and, as the name suggests, have total (1-FF) range. I opted to not display the squares for this option, similar to FE6’s Saint’s Staff and FE8’s Latona, but there’s some…issues.

Which brings me to…GLITCHES:

  1. Total range weapons/staves will display SOME squares when selecting the target. The squares to highlight seem to be be the ones not on screen when the cursor jumps to the first target. I don’t know how to fix it, and since it’s (as far as I can tell) purely graphical in nature, I’m not too concerned about it. If you want to recreate Latona in FE7 (which I figure is the main reason someone would use total range), simply make a copy of Fortify with 0xFF range and this problem won’t even appear (since Fortify doesn’t let you pick a target).
  2. Torch had a funny glitch where, if it was the only staff in your inventory, after selecting the square to move to, the displayed squares would be blue instead of green. I came up with a fix for that, but it overrode my “do not display squares if 0xFF range” function for some reason.
  3. However, that’s not an issue, because Torch doesn’t work at 0xFF range AT ALL. I suspect the reason is because this staff is weird (I mean, they’re all weird, but this one’s REALLY weird), and I’m not willing to put in more time and energy into solving this unless someone really really really needs it (and you’d better have a damn good reason as to why you need it). Torch works fine at non-total ranges, and other staffs work fine (aside from the graphics glitch mentioned earlier) at total range, so…yeah. If you find a fix, lemme know.

To use this, patch FE7-Staff Range EA.txt with Event Assembler 9.12 or higher. If you’ve repointed the item table and/or usability table (if you don’t know that is, then you didn’t repoint it), be sure to update that in the definitions section.

This hack also makes it a lot easier to add skills that increase your range (like bows get +1 range, or something). If there’s any glitches other than the ones described here, please let me know. I did test things, but I’m relatively sure I missed something, somewhere.

FAQ:
Fe8 version when?
Soon.

8 Likes


Yeah… The game crashed for me, as shown in the video. I might just be an idiot when it came to the target pointers, but despite the ten range, the game allowed me to cast Sleep within the original range, therefore crashing the game as there is no target in range of Sleep.

1 Like

Rng displaying the wrong thing on equipment screen:

Yeah, I dunno what to make of it either. It refuses to go away. I’ll have to think about it a bit.

In regards to the (much more important) glitch, I was unable to reproduce it.

Changed sleep to 1-7 range. Here there’s no targets (it was first in my inventory).

And here it is with 2 valid targets.

Try repatching is all I can say. I’ll look into the inventory screen, though.

1 Like

FE8 version of the staff/range fix. Same glitches as the FE7 version, I’m afraid. I also didn’t get a chance to test Unlock, although it should be fine; but if it’s not, lemme know.

3 Likes

Fixed the Rng=Mg/2 glitch; if you didn’t have an equipped item, the item id was 00, which has a range byte of 00, which has a lower order nibble of 0, which meant it fell in the MAG/2 category. Go ahead and redownload it; the links should be the same.

2 Likes

Fixed another glitch where if a unit were standing on a ballista, its range would get added to the unit’s own even if the unit in question couldn’t use them, leading to possible targeting errors. Redownload if needed.

Also fixed Darrman’s problem. If you’ve used Blazer’s item usability/effect repointing patch (found here), my pointers don’t get written to the right spot. To fix this, open the EA file and in lines 13 and 32 (FE7) or 12 and 3 (FE8) change “item/TorchStaff-0x4B” to “item/TorchStaff”.

1 Like

Something I’ve been meaning to do for a while; a display growths hack.

[spoiler=“Example gif”]

[/spoiler]

There’s 3 parts to this: Stat colors, Display growths, and Talk.

Stat colors is something that Pi did in FE7, and Brendor showed off for FE8 but never released; it changes the color of the stat depending on the unit’s growth in said stat. It’s unfortunately very limited; there’s only 5 color choices. The options to configure are in the main EA file.

Display growths allows the player to press Select to bring up, well, growths. As you can see, it also displays the Metis Tome bonuses. Pressing Select will revert back to the normal stats page. Pressing Select on the weapon rank or inventory screens does nothing. If Stat Colors isn’t included, the HP label won’t display, unfortunately. I did want to make each part stand-alone, but this turned out to be too much of a hassle. If you really don’t want the different colors, there’s a way to do that, detailed in the main file.

Talk is a throwback from FE4; it shows any conversations the character can have. It will only display them if a) the event hasn’t occurred yet, and b) the recipient is present on the map. Otherwise, it’ll display —. This way, you can still have reinforcements that are recruitable without giving away the surprise ahead of time. As noted, you’ll need to provide your own text ID; the menu option has a space in front of it, as you can see in the gif, and it just looks bad. Currently it still says Affin (and the R-button text id will need to be changed as well). The affinity icon, in case you didn’t notice, has been moved next to Aid and the mounted icons. If you can think of a better place to put it, let me know!

Patch with EA 10.1.

13 Likes

“minor”

2 Likes

Hoo boy I just KNOW what’s going into Mad Mode v1.8 :smiley:

Jesus, you outdid Brendor in every meaning of the word. I’m legitimately awestruck :o

2 Likes

Fixed a glitch with the Display Growths/Talk hack where longer names would run into the Cond label. It’s possible the fix might have some graphical glitches elsewhere, but I have no idea where, so let me know if you see such a thing.

In other news, the Staff/Range fix hack is blithely ignored by the AI (especially for staves, although I think 1-mag/2 range stuff might also cause issues), so don’t be surprised if you make the berserk staff a 1-3 range staff and you still get berserked from halfway across the map. No idea how long the fix will take, but it generally needs a complete overhaul. You can still use it, of course; it works fine for player-controlled units. There’s another minor glitch where if there’s a ballista, units that can move onto it will highlight the ballista’s range even if they can’t use it; don’t worry, they can’t use it. This has been fixed for FE8, but not 7.

1 Like

It’s a FEATURE! Enemies get, uh, free range boosts!

Yeah! You can just cross that off the ol’ fix-em-up list!

1 Like

Actually to be honest this sounds legitimately interesting; giving players and enemies different ranges on the same staff. :]

Since Bloodlines is out, I can now release this:

FE7 Str/Mag Split

This is my most ambitious hack so far. I recommend reading the readme (and not just because it says to); it’s long, but it should answer any questions you may have.

11 Likes

Actual minor assembly shenanigans: In vanilla FE7, Pent leaves if Louise dies, and vice versa. One workaround is to not use both of those character slots, but if you don’t want to do that, change 796E4 to 0A E0. This skips code that sets the dead+do not display flags for the other person.

5 Likes

A small quality-of-life modification, this hack changes the box that pops up when selecting a target to heal from this (current hp/max hp):

to this (current hp -> new hp; uses the green palette if maxed):


It was easier than trying to expand the box to show max hp, and I’m lazy. Download here. Shouldn’t need a readme or anything; just patch with EA as usual. FE8 version will be coming soon.

EDIT: FE8 version included. The EA file is the same for both 7 and 8; just make sure you select the right game, or you will probably break things.

16 Likes

Made a small edit; instead of a hyphen, it now uses hyphen and bracket to make an arrow:

You’ll need to make a new text id with those two symbols, then replace the appropriate definition in the EA file. Nothing complicated. Don’t change the vanilla one because other things use that text id.
Also, since edits probably don’t give you a ‘New Message’ alert, I want to point out once again that an FE8 version is available. Link’s in the above post.

10 Likes

I have a question about the Str/Mag split regarding the magic weapons.
Is it possible to have a magic weapon that uses Mag, targets Res and uses both close and ranged animations?
According to the readme, if 0x02 is set and 0x40 isn’t, the weapon will use Mag and will target Res, however, it only uses ranged animations, even if you attack at range 1 like a magic tome.
The same if you set both 0x02 and 0x40, but the weapon will target Def instead.
In the other hand, if you only set 0x40, animations will display as I want, but the weapon will use Str instead of Mag.

Is there a way to achieve what I want?