$03000108 - Where item ID/durability of the item to be dropped is stored for text/icon purposes; the IID/durability is also stored in a variable memory address in the $02025--- range.
$0800A85A - Routine for finding dropped item's icon
$0800A8EC - Routine for writing "Got a/the X" from dropped item
-If item has the "Unsellable" ability (Ability 1 0x10) or has Item ID 0x34-0x36, message reads "Got the ____" instead of "Got a ____"
$0800A9E0 - Another routine that reads dropped item's name text pointer
$0800EFB0 -Adds dropped item to the slayer's inventory at full uses.
$08012DD4 - Determines article to use for an item, using pointer table at $08012E0C; which then use ASCII text read from $8193E00. Only items of ID 0x34-0x75 use this table, all others always use "a/an".
$0802FA20 - After a unit has died, check if that unit had the 'last item droppable' flag set, that it has something in its inventory, and that the unit's killer is a player unit; if so, select the unit's last item in inventory to be dropped.
$080800E8 - Checks for 'last item droppable' in deployment data when viewing a unit's inventory page
For FE8:
$08010FAE: For dropped item, finds item icon to display
$08011044: For dropped items, finds type of text to display?
$08011132: For dropped items, finds type of text to display?
$08011524: For dropped item, stores its IID/durability to $030005F4
$08011538: Adds dropped item to the slayer's inventory at full uses.
$0801618C - Item acquisition routine that loads:
$080161B0 - Big pointer table that determines if an obtained item is "got a/an ____" or just "got ____" (for uniques)
Only for items with IDs 0x3C-B9; all others always use "got a/an ____"
$0803292C - After a unit has died, check if that unit had the 'last item droppable' flag set, that it has something in its inventory, and that the unit's killer is a player unit; if so, select the unit's last item in inventory to be dropped.
-After finding last item in inventory, checks if item isn't a bag of Gold (IIDs 0x9B-A0,0xB8-B9)
$080115BC: If it is a Gold item, adds its value directly to the party's gold count at $$0202BCF8 instead of adding the item to the slayer's inventory
To make items dropped by enemies not refresh their uses when added to the slaying unitās inventory:
FE7:
-Paste write 02 0A 00 2A 10 D1 24 23 43 43 02 1C 07 49 5B 18 at 0x16174
I found a routine at 12DD4 that determines the article, and at 12F14 that āprocessesā an item name (it accepts boolean parameters saying whether to prepend an article and whether to capitalize it). Related?
The ātableā for that text is at offset 193e00 in the ROM according to my notes. But itās only built to distinguish āaā/āanā/ātheā, which is insufficient for German if you need to worry about masculine/feminine/neuter. Also thatās for the North American version, no idea what the Euro version does. That said, I would imagine that the Euro version already handles this? Isnāt there an actual German localization?
I mean I could definitely do an asm tweak that allows for more customization there, but youād need some way to specify the gender for each item⦠(and the table would have to be repointed, although arguably it ought to use actual text items or something)
Yeah, 12F14 is called by several of the above FE7 routines; 12DD4 seems to be separate from the āUnsellableā check. I added it and its FE8 equivalent to the first post.
It seems that items given out by villages have their uses set to zero with my little āpreserve usesā hack, so Iāll have to come up with a more thorough solution.
EDIT: Okay, the new fix is in and it should work for any source of item giving. If you used the older fix on your ROM youāll need to revert that change. In case you donāt have a backup: