Prev: A66C Up: Map Next: A68C
A679: Transform Item
Used by the routine at AA48.
Rather than use item properties, the game just has separate objects that don't exist until an action is performed.
An example is:
Item ID Item Name
1F N/A
20 N/A
When the helmet is worn by the player; item 1F is destroyed and replaced with item 20.
Input
B From item ID
C To item ID
TransformItem A679 LD A,B Call ItemLocator with the source item ID.
A67A CALL ItemLocator
A now contains the location of the source ID.
A67D PUSH BC Stash the item IDs and source item room ID on the stack.
A67E PUSH AF
A67F LD C,$00 Call Handler_UpdateItemLocation and disable the source item.
A681 CALL Handler_UpdateItemLocation
A684 POP AF Restore the source item room ID and item IDs from the stack.
A685 POP BC
Activate the destination item in the same room.
A686 LD B,C Load the destination item ID into B.
A687 LD C,A Load the source room ID into C.
A688 CALL Handler_UpdateItemLocation Call Handler_UpdateItemLocation.
A68B RET Return.
View the equivalent code in;
Prev: A66C Up: Map Next: A68C