[FE7] ranged weapon modules

This contains three kinds of module.

The first one is to enable ranged animation for meele battle for certain weapon.
The second one is to edit weapon type midways (something like the three magic sword), whether it’s for ranged attack only(e.g.: light brand, requires enabling magic), or both meele and ranged weapon (e.g: runesword). It can halve your strength and disable your critical too (weapon specific).
The last one is to manage your handaxe (Putting handaxe animation will automatically change your meele axe animation into handaxe animation. This will save your effort to create the animation of hand axe user for every class).

The module can be downloaded here

Note. It’s recommended to expand the ROM before using these modules.

1 Like

Gave these a look-through because they seemed really interesting, and it might be the 4:49AM thing, but I’m a little bit stumped after the readme.

These modules all point to free space, which I’m assuming is for the assumption that people will be using these with expanded item tables? These are all tables that exist naturally in the ROM, so they’d have to be repointed for these modules to have any effect, but I can’t seem to see any of the original addresses documented. Unless there’s some sort of patch these are supposed to go in tandem with?

But yeah - being able to give weapons 0 crit and change the magic type at range seems pretty awesome. I just gotta figure out how to make these work, lol.

Repointing them into any free space is fine, since they use their own table. Just make sure that the new space for them is free.
The only pointer related to original content is the one in MHA 13.txt. If you haven’t repointed the spell animation, change 0x09000300 into 0x08C999C0 (default address of spell animation).
–edit–
Seems that one file is left out. Fixed the problem.

Note that the one with B as the last letter is fixed (do not repoint them.)

Okay, so now I’m a tad more confused, hahah.

If there’s only one pointer to original content, what exactly is this? Since you have to expand the ROM first, none of this content actually exists in the source game, right? So where did we suddenly get the ability to appoint magic types to ranged weapons and make hand axes work sensibly? Are these the modules for an ASM hack or something? Cuz otherwise I’m not really getting how they’re even going to work in the first place, since it’s essentially just writing values over unreferenced new space.

Yes. It’s ASM code. The actual table of the module is something C.nmm.
The actual code of this is something A.nmm. I make it in a separate place because it’s easier for me to update when necessary. Something B.nmm is used to leap the PC into the new code.

Oh huh. I’ve never seen somebody using nightmare modules to apply ASM code before (I’ve only ever seen assembly patches), but I’ll go ahead and give this a shot. Just looking through, it looks like this hack manages to:

  • Make hand axes work like they’re supposed to, lol.
  • Given us the ability to have 0 crit weapons like bronzes.
  • Allow the assigning of spell type for magic swords.
  • The ability to override a weapon’s type (so a sword that acts like a lance, or WT neutral weapons by assigning the bow type).

Which is to say, that’s pretty impressive stuff! Thanks!

Okay, so after playing around with this a bit, I’ve got a glitch for ya. When forcing weapons to behave like another type, they’re still gaining WEXP for the new type on my end. I set Iron Sword to bow for the neutral WT effect, the weapon level increase showed the sword icon, but Lowen had an E Bow rank. Same thing when I applied magic typings to a test thunder sword, too.

The hand axes work like a charm, though! Just installed it into Elibian Nights with relative ease. After using the modules on a clean expanded ROM, it’s basically just copy/pasting these values wherever you have free space

01 29 02 D0 01 37 01 2F 12 DD 44 46 FF 20 04 40 36 E0 28 88 FF 28 09 D8 A0 42 01 D0 10 35 F8 E7 28 79 01 28 02 D1 50 46 01 30 82 46 02 48 00 47 02 48 00 47 C0 99 C9 08 3D 29 05 08 DD 28 05 08 05 4C 24 18 24 78 01 2C 04 D1 06 99 00 29 01 D1 01 22 06 92 01 4C 20 47 00 01 00 09 BB 2D 05 08 05 4C 24 18 05 4C 24 18 04 D1 05 99 00 2E 01 D1 01 22 05 92 01 4C 20 47 00 01 00 09 4D 2D 05 08 28 2C 00 D0 29 2C D1 D0 00 4D C2 E7 C0 99 C9 08

And then at 0x52932, replace

01 29 02 D0 01 37 01 2F CF DD

with

01 48 00 47 01 37 ?? ?? ?? ??

Where the ??s are your pointer +1 (I wrote it at BE24B0, so mine was B1 24 BE 08). Seriously, this fixes one of the absolute stupidest things with the base engine. Before we had to redo all of the axe classes’ animation lists to support a new throwing axe, and it borked some of the animations even. No longer an issue! Any axe with the hand axe animation assigned will work as intended.

@Icecube
If I put a lance attribute on a sword, and gave it the reversing triangle effect; would I essentially be getting a sword that’s twice as good vs axes, neutral vs lances, and terrible vs swords?(Since WTA is doubled for the triangle effect).

Actually reaver series does NOT change your weapon attribute. It doubles WTA and inverse them, so you get -2 weapon advantage instead of 1, and -30 hit instead of 15. So, assuming your case, you will get a lance acting like a lancereaver.

@Arch
Added new module to fix them. Now transformed weapon can gives exp or not (when the weapon is changed. For example, Light Brand can be made to gives weapon exp only on sword attack, since it’s ranged attack is light magic. Note that if Light Brand is given weapon exp during magic attack, the exp gained is sword exp, not Light exp.).

Thanks for showing the glitch.

@Icecube
Yeah I know, I think you misread what I put.
Sword with Lance attributes not Lance with Sword attributes

But cool my theory was correct, this should prove interesting…

Applied the new modules - works perfectly! This also leaves open the possibility for dualWEXP. Possibly a Halberd line of axes that also give lance EXP, or something to that effect. Always better to have more options than fewer.

@Dancer_A
Oops… Sorry for misreading it then.

Updated:
Add weapon range patch to give full functionality of 0x11 to 0xFF range.
Combine Always ranged with Blessing of Eight General.

That’s pretty slick, dude. Keep up the good work!

I dunno how open you are to suggestions or ideas, but I had a thought that seems right up your alley.

A hack that would allow penalties for weapons when used at a certain range. Making most standard bows 2-3 range with a penalty to Hit/Dmg at 3, with longbows 2-5 with a penalty at 4 and a doubled penalty at 5, as an example of the concept.

Will the penalty affect your accuracy rate and critical rate?

That was the idea. Possibly damage as well? Or at least leaving the option open to that.

@Arch
The modules have been made (joined with spell weapon modules). The table is on 1008C00 (4 byte).
Each weapon has their own maximum non penalty range and base penalty. Total penalty is counted by multiplying penalty with level difference. Note that any penalty less than minimum range or more than maximum range will not affect the weapon. Same link as above.

Finally got to play with this today.

Fuckin’ perfect.