Venno's small ASM hacks and notes

This next hack uses weapon Ability Byte 0x80 to allow an item with a stat boost pointer to give those boosts even not equipped! Now you can have an actual Starsphere in your hack. Optionally, you can use a version that prevents multiple items from boosting the same stat; it’s included in the downloads. You can still have an equipped weapon + passive item boosting the same stat.

Note that Con and Move boosts are not part of this by default, due to the nature of the stat getters for these stats.
Download (FE8)

Old download for FE7 (deprecated)

5 Likes

Cool! I was thinking of implementing this myself sometime. Though, I use Weapon Ability 2 0x2 for my reaver-and-double WTA effect separation – is there another ability you can use?

You implemented this only by modifying the getters for boosted stats, right? Did you have to write to any auxiliary space, and if so, where?

The main code for looping through a unit’s inventory to check for items giving passive boosts wasn’t convenient to stick inline, so you’ll have to find some free space for it. Everything else is done inline.

And yeah, I can use just about any weapon ability - I’ll make it use weapon ability 3 0x40 then. I also added the Readme to the download, since I somehow had forgotten before.

This is basically a passive boost, isn’t it? :0 I’m interested in an FE8 version!
But I think 0x40 is already used by crazycolorz’s Renewal skill effect in Midnight Sun…

Here is a version of the passive stat boost item hack for FE8 - this one uses Weapon ability Byte 3 0x80 to indicate weapon ranks.

Small new hack for FE7 and FE8 - this allows you to give a Hit bonus to Enemy (And/or NPC) units. By default the bonus is +10 hit to enemies, but this is fairly simple to change. You can also optionally have this bonus only apply on Hard Mode.

The current version hooks into the main Hit calculation routine; I plan to move it to a better location and perhaps integrate it into my weapon rank bonus hack, so you might want to hold off on applying this for now.

Download with Readme

Chances are that this is probably modular battle-breaking. Does this change the routine in the game that calculates hit percentage? Or does it apply it afterward? (If it’s afterward, it’s probably okay)

Edit: Also, something possibly cool is applying this only on hard mode or something! Not that I need it, but just saying that it’d be cool.

Yeah, I’ve inserted it in the routine that calculates hit based on stats/tactician bonus/etc; if you have suggestions for an alternate place to put it, I’d be glad to hear it.

A hard mode check would indeed be cool! I’ll add that in shortly.

Integrate it into the S-rank boost is my suggestion.

Oh right, that’s a good idea!

And I’ve integrated a Hard Mode check into the hack, for those that are interested.

Possibly add it on as a add-on to your FE-DS style weapon bonuses?

There was a silly bug with the FE7 version of the DS-style growths hack that added random numbers to your growth rates. I’ve fixed this, and you can redownload the fixed versions and apply them over the bugged one.

FE7

I’ve combined the Enemy bonus hit hack with my weapon rank bonus hack. This makes it compatible with Modular battle, among other things. There’s separate versions for FE8 and FE7 this time. For more info about the weapon rank hack, check this page.

Download

Oh yeah and it has a nightmare module so you can edit the enemy bonuses easily. By default its +10 hit to enemies but you can change the stat,stat boost, and whether to give it to enemies/npcs/both.

Any news and the and/or weapon levels expansion for the array-based weapon locks (though it also edits the section with weapon ranks which is why I say expansion)

I’m working on that right now actually! It should be ready within a day or so.

OK, here is the new version of the weapon lock hack, with support for either-or weapon ranks as described here. A weapon with an either-or rank will still have the weapon type of and give Wexp for the weapon type declared in its item data. For how to implement it, read the readme.

Basically you have an either-or by setting bit 4 in the first byte of your list, and make it an OR instead of an AND by setting bit 3 too. Then you have 8 bytes for the weapon levels required in each of the 8 weapon types, then your list of class/character IDs if you’re also using an ID-based lock too.

The latest update integrate staff and item locks into the FE8 version while also belatedly disabling FE8’s vanilla weapon lock bits.

Download (FE7/FE8)
Old version

2 Likes

I’m a bit confused about how to set the locks…
I set a weapon with Weapon Ability 4 to use the first array, the pointer to the array is 0x08DF0B00, in DF0B00 I set the first byte to 0x07 (Hard Class Lock+Weapon Rank required) then the next 8 are 00 00 00 00 00 B5 00 00, that means it will require Rank A in anima to use it and finally the list of the classes (0x20, 0x21 and 0x00)
I tried this and… nothing…
I tried to use it without the weapon rank requeriment, but it allows the unit to use the weapon at any level…
Am I using this correctly or I’m wrong?

If it’s just one weapon rank, you should just use nightmare and ignore the new thing. But if you need multiple checks, it’d be 0x0B, not 07.

… though it’s also possible that Venno made a mistake. I do that all the time in my code, so…

And I agree some examples would be helpful.

I want to set the weapons only usable for some Mages (Because I plan to implement the elemental mages, like in FE10), but it allows the class to use it at any rank:

(In this pic I’m using the Hard Class Lock 0x03)

Also, in the readme says that the third bit is for only one rank:

To make a weapon require ranks in multiple weapon types, set the fourth bit (0x08) in the indicator byte;
To make the weapon only require ONE out of several different weapon levels, also set the third bit (0x04).

I also tried 0x0F (Just in case), but it crashes…

If it’s crashing, there’s probably a problem with my code I didn’t catch. But if you just want it to be restricted to certain types of mages you only need a class lock. I’ll dig around and see where I messed up.