In the GBA games, the only restriction on the number of weapon types is the eight bytes allocated to storing ranks. By changing the way the game stores and retrieves those, this patch removes that barrier and allows arbitrarily many weapon types.
Due to memory restrictions, though, each character will be able to use at most 4 weapon types. The types are stored in character data and class data as [weapon type 1][rank 1]…[WR4][rank4] using the 8 bytes provided.
Patch and source here. Comes with a “Dragon”-type Silver Lance.
- Table for names of the weapon types is located at EFBC00.
- Don’t give anybody a weapon rank in 0x9, that’s reserved for Items/Disarmed.
- 0x286BC and 0x286D4 are the routines to change if you want to repoint affinity icons (they return 79+affinity, or the index of the icons in the icon list).
- Similarly, 0x18AF0 is used to display the horse/dragon/pegasus icons.