![]()  | 
Routines | 
| Prev: 63446 | Up: Map | Next: 63705 | 
| 
 | 
||||
| Action_Kill | 63569 | CALL Parser_ValidateTwoDirectObjects | Call Parser_ValidateTwoDirectObjects. | |
| 63572 | RET C | Return if the direct object is malformed. | ||
| 
 
Was the player trying to kill ... the octopus with the spear?
 
 | 
||||
| 63573 | LD HL,60045 | Call MatchPhraseTokens with PhraseTokens_OctopusWithSpear. | ||
| 63576 | CALL MatchPhraseTokens | |||
| 63579 | JR NZ,Action_Kill_0 | Jump to Action_Kill_0 if the token isn't for the . | ||
| 63581 | LD A,26 | Call CheckObjectInInventory with item 26: "A spear". | ||
| 63583 | CALL CheckObjectInInventory | |||
| 63586 | JP NZ,Response_YoureNotCarryingIt | Jump to Response_YoureNotCarryingIt if *HL is not equal to 26. | ||
| 63589 | LD A,26 | Call Handler_DestroyItemEvent with "A spear". | ||
| 63591 | CALL Handler_DestroyItemEvent | |||
| 63594 | LD A,43 | Call Handler_DestroyItemEvent with "A giant octopus". | ||
| 63596 | CALL Handler_DestroyItemEvent | |||
| 63599 | LD HL,48280 | HL=Count_InventoryItems. | ||
| 63602 | DEC (HL) | Decrease *HL by one. | ||
| 63603 | LD A,64 | Write 64 to *60554 to open up northbound access to A Dead End from The Cave. | ||
| 63605 | LD (60554),A | |||
| 63608 | LD A,65 | Write 65 to *60555 to open up southbound access to A Dead End from The Cave. | ||
| 63610 | LD (60555),A | |||
| 63613 | LD A,66 | Write 66 to *60556 to open up eastbound access to A Dead End from The Cave. | ||
| 63615 | LD (60556),A | |||
| 
 
Print "The spear pierces the oily
skin and the octopus sinks
beneath the surface in a
fury of froth and foam.
The spear is lost.".
 
 | 
||||
| 63618 | LD HL,56961 | HL=Messaging_ThrowSpearAtOctopus. | ||
| 63621 | JP PrintStringAndNewline_Alias | Jump to PrintStringAndNewline_Alias. | ||
| Action_Kill_0 | 63624 | LD HL,60054 | Call MatchPhraseTokens with PhraseTokens_LionWithSpear. | |
| 63627 | CALL MatchPhraseTokens | |||
| 63630 | JR NZ,Action_Kill_1 | Jump to Action_Kill_1 if the token isn't for the . | ||
| 63632 | LD A,26 | Call CheckObjectInInventory with item 26: "A spear". | ||
| 63634 | CALL CheckObjectInInventory | |||
| 63637 | JP NZ,Response_YoureNotCarryingIt | Jump to Response_YoureNotCarryingIt if *HL is not equal to 26. | ||
| 
 
Print "You stab at the lion
but the beast easily avoids it.".
 
 | 
||||
| 63640 | LD HL,57471 | HL=57471. | ||
| 63643 | JP PrintStringAndNewline_Alias | Jump to PrintStringAndNewline_Alias. | ||
| Action_Kill_1 | 63646 | LD HL,60058 | Call MatchPhraseTokens with PhraseTokens_CannibalsWithSpear. | |
| 63649 | CALL MatchPhraseTokens | |||
| 63652 | JR NZ,Action_Kill_2 | Jump to Action_Kill_2 if the token isn't for the . | ||
| 63654 | LD A,26 | Call CheckObjectInInventory with item 26: "A spear". | ||
| 63656 | CALL CheckObjectInInventory | |||
| 63659 | JP NZ,Response_YoureNotCarryingIt | Jump to Response_YoureNotCarryingIt if *HL is not equal to 26. | ||
| 
 
Bad luck!
 
 | 
||||
| 63662 | LD HL,60887 | Switch GameOver onto the stack so the next return actions a "game over". | ||
| 63665 | EX (SP),HL | |||
| 
 
Print "The cannibals turn on you.
They quickly overwhelm you.".
 
 | 
||||
| 63666 | LD HL,57524 | HL=57524. | ||
| 63669 | JP PrintStringAndNewline_Alias | Jump to PrintStringAndNewline_Alias. | ||
| Action_Kill_2 | 63672 | LD HL,60062 | Call MatchPhraseTokens with PhraseTokens_PirateWithGun. | |
| 63675 | CALL MatchPhraseTokens | |||
| 63678 | JR NZ,Action_Shooting_0 | Jump to Action_Shooting_0 if the token isn't for the . | ||
| 63680 | LD A,15 | Call CheckObjectInInventory with item 15: "A gun". | ||
| 63682 | CALL CheckObjectInInventory | |||
| 63685 | JP NZ,Response_YoureNotCarryingIt | Jump to Response_YoureNotCarryingIt if ?? is not equal to 15. | ||
| 
 
This entry point is used by the routine at Action_Shoot.
 
 | 
||||
| Action_Kill_3 | 63688 | LD HL,59570 | Call CheckActiveScenicEvents with Data_ItemGroup_Pirate. | |
| 63691 | CALL CheckActiveScenicEvents | |||
| 63694 | LD B,A | B=A. | ||
| 63695 | BIT 7,A | Test bit 7 of A. | ||
| 63697 | JR NZ,Action_Shooting | Jump to Action_Shooting if ?? is not equal to 15. | ||
| 
 
Print "He's dead already.".
 
 | 
||||
| 63699 | LD HL,57656 | HL=57656. | ||
| 63702 | JP PrintStringAndNewline_Alias | Jump to PrintStringAndNewline_Alias. | ||
| Prev: 63446 | Up: Map | Next: 63705 |