Prev: 43615 Up: Map Next: 43658
43630: Action: Pick Up Item
Moves the item operand into the inventory and prints the taken message.
Input
F The zero flag is set when the conditions hold
IX Pointer to the script entry
When the condition failed, skip this action.
Handler_PickUpItem 43630 JP NZ,RunScript_SkipAction_TwoBytes Jump to RunScript_SkipAction_TwoBytes if the condition failed.
Move the item operand into the inventory (room 1).
43633 LD A,(IX+1) Fetch the item ID (the operand) from *IX+1 into A.
43636 CALL RunScript_ResolveMatchedItem Call RunScript_ResolveMatchedItem to substitute the matched item ID from ScriptMatchedItem when the operand is 255.
43639 LD B,A Copy the item ID into B.
43640 LD C,1 Set the destination room to the inventory (1).
43642 CALL Handler_UpdateItemLocation Call Handler_UpdateItemLocation to update that item's location.
The player has gained an item, so raise the inventory count.
43645 LD HL,41170 Increment the inventory count at Count_InventoryItems by one.
43648 INC (HL)
Print "O.K.".
43649 LD HL,26 HL=Messaging_OK.
43652 CALL PrintCompressedStringAndNewline Call PrintCompressedStringAndNewline to print that compressed string and a newline.
43655 JP RunScript_SkipAction_TwoBytes Jump to RunScript_SkipAction_TwoBytes.
View the equivalent code in;
Prev: 43615 Up: Map Next: 43658