Prev: F30B Up: Map Next: F516
F48B: Handler: Kill The Warrior
Fight the Korl warrior.
Handler_KillTheWarrior F48B LD HL,$E77A Call Parser_SkipToken to skip to the object named by this phrase.
F48E CALL Parser_SkipToken
F491 LD B,A Call TransformItem to turn the warrior into the dead blacksmith.
F492 LD C,$27
F494 CALL TransformItem
Reply with "You have killed him.".
F497 LD HL,$E086 Print "You have killed him." and return to the game loop.
F49A JP PauseAndPrintResponse
This entry point is used by the routine at Handler_FightOpponent.
Handler_KillTheWarrior_RingWornBow F49D LD HL,$E8B4 Jump to Handler_KillTheWarrior_Next unless the player named the ring being worn.
F4A0 CALL Parser_AdvanceToSeparator
F4A3 JR NZ,Handler_KillTheWarrior_Next
F4A5 LD A,$27 Jump to Response_HesAlreadyDead when object 27 (the dead blacksmith) is here.
F4A7 CALL IsObjectInCurrentRoom
F4AA JP Z,Response_HesAlreadyDead
F4AD CALL Handler_CheckWeapon Call Handler_CheckWeapon to make sure the player is holding the bow and some arrows.
F4B0 XOR A Call Handler_AnnounceArrow to announce the arrow.
F4B1 CALL Handler_AnnounceArrow
F4B4 JP Handler_KillTheWarrior Jump back to Handler_KillTheWarrior to finish off the warrior.
Handler_KillTheWarrior_Next F4B7 LD HL,$E8B8 Jump to Handler_KillTheWarrior_LogBridgeBow unless the player named the log bridge.
F4BA CALL Parser_AdvanceToSeparator
F4BD JR NZ,Handler_KillTheWarrior_LogBridgeBow
F4BF LD A,$2A Jump to Response_HesAlreadyDead if object 2A (Zarn) is not here.
F4C1 CALL IsObjectInCurrentRoom
F4C4 JP NZ,Response_HesAlreadyDead
F4C7 CALL Handler_RequireSword Call Handler_RequireSword to make sure the player is holding the sword.
F4CA LD A,$05 Call Handler_ResolveAttack to resolve the attack on the named opponent.
F4CC CALL Handler_ResolveAttack
F4CF LD BC,$2A2B Replace object 2A (Zarn) with object 2B (Zarn's body).
F4D2 CALL TransformItem
F4D5 LD HL,$BA3F Arm Princess Mara's arrival, then pause and print "Your blow strikes true." and start a new line.
F4D8 SET 0,(HL)
F4DA LD HL,$DF44
F4DD CALL PausePrintStringAndScroll
Reply with "The Wizard falls to the floor. He is dead. The Princess says:- "My brave warrior,let us leave. Lead and I will follow."".
F4E0 LD HL,$E09B Print "The Wizard falls to the floor. He is dead. The Princess says:- "My brave warrior,let us leave. Lead and I will follow."" and return to the game loop.
F4E3 JP PrintResponse
Handler_KillTheWarrior_LogBridgeBow F4E6 LD HL,$E8BC Jump to Handler_KillTheWarrior_PrincessSword unless the player named the log bridge.
F4E9 CALL Parser_AdvanceToSeparator
F4EC JR NZ,Handler_KillTheWarrior_PrincessSword
F4EE LD A,$2A Jump to Response_HesAlreadyDead if object 2A (Zarn) is not here.
F4F0 CALL IsObjectInCurrentRoom
F4F3 JP NZ,Response_HesAlreadyDead
F4F6 CALL Handler_CheckWeapon Call Handler_CheckWeapon to make sure the player is holding the bow and some arrows.
Reply with "Arrows have no effect.".
F4F9 LD HL,$E06F Print "Arrows have no effect." and return to the game loop.
F4FC JP PrintResponse
Handler_KillTheWarrior_PrincessSword F4FF LD HL,$E8C0 Jump to Handler_KillTheWitch_PrincessBow unless the player named the princess with the sword.
F502 CALL Parser_AdvanceToSeparator
F505 JR NZ,Handler_KillTheWitch_PrincessBow
F507 LD A,$2C Jump to Response_ShesAlreadyDead if object 2C (Princess Mara) is not here.
F509 CALL IsObjectInCurrentRoom
F50C JP NZ,Response_ShesAlreadyDead
F50F CALL Handler_RequireSword Call Handler_RequireSword to make sure the player is holding the sword.
F512 XOR A Call Handler_ResolveAttack to resolve the attack on the named opponent.
F513 CALL Handler_ResolveAttack
Prev: F30B Up: Map Next: F516