Prev: F48B Up: Map Next: F55C
F516: Handler: Kill The Witch
Fight the witch.
Handler_KillTheWitch F516 LD BC,$2C2D Replace object 2C (Princess Mara) with object 2D (Mara's body).
F519 CALL TransformItem
F51C LD HL,$BA3F Stop Princess Mara appearing, then pause and print "You have killed her." and return to the game loop.
F51F RES 0,(HL)
F521 LD HL,$DFF4
F524 JP PauseAndPrintResponse
This entry point is used by the routine at Handler_KillTheWarrior.
Handler_KillTheWitch_PrincessBow F527 LD HL,$E8C4 Jump to Handler_KillTheWitch_Next unless the player named the princess with the bow.
F52A CALL Parser_AdvanceToSeparator
F52D JR NZ,Handler_KillTheWitch_Next
F52F LD A,$2C Jump to Response_ShesAlreadyDead if object 2C (Princess Mara) is not here.
F531 CALL IsObjectInCurrentRoom
F534 JP NZ,Response_ShesAlreadyDead
F537 CALL Handler_CheckWeapon Call Handler_CheckWeapon to make sure the player is holding the bow and some arrows.
F53A XOR A Call Handler_AnnounceArrow to announce the arrow.
F53B CALL Handler_AnnounceArrow
F53E JP Handler_KillTheWitch Jump back to Handler_KillTheWitch to finish off the witch.
Handler_KillTheWitch_Next F541 LD HL,$E8C8 Jump to Handler_KillTheBlacksmith_WarriorBow unless the player named the warrior with the sword.
F544 CALL Parser_AdvanceToSeparator
F547 JR NZ,Handler_KillTheBlacksmith_WarriorBow
F549 LD A,$8C Jump to Response_HesAlreadyDead if object 8C is not here.
F54B CALL IsObjectInCurrentRoom
F54E JP NZ,Response_HesAlreadyDead
F551 CALL Handler_RequireSword Call Handler_RequireSword to make sure the player is holding the sword.
F554 LD A,$05 Call Handler_ResolveAttack to resolve the attack on the named opponent.
F556 CALL Handler_ResolveAttack
F559 LD HL,$DF44 The sword lands, with "Your blow strikes true.".
Prev: F48B Up: Map Next: F55C