Prev: F190 Up: Map Next: F26D
F216: Action: Give
Give the chest or the crystals to the blacksmith.
Action_Give F216 CALL Parser_ValidateInputTokens Return if the words after the verb are not valid for this command.
F219 RET C
F21A LD HL,$E843 Jump to Action_Give_YouCant unless the player named the old man.
F21D CALL Parser_AdvanceToSeparator
F220 JR NZ,Action_Give_YouCant
F222 LD A,$25 Jump to Action_Give_Next when object 25 (the blacksmith) is here.
F224 CALL IsObjectInCurrentRoom
F227 JR Z,Action_Give_Next
Reply with "You can't.He's dead.".
F229 LD HL,$DD38 Print "You can't.He's dead." and return to the game loop.
F22C JP PrintResponse
Action_Give_Next F22F LD A,$0D Jump to Action_Give_CheckCrystals if object 0D (the open chest) is not here.
F231 CALL IsObjectInCurrentRoom
F234 JR NZ,Action_Give_CheckCrystals
F236 LD BC,$0D0E Replace object 0D (the open chest) with object 0E (the empty chest).
F239 CALL TransformItem
F23C JR Action_Give_HandOver Jump to Action_Give_HandOver to hand the crystals over.
Action_Give_CheckCrystals F23E LD A,$0F Jump to Action_Give_HandOver if the player is not carrying object 0F (the Crystals of Vulcan).
F240 CALL IsObjectCarried
F243 JR NZ,Action_Give_HandOver
F245 LD HL,$BA68 Count one fewer thing carried.
F248 DEC (HL)
Action_Give_HandOver F249 LD A,$0F Destroy object 0F (the Crystals of Vulcan).
F24B CALL Handler_DestroyItem
F24E LD BC,$2526 Replace object 25 (the blacksmith) with object 26 (the blacksmith).
F251 CALL TransformItem
F254 LD A,$88 Destroy object 88 (the old man's quest).
F256 CALL Handler_DestroyItem
F259 LD A,$0A Move object 0A (the sword) into the current room.
F25B CALL Handler_UpdateItemForTheCurrentRoom
F25E LD HL,$DD4D Print "You give him the crystals. He puts them in the flames.".
F261 CALL PrintStringAndANewline
Reply with "After some time, he shapes a piece of metal from the fire,on the anvil. He produces a fine sword.".
F264 LD HL,$DD84 Print "After some time, he shapes a piece of metal from the fire,on the anvil. He produces a fine sword." and return to the game loop.
F267 JP PauseAndPrintResponse
Action_Give_YouCant F26A JP Response_YouCant_GameLoop Tell the player the command is impossible.
Prev: F190 Up: Map Next: F26D