Prev: F516 Up: Map Next: F5B6
F55C: Handler: Kill The Blacksmith
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