Unlimited Weapon Types

So uh… Yeah, I finally remembered I was supposed to look into this. Oops.

Anyways! While digging at the Arbitrary Weapon Ranks thing I saw where the pointer stuff for the weapon ranks names were held, so there we go, problem solved-- that being said the topic is moved elsewhere since I’m tossing the event file that deals with this, it should hopefully be easy enough to change around, just open in a text editor, copy, paste and set the text ID of the name you want.
12
Two more strange weapon types! The cheese type and the rawr type, very threatening.
In case the file is deleted and I’m too lazy to reupload, here it is in text form so you can just copy paste

Weapon Type Code
  //Repoints the text for weapon types so more can be added without the game exploding.
  //Thanks to jjl2357 with their 'Arbitrary number of weapon types' hack for basically spelling the solution out for me.
PUSH
ORG 0x16e20
BYTE 0x30 0xb5 0x8b 0xb0 0x6a 0x46 0x09 0x49 0x80 0x00 0x40 0x18 0x00 0x68 0xc0 0x36 0xc0 0x46 0xc0 0x46 0xc0 0x46 0xc0 0x46 0xc0 0x46 0xc0 0x46 0xc0 0x46 0xf3 0xf7 0xff 0xf9 0x0b 0xb0

ORG 0x16e4c
POIN NewWTypeArray
POP

ALIGN 4
NewWTypeArray:
WORD 0x00000505	//00 Sword
WORD 0x00000506	//01 Lance
WORD 0x00000507	//02 Axe
WORD 0x00000508	//03 Bow
WORD 0x00000509	//04 Staff
WORD 0x0000050a	//05 Anima
WORD 0x0000050b	//06 Light
WORD 0x0000050c	//07 Dark
WORD 0x0000050d	//08 Item
WORD 0x0000050e	//09 Bllsta
WORD 0x0000050f	//0A Dragon
WORD 0x0000026b	//0B Monster (Evil)

WORD 0x0000013d	//0C (--) Cheese!
WORD 0x0000013e	//0D (--) Rawr!

WORD 0xFFFFFFFF //Array terminator

And for a proper link to an event file-- if you’re used to build files it’s just the usual #include “MoreWeaponRanks.event” shenanigans, if not you can still toss in with FEBuilder by the ‘Insert EA’ function!

Original post

Well, yeah, not unlimited, but probably 255 of them but that’s still one type per item so that’s unlimited enough for GBA, yeah?
I didn’t know where else to put this, but it seems Documentation probably fits best. If I’m wrong I’d appreciate knowing where something like this would fit, thank you!

This only seems to work with FE8’s skill system from what I see! Sorry about that.
Apologies in advance for ramblings! I’m not good at keeping focused.

Unlike the Arbitrary number of weapon types from jjl2357 this is only really to add text to new weapon types, it’s not for weapon levels.

i always seem to use my time experimenting with such dumb stuff
Unlimited Weapon Types... Theoretically - YouTube
Apologies for the dumb video, I suck at explaining.

As you see from that, there are a bunch of new type names, ordinarily if you highlight a weapon type over a certain point (0B) the game’ll just softlock.

Looking at the FEBuilder hex editor, you’ll see the array that’s used for the type names at 0x0D7A38 with ‘00 05 05 00’, then ‘00 06 05 00’ and so on, it’s been a while since I’ve used hex so I don’t remember the why, but the latter translates to text ID 0506, which leads you to ‘Lance’, keep going and you’ll get obscure types that are unused in the proper game like with the ‘Dragon’ (0A) type after which is where the array ends I believe so further types just sort of soflock since they point to random data.

However if you simply just… overwrite the next bit with ‘00 10 05 00’ we now have monster weapons named the ‘Fire’ type! (As long as you don’t have the monster weapon fix) Yay!
Don’t actually overwrite, I did it just to test it out.

This is what we have so far, I’ll list what’s going on in a spoiler.

Summary

Hex = Text = Type = Weapon Type ID
00 05 05 00 = 505 = Sword = 00
00 06 05 00 = 506 = Lance = 01
00 07 05 00 = 507 = Axe = 02
00 08 05 00 = 508 = Bow = 03
00 09 05 00 = 509 = Staff = 04
00 0A 05 00 = 50A = Anima = 05
00 0B 05 00 = 50B = Light = 06
00 0C 05 00 = 50C = Dark = 07
00 0D 05 00 = 50D = Bllsta = 08 (Actually item/unarmed type, good to use with fist weapons maybe)
00 0E 05 00 = 50E = Item = 09
00 0F 05 00 = 50F = Dragon = 0A

00 10 05 00 = 510 = Fire = 0B (Unused with monster weapon fix patch)
00 11 05 00 = 511 = Thunder = 0C
00 12 05 00 = 512 = Wind = 0D
00 13 05 00 = 513 = Ice = 0E
00 14 05 00 = 514 = Poison = 0F
00 15 05 00 = 515 = Sleep = 10

With the icon rework in the skill system you would also be able to add type icons more freely without cutting into item icons as well.

The proper solution is probably to repoint the text array so that you can add without worrying about overwriting probably important stuff, but I haven’t repointed stuff in a hex editor in years and do not remember how to do so currently, will probably edit with that later if I can remember how.

8 Likes

Just a heads up, you shouldn’t ORG into an area of free space. Both febuilder and buildfiles assume you’re already in free space, so if you ORG there a 2nd time, you’ll be overwriting your own stuff.

Thanks for the documentation. Note that the supply won’t display new weapon types. It looks like you came up with basically the same examine fix that Sme did, so you’re in good company :+1:

https://github.com/Veslyquix/Pokemblem/blob/8d6755f8a143207baccc2389e2902d326e390e14/Patches/Supply/Installer.event#L80 here’s my installer which also changes how the supply works. Prior to this, I made it so all new wep types just cut off the first digit (so 0x10 = 0x0 swords etc.)

Hope this helps.

1 Like

Ah, is that how it works? I’m a bit of a derp and… sorta do, sorta don’t understand how ORG works, ahaha…

Aye indeed! For my hack I’ve just sorta disabled the ability to toss whatever new typed items into the supply, but it’s of course more ideal to just be able to properly use the supply with them instead.
Oh. …It somehow slipped my mind that the monster weapon fix they did basically did what I’m doing. Ahahaha, oops. That would’ve made things a lot easier if I noticed.

I don’t especially get how your supply here works, but it might be my sleep deprivation. The most ideal thing I can think of would be if you could just choose what type is tossed into which group so if it does something like that that’d be fantastic. I’ll pobably look at everything again tomorrow. Danke!

Edit: Few things messed with, hopefully this is less likely to make things explode.

Yes, it does that. You can’t see the index ingame and it is what determines the column the item gets sorted into. If you want it to go with swords, you make it item type 0x10, 0x20, or 0x30, etc.

1 Like

So i’ve been messing around with this for a few hours trying to figure it out and I think I got it working. set 0x0C to text 13A to Flail and sure enough the weapon type name did change.
However I noticed that while the type changed, its not adding the weapon’s might to the battle calculations. Is this something you ran into?

2 Likes

I think that’s a thing with GBA Fire Emblem’s engine, annoyingly, you’d need to have a custom skill system build to have it set damage calculations properly. I think it works if you want magic damage if you’re using the skill system, but dunno how helpful that is.

Maybe I should do something with damage calculation things when I’ve more time, thanks for the reminder!

3 Likes

How do I set units’ and classes’ ranks in the extra weapon types?

Unfortunately, unless someone discovers something new or something you cannot, they’re just extra types like with monster weapons that should likely use weapon locks. If you want an option that also allows weapon ranks you could look into this~

Although, you can only have a max of four types with that, and it might not work with the skill system if you’re using that.