![]() |
Routines |
| Prev: F190 | Up: Map | Next: F26D |
|
Give the chest or the crystals to the blacksmith.
|
||||
| Action_Give | F216 | CALL Parser_ValidateTwoDirectObjects | Call Parser_ValidateTwoDirectObjects. | |
| F219 | RET C | Return if the direct object is malformed. | ||
|
Was the player trying to give ... to the old man / blacksmith?
|
||||
| F21A | LD HL,$E843 | Call Parser_AdvanceToSeparator with E843. | ||
| F21D | CALL Parser_AdvanceToSeparator | |||
| F220 | JR NZ,Give_YouCant | Jump to Give_YouCant if the token isn't for the old man. | ||
| F222 | LD A,$25 | Jump to Give_CheckOpenChest if ValidateItemPresent reports that "The blacksmith. He says:- 'I have been instructed to make a mighty sword for you" is in the current room. | ||
| F224 | CALL ValidateItemPresent | |||
| F227 | JR Z,Give_CheckOpenChest | |||
|
Print "You can't.He's dead.".
|
||||
| F229 | LD HL,$DD38 | HL=Messaging_YouCantHesDead. | ||
| F22C | JP PrintResponse | Jump to PrintResponse. | ||
| Give_CheckOpenChest | F22F | LD A,$0D | Jump to Give_CheckCrystals if ValidateItemPresent reports that "An open chest containing the Crystals of Vulcan" isn't in the current room. | |
| F231 | CALL ValidateItemPresent | |||
| F234 | JR NZ,Give_CheckCrystals | |||
| F236 | LD BC,$0D0E | Call TransformItem to transform "An open chest containing the Crystals of Vulcan" into "An empty chest". | ||
| F239 | CALL TransformItem | |||
| F23C | JR Give_HandOver | Jump to Give_HandOver. | ||
| Give_CheckCrystals | F23E | LD A,$0F | Call IsObjectCarried with item 0F: "The Crystals of Vulcan". | |
| F240 | CALL IsObjectCarried | |||
| F243 | JR NZ,Give_HandOver | Jump to Give_HandOver if "The Crystals of Vulcan" isn't held. | ||
| F245 | LD HL,$BA68 | Decrease *Count_InventoryItems by one. | ||
| F248 | DEC (HL) | |||
| Give_HandOver | F249 | LD A,$0F | Call Handler_DestroyItem with item 0F: "The Crystals of Vulcan". | |
| F24B | CALL Handler_DestroyItem | |||
| F24E | LD BC,$2526 | Call TransformItem to transform "The blacksmith. He says:- 'I have been instructed to make a mighty sword for you" into "The blacksmith". | ||
| F251 | CALL TransformItem | |||
| F254 | LD A,$88 | Call Handler_DestroyItem with 88. | ||
| F256 | CALL Handler_DestroyItem | |||
| F259 | LD A,$0A | Call Handler_UpdateItemForTheCurrentRoom with item 0A: "A sword". | ||
| F25B | CALL Handler_UpdateItemForTheCurrentRoom | |||
|
Print "You give him the crystals.
He puts them in the flames.".
|
||||
| F25E | LD HL,$DD4D | HL=Messaging_YouGiveHimTheCrystals. | ||
| F261 | CALL PrintStringAndNewline | Call PrintStringAndNewline. | ||
|
Print "After some time,
he shapes a piece of metal from
the fire,on the anvil.
He produces a fine sword.".
|
||||
| F264 | LD HL,$DD84 | HL=Messaging_AfterSomeTime. | ||
| F267 | JP PauseAndPrintResponse | Jump to PauseAndPrintResponse. | ||
|
Nothing else is valid.
|
||||
| Give_YouCant | F26A | JP Response_YouCant_GameLoop | Jump to Response_YouCant_GameLoop. | |
|
View the equivalent code in;
|
||||
| Prev: F190 | Up: Map | Next: F26D |