![]() |
Routines |
| Prev: F516 | Up: Map | Next: F5B6 |
|
Fight the blacksmith.
|
||||
| Handler_KillTheBlacksmith | F55C | CALL PausePrintStringAndScroll | Call PausePrintStringAndScroll to pause, then print that message and start a new line. | |
| F55F | LD BC,$8C34 | Replace object 8C with object 34 (the dead warrior). | ||
| F562 | CALL TransformItem | |||
|
Reply with "You have killed him.".
|
||||
| F565 | LD HL,$E086 | Print "You have killed him." and return to the game loop. | ||
| F568 | JP PrintResponse | |||
|
This entry point is used by the routine at Handler_KillTheWitch.
|
||||
| Handler_KillTheBlacksmith_WarriorBow | F56B | LD HL,$E8D1 | Jump to Handler_KillTheBlacksmith_Next unless the player named the warrior with the bow. | |
| F56E | CALL Parser_AdvanceToSeparator | |||
| F571 | JR NZ,Handler_KillTheBlacksmith_Next | |||
| F573 | LD A,$8C | Jump to Response_HesAlreadyDead if object 8C is not here. | ||
| F575 | CALL IsObjectInCurrentRoom | |||
| F578 | JP NZ,Response_HesAlreadyDead | |||
| F57B | CALL Handler_CheckWeapon | Call Handler_CheckWeapon to make sure the player is holding the bow and some arrows. | ||
| F57E | LD A,$05 | Call Handler_AnnounceArrow to announce the arrow. | ||
| F580 | CALL Handler_AnnounceArrow | |||
| F583 | LD HL,$DF0E | Print "Well done! A perfect shot." and strike the blacksmith. | ||
| F586 | JP Handler_KillTheBlacksmith | |||
| Handler_KillTheBlacksmith_Next | F589 | LD HL,$E8DA | Jump to Handler_KillTheBlacksmith_YouCant unless the player named the spider with the bow. | |
| F58C | CALL Parser_AdvanceToSeparator | |||
| F58F | JR NZ,Handler_KillTheBlacksmith_YouCant | |||
| F591 | LD A,$41 | Jump to Response_ItsAlreadyDead if object 41 (the giant spider) is not here. | ||
| F593 | CALL IsObjectInCurrentRoom | |||
| F596 | JP NZ,Response_ItsAlreadyDead | |||
| F599 | CALL Handler_CheckWeapon | Call Handler_CheckWeapon to make sure the player is holding the bow and some arrows. | ||
| F59C | LD A,$05 | Call Handler_AnnounceArrow to announce the arrow. | ||
| F59E | CALL Handler_AnnounceArrow | |||
| F5A1 | LD BC,$4142 | Replace object 41 (the giant spider) with object 42 (the dead spider). | ||
| F5A4 | CALL TransformItem | |||
| F5A7 | LD HL,$DF0E | Print "Well done! A perfect shot.". | ||
| F5AA | CALL PausePrintStringAndScroll | |||
|
Reply with "You have killed it.".
|
||||
| F5AD | LD HL,$DFE0 | Print "You have killed it." and return to the game loop. | ||
| F5B0 | JP PrintResponse | |||
| Handler_KillTheBlacksmith_YouCant | F5B3 | JP Response_YouCant_GameLoop | Tell the player the command is impossible. | |
| Prev: F516 | Up: Map | Next: F5B6 |