![]() |
Routines |
| Prev: F48B | Up: Map | Next: F55C |
|
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 |