![]() |
Routines |
Prev: F481 | Up: Map | Next: F7AB |
|
||||
Action_DropThrow | F4D4 | CALL Parser_ValidateDirectObject | Call Parser_ValidateDirectObject. | |
F4D7 | RET C | Return if the direct object is malformed. | ||
Start by calling the chain of items to check...
|
||||
F4D8 | JR Validate_DropThrow_BottleRum | Jump to Validate_DropThrow_BottleRum. | ||
Check if the player is holding the requested item?
|
||||
DropThrow_IsPlayerHoldingItem | F4DA | CALL CheckObjectInInventory | Call CheckObjectInInventory. | |
F4DD | JR Z,DropItem | Jump to DropItem if the player is holding the requested item. | ||
Print "You're not carrying ".
|
||||
F4DF | LD HL,$BFAF | HL=Messaging_YoureNotCarrying. | ||
F4E2 | CALL PrintString | Call PrintString. | ||
F4E5 | LD A,E | A=E. | ||
F4E6 | LD HL,$F29B | HL=Table_ItemsWhichArePlural. | ||
F4E9 | LD BC,$0001 | BC=0001. | ||
F4EC | CPIR | CPIR. | ||
F4EE | JR Z,NotCarryingItem_Plural | Jump to NotCarryingItem_Plural if A is equal to 06. | ||
Print "it.".
|
||||
F4F0 | LD HL,$BF2B | HL=Messaging_It. | ||
F4F3 | JP PrintStringAndNewline_Alias | Jump to PrintStringAndNewline_Alias. | ||
Print "them.".
|
||||
NotCarryingItem_Plural | F4F6 | LD HL,$BF2F | HL=Messaging_Them. | |
F4F9 | JP PrintStringAndNewline_Alias | Jump to PrintStringAndNewline_Alias. | ||
The player has the item in their inventory so drop/ throw it.
|
||||
DropItem | F4FC | LD B,E | Copy the item ID into B. | |
F4FD | LD A,($BCCB) | C=*CurrentRoom. | ||
F500 | LD C,A | |||
Alter the items location from the players inventory to the current room ID.
|
||||
F501 | CALL Handler_UpdateObjectLocation | Call Handler_UpdateObjectLocation. | ||
F504 | LD HL,$BC98 | Decrease *Count_InventoryItems by one. | ||
F507 | DEC (HL) | |||
F508 | JP Response_OK_Duplicate | Jump to Response_OK_Duplicate. | ||
Was the player trying to drop or throw the bottle of rum?
|
||||
Validate_DropThrow_BottleRum | F50B | LD HL,$E9E7 | Call MatchPhraseTokens with PhraseTokens_BottleOfRum. | |
F50E | CALL MatchPhraseTokens | |||
F511 | JR NZ,Validate_DropThrow_Fish | Jump to Validate_DropThrow_Fish if the token isn't for the bottle of rum. | ||
The player is trying to drop or throw the bottle of rum.
|
||||
F513 | LD HL,$E87A | Call CheckActiveScenicEvents with Data_ItemGroup_Bottle_1. | ||
F516 | CALL CheckActiveScenicEvents | |||
F519 | JP DropThrow_IsPlayerHoldingItem | Jump to DropThrow_IsPlayerHoldingItem. | ||
Was the player trying to drop or throw the fish?
|
||||
Validate_DropThrow_Fish | F51C | LD HL,$E9CC | Call MatchPhraseTokens with PhraseTokens_Fish. | |
F51F | CALL MatchPhraseTokens | |||
F522 | JR NZ,Validate_DropThrow_Watch | Jump to Validate_DropThrow_Watch if the token isn't for the fish. | ||
The player is trying to drop or throw the fish.
|
||||
F524 | LD HL,$E895 | Call CheckActiveScenicEvents with Data_ItemGroup_Fish. | ||
F527 | CALL CheckActiveScenicEvents | |||
F52A | JP DropThrow_IsPlayerHoldingItem | Jump to DropThrow_IsPlayerHoldingItem. | ||
Was the player trying to drop or throw the watch?
|
||||
Validate_DropThrow_Watch | F52D | LD HL,$E9D1 | Call MatchPhraseTokens with PhraseTokens_Watch. | |
F530 | CALL MatchPhraseTokens | |||
F533 | JR NZ,Validate_DropThrow_Shoe | Jump to Validate_DropThrow_Shoe if the token isn't for the watch. | ||
The player is trying to drop or throw the watch.
|
||||
F535 | LD A,$17 | Jump to DropThrow_IsPlayerHoldingItem with item 17: "A watch". | ||
F537 | JP DropThrow_IsPlayerHoldingItem | |||
Was the player trying to drop or throw the shoe?
|
||||
Validate_DropThrow_Shoe | F53A | LD HL,$E9D3 | Call MatchPhraseTokens with PhraseTokens_Shoe. | |
F53D | CALL MatchPhraseTokens | |||
F540 | JR NZ,Validate_DropThrow_Rod | Jump to Validate_DropThrow_Rod if the token isn't for the shoe. | ||
The player is trying to drop or throw the shoe.
|
||||
F542 | LD A,$15 | Jump to DropThrow_IsPlayerHoldingItem with item 15: "A shoe". | ||
F544 | JP DropThrow_IsPlayerHoldingItem | |||
Was the player trying to drop or throw the rod?
|
||||
Validate_DropThrow_Rod | F547 | LD HL,$E9D5 | Call MatchPhraseTokens with PhraseTokens_Rod. | |
F54A | CALL MatchPhraseTokens | |||
F54D | JR NZ,Validate_DropThrow_Fruit | Jump to Validate_DropThrow_Fruit if the token isn't for the rod. | ||
The player is trying to drop or throw the rod.
|
||||
F54F | LD A,$08 | Jump to DropThrow_IsPlayerHoldingItem with item 08: "A rod". | ||
F551 | JP DropThrow_IsPlayerHoldingItem | |||
Was the player trying to drop or throw the fruit?
|
||||
Validate_DropThrow_Fruit | F554 | LD HL,$E9D7 | Call MatchPhraseTokens with PhraseTokens_Fruit. | |
F557 | CALL MatchPhraseTokens | |||
F55A | JR NZ,Validate_DropThrow_Jewels | Jump to Validate_DropThrow_Jewels if the token isn't for the fruit. | ||
The player is trying to drop or throw the fruit.
|
||||
F55C | LD A,$0E | Jump to DropThrow_IsPlayerHoldingItem with item 0E: "Some fruit". | ||
F55E | JP DropThrow_IsPlayerHoldingItem | |||
Was the player trying to drop or throw the jewels?
|
||||
Validate_DropThrow_Jewels | F561 | LD HL,$E9DB | Call MatchPhraseTokens with PhraseTokens_Jewels. | |
F564 | CALL MatchPhraseTokens | |||
F567 | JR NZ,Validate_DropThrow_Match | Jump to Validate_DropThrow_Match if the token isn't for the jewels. | ||
The player is trying to drop or throw the jewels.
|
||||
F569 | LD A,$1D | Jump to DropThrow_IsPlayerHoldingItem with item 1D: "The Jewels of Babylon". | ||
F56B | JP DropThrow_IsPlayerHoldingItem | |||
Was the player trying to drop or throw the match?
|
||||
Validate_DropThrow_Match | F56E | LD HL,$E9E1 | Call MatchPhraseTokens with PhraseTokens_Match. | |
F571 | CALL MatchPhraseTokens | |||
F574 | JR NZ,Validate_DropThrow_Plank | Jump to Validate_DropThrow_Plank if the token isn't for the match. | ||
F576 | LD HL,$E86E | Call CheckActiveScenicEvents with Data_ItemGroup_Match. | ||
F579 | CALL CheckActiveScenicEvents | |||
F57C | JP DropThrow_IsPlayerHoldingItem | Jump to DropThrow_IsPlayerHoldingItem. | ||
Was the player trying to drop or throw the plank?
|
||||
Validate_DropThrow_Plank | F57F | LD HL,$E9E3 | Call MatchPhraseTokens with PhraseTokens_Plank. | |
F582 | CALL MatchPhraseTokens | |||
F585 | JR NZ,Validate_DropThrow_Coconut | Jump to Validate_DropThrow_Coconut if the token isn't for the plank. | ||
F587 | LD A,$04 | Jump to DropThrow_IsPlayerHoldingItem with item 04: "A plank". | ||
F589 | JP DropThrow_IsPlayerHoldingItem | |||
Was the player trying to drop or throw the coconut?
|
||||
Validate_DropThrow_Coconut | F58C | LD HL,$E9E5 | Call MatchPhraseTokens with PhraseTokens_Coconut. | |
F58F | CALL MatchPhraseTokens | |||
F592 | JR NZ,Validate_DropThrow_Gun | Jump to Validate_DropThrow_Gun if the token isn't for the coconut. | ||
F594 | LD A,$07 | Jump to DropThrow_IsPlayerHoldingItem with item 07: "A coconut". | ||
F596 | JP DropThrow_IsPlayerHoldingItem | |||
Was the player trying to drop or throw the gun?
|
||||
Validate_DropThrow_Gun | F599 | LD HL,$E9EF | Call MatchPhraseTokens with PhraseTokens_Gun. | |
F59C | CALL MatchPhraseTokens | |||
F59F | JR NZ,Validate_DropThrow_Eyepatch | Jump to Validate_DropThrow_Eyepatch if the token isn't for the gun. | ||
F5A1 | LD A,$0F | Jump to DropThrow_IsPlayerHoldingItem with item 0F: "A gun". | ||
F5A3 | JP DropThrow_IsPlayerHoldingItem | |||
Was the player trying to drop or throw the eyepatch?
|
||||
Validate_DropThrow_Eyepatch | F5A6 | LD HL,$E9F1 | Call MatchPhraseTokens with PhraseTokens_Eyepatch. | |
F5A9 | CALL MatchPhraseTokens | |||
F5AC | JR NZ,Validate_DropThrow_KegGunpowder | Jump to Validate_DropThrow_KegGunpowder if the token isn't for the eyepatch. | ||
F5AE | LD HL,$E885 | Call CheckActiveScenicEvents with Data_ItemGroup_Eyepatch. | ||
F5B1 | CALL CheckActiveScenicEvents | |||
F5B4 | CP $11 | Jump to DropThrow_IsPlayerHoldingItem if A is not equal to 11. | ||
F5B6 | JP NZ,DropThrow_IsPlayerHoldingItem | |||
F5B9 | LD BC,$1110 | Call TransformItem to transform item 11 ("An eyepatch (worn)") into item 10 ("An eyepatch"). | ||
F5BC | CALL TransformItem | |||
F5BF | LD A,$10 | Jump to DropThrow_IsPlayerHoldingItem with item 10: "An eyepatch". | ||
F5C1 | JP DropThrow_IsPlayerHoldingItem | |||
Was the player trying to drop or throw the keg of gunpowder?
|
||||
Validate_DropThrow_KegGunpowder | F5C4 | LD HL,$E9F3 | Call MatchPhraseTokens with PhraseTokens_KegGunPowder. | |
F5C7 | CALL MatchPhraseTokens | |||
F5CA | JR NZ,Validate_DropThrow_Sextant | Jump to Validate_DropThrow_Sextant if the token isn't for the keg of gunpowder. | ||
F5CC | LD A,$12 | Jump to DropThrow_IsPlayerHoldingItem with item 12: "A keg of gunpowder". | ||
F5CE | JP DropThrow_IsPlayerHoldingItem | |||
Was the player trying to drop or throw the sextant?
|
||||
Validate_DropThrow_Sextant | F5D1 | LD HL,$E9FB | Call MatchPhraseTokens with PhraseTokens_Sextant. | |
F5D4 | CALL MatchPhraseTokens | |||
F5D7 | JR NZ,Validate_DropThrow_Crowbar | Jump to Validate_DropThrow_Crowbar if the token isn't for the sextant. | ||
F5D9 | LD A,$16 | Jump to DropThrow_IsPlayerHoldingItem with item 16: "A sextant". | ||
F5DB | JP DropThrow_IsPlayerHoldingItem | |||
Was the player trying to drop or throw the crowbar?
|
||||
Validate_DropThrow_Crowbar | F5DE | LD HL,$E9FD | Call MatchPhraseTokens with PhraseTokens_Crowbar. | |
F5E1 | CALL MatchPhraseTokens | |||
F5E4 | JR NZ,Validate_DropThrow_Key | Jump to Validate_DropThrow_Key if the token isn't for the crowbar. | ||
F5E6 | LD A,$1E | Jump to DropThrow_IsPlayerHoldingItem with item 1E: "A crowbar". | ||
F5E8 | JP DropThrow_IsPlayerHoldingItem | |||
Was the player trying to drop or throw the key?
|
||||
Validate_DropThrow_Key | F5EB | LD HL,$E9FF | Call MatchPhraseTokens with PhraseTokens_Key. | |
F5EE | CALL MatchPhraseTokens | |||
F5F1 | JR NZ,Validate_DropThrow_Skull | Jump to Validate_DropThrow_Skull if the token isn't for the key. | ||
F5F3 | LD A,$1F | Jump to DropThrow_IsPlayerHoldingItem with item 1F: "A key". | ||
F5F5 | JP DropThrow_IsPlayerHoldingItem | |||
Was the player trying to drop or throw the skull?
|
||||
Validate_DropThrow_Skull | F5F8 | LD HL,$EA01 | Call MatchPhraseTokens with PhraseTokens_Skull. | |
F5FB | CALL MatchPhraseTokens | |||
F5FE | JR NZ,Validate_DropThrow_Spear | Jump to Validate_DropThrow_Spear if the token isn't for the skull. | ||
F600 | LD A,$20 | Jump to DropThrow_IsPlayerHoldingItem with item 20: "A human skull". | ||
F602 | JP DropThrow_IsPlayerHoldingItem | |||
Was the player trying to drop or throw the spear?
|
||||
Validate_DropThrow_Spear | F605 | LD HL,$EA06 | Call MatchPhraseTokens with PhraseTokens_Spear. | |
F608 | CALL MatchPhraseTokens | |||
F60B | JR NZ,Validate_DropThrow_Parrot | Jump to Validate_DropThrow_Parrot if the token isn't for the spear. | ||
F60D | LD A,$1A | Jump to DropThrow_IsPlayerHoldingItem with item 1A: "A spear". | ||
F60F | JP DropThrow_IsPlayerHoldingItem | |||
Was the player trying to drop or throw the parrot?
|
||||
Validate_DropThrow_Parrot | F612 | LD HL,$EA08 | Call MatchPhraseTokens with PhraseTokens_Parrot. | |
F615 | CALL MatchPhraseTokens | |||
F618 | JR NZ,Validate_DropThrow_PlankAcrossPit | Jump to Validate_DropThrow_PlankAcrossPit if the token isn't for the parrot. | ||
F61A | LD A,$28 | Jump to DropThrow_IsPlayerHoldingItem with item 28: "A dead parrot". | ||
F61C | JP DropThrow_IsPlayerHoldingItem | |||
Was the player trying to drop or throw the plank across the pit?
|
||||
Validate_DropThrow_PlankAcrossPit | F61F | LD HL,$EA26 | Call MatchPhraseTokens with PhraseTokens_PlankAcrossPit. | |
F622 | CALL MatchPhraseTokens | |||
F625 | JP Z,Response_PleaseRephraseThat_Duplicate | Jump to Response_PleaseRephraseThat_Duplicate if the token is for dropping/ throwing the plank across the pit. | ||
F628 | LD A,($BD66) | Jump to Action_DropThrow_0 if *UserInput_Token_1 is equal to 3E. | ||
F62B | CP $3E | |||
F62D | JP Z,Action_DropThrow_0 | |||
F630 | JP Response_YouCant_Duplicate | Jump to Response_YouCant_Duplicate. | ||
Action_DropThrow_0 | F633 | JR Action_DropThrow_2 | Jump to Action_DropThrow_2. | |
This entry point is used by the routine at Action_???.
|
||||
Action_DropThrow_1 | F635 | CALL CheckObjectInInventory | Call CheckObjectInInventory. | |
F638 | RET NZ | Return if A is not equal to 3E. | ||
F639 | LD B,E | B=E. | ||
F63A | LD A,($BCCB) | C=*CurrentRoom. | ||
F63D | LD C,A | |||
F63E | CALL Handler_UpdateObjectLocation | Call Handler_UpdateObjectLocation. | ||
F641 | LD HL,$BC98 | HL=Count_InventoryItems. | ||
F644 | DEC (HL) | Decrease *HL by one. | ||
F645 | RET | Return. | ||
Action_DropThrow_2 | F646 | LD HL,$EA2A | Call MatchPhraseTokens with PhraseTokens_SpearAtLion. | |
F649 | CALL MatchPhraseTokens | |||
F64C | JR NZ,Action_DropThrow_3 | Jump to Action_DropThrow_3 if the token isn't for dropping/ throwing the spear at the lion. | ||
F64E | LD A,$1A | A=1A. | ||
F650 | CALL Action_DropThrow_1 | Call Action_DropThrow_1. | ||
Print "You fling the spear,but the
lion easily avoids it.".
|
||||
F653 | LD HL,$DC4F | HL=Messaging_ThrowSpearAtLion. | ||
F656 | JP PrintStringAndNewline_Alias | Jump to PrintStringAndNewline_Alias. | ||
Action_DropThrow_3 | F659 | LD HL,$EA2E | Call MatchPhraseTokens with PhraseTokens_CoconutAtLion. | |
F65C | CALL MatchPhraseTokens | |||
F65F | JR NZ,Action_DropThrow_4 | Jump to Action_DropThrow_4 if the token isn't for dropping/ throwing the coconut at the lion. | ||
F661 | LD A,$07 | A=07. | ||
F663 | CALL Action_DropThrow_1 | Call Action_DropThrow_1. | ||
Print "The coconut bounces off
the lion's head.He shakes his
long mane in anger.I think
you've got his attention.".
|
||||
F666 | LD HL,$DC82 | HL=Messaging_ThrowCoconutAtLion. | ||
F669 | JP PrintStringAndNewline_Alias | Jump to PrintStringAndNewline_Alias. | ||
Action_DropThrow_4 | F66C | LD HL,$EA32 | Call MatchPhraseTokens with PhraseTokens_FruitAtLion. | |
F66F | CALL MatchPhraseTokens | |||
F672 | JR NZ,Action_DropThrow_6 | Jump to Action_DropThrow_6 if the token isn't for dropping/ throwing the fruit at the lion. | ||
This entry point is used by the routine at Action_LayPlacePut.
|
||||
Action_DropThrow_5 | F674 | LD A,$0E | A=0E. | |
F676 | CALL Action_DropThrow_1 | Call Action_DropThrow_1. | ||
Print "He sniffs the fruit but
otherwise ignores it.".
|
||||
F679 | LD HL,$DCED | HL=Messaging_ThrowFruitAtLion. | ||
F67C | JP PrintStringAndNewline_Alias | Jump to PrintStringAndNewline_Alias. | ||
Action_DropThrow_6 | F67F | LD HL,$EA36 | Call MatchPhraseTokens with PhraseTokens_FishAtLion. | |
F682 | CALL MatchPhraseTokens | |||
F685 | JR NZ,Action_DropThrow_8 | Jump to Action_DropThrow_8 if the token isn't for the . | ||
This entry point is used by the routine at Action_LayPlacePut.
|
||||
Action_DropThrow_7 | F687 | LD HL,$E895 | Call CheckActiveScenicEvents with Data_ItemGroup_Fish. | |
F68A | CALL CheckActiveScenicEvents | |||
F68D | CALL Action_DropThrow_1 | Call Action_DropThrow_1. | ||
F690 | LD A,E | A=E. | ||
F691 | CALL Handler_DestroyItemEvent | Call Handler_DestroyItemEvent. | ||
F694 | LD A,$2A | A=2A (event ID: 2A). | ||
F696 | CALL Handler_DestroyItemEvent | Call Handler_DestroyItemEvent. | ||
F699 | LD A,$3C | Write 3C to *EC3F. | ||
F69B | LD ($EC3F),A | |||
Print "The lion takes the fish in
his massive jaws and then
disappears into the jungle.".
|
||||
F69E | LD HL,$DD1B | HL=Messaging_ThrowFishAtLion. | ||
F6A1 | JP PrintStringAndNewline_Alias | Jump to PrintStringAndNewline_Alias. | ||
Action_DropThrow_8 | F6A4 | LD HL,$EA3F | Call MatchPhraseTokens with PhraseTokens_FruitAtParrot. | |
F6A7 | CALL MatchPhraseTokens | |||
F6AA | JR NZ,Action_DropThrow_10 | Jump to Action_DropThrow_10 if the token isn't for the . | ||
This entry point is used by the routine at Action_LayPlacePut.
|
||||
Action_DropThrow_9 | F6AC | LD A,$0E | Load "Some fruit" into A. | |
F6AE | CALL Action_DropThrow_1 | Call Action_DropThrow_1. | ||
F6B1 | LD BC,$2728 | Call TransformItem to transform item 27 ("A parrot (alive)") into item 28 ("A dead parrot"). | ||
F6B4 | CALL TransformItem | |||
F6B7 | LD A,$0E | Call Handler_DestroyItemEvent with "Some fruit" (as the parrot ate it). | ||
F6B9 | CALL Handler_DestroyItemEvent | |||
Print "The parrot catches the fruit
in its beak and swallows it.
It flutters momentarily,then
falls to the ground,dead.".
|
||||
F6BC | LD HL,$DD6C | HL=Messaging_ThrowFruitAtParrot. | ||
F6BF | JP PrintStringAndNewline_Alias | Jump to PrintStringAndNewline_Alias. | ||
Action_DropThrow_10 | F6C2 | LD HL,$EA43 | Call MatchPhraseTokens with PhraseTokens_WatchAtCannibals. | |
F6C5 | CALL MatchPhraseTokens | |||
F6C8 | JR NZ,Action_DropThrow_12 | Jump to Action_DropThrow_12 if the token isn't for the . | ||
This entry point is used by the routine at Action_LayPlacePut.
|
||||
Action_DropThrow_11 | F6CA | LD A,$17 | Call ValidateItemPresent with "A watch". | |
F6CC | CALL ValidateItemPresent | |||
F6CF | JP NZ,Response_YouveDoneThatAlready | Jump to Response_YouveDoneThatAlready "A watch" isn't in the current room. | ||
F6D2 | LD A,$17 | Load "A watch" into A. | ||
F6D4 | CALL Action_DropThrow_1 | Call Action_DropThrow_1. | ||
F6D7 | LD BC,$1819 | Call TransformItem to transform item 18 ("Surrounded by natives") into item 19 ("The distracted natives"). | ||
F6DA | CALL TransformItem | |||
F6DD | LD BC,$171A | Call TransformItem to transform item 17 ("A watch") into item 1A ("A spear"). | ||
F6E0 | CALL TransformItem | |||
F6E3 | LD A,$1D | Write 1D to *EBCD to open up westbound access to The Thicket from The Cannibals' Village. | ||
F6E5 | LD ($EBCD),A | |||
F6E8 | LD A,$20 | Write 20 to *EBCB to open up southbound access to The Woodland Path from The Cannibals' Village. | ||
F6EA | LD ($EBCB),A | |||
F6ED | LD A,$21 | Write 21 to *EBCC to open up eastbound access to The Woodland Path from The Cannibals' Village. | ||
F6EF | LD ($EBCC),A | |||
F6F2 | LD A,$23 | Write 23 to *EBCA to open up northbound access to The High Ridge from The Cannibals' Village. | ||
F6F4 | LD ($EBCA),A | |||
Print "The cannibal drops the spear
and takes the watch.
He examines it briefly and
places it to his ear. The
other natives gather round him
and lose all interest in you.".
|
||||
F6F7 | LD HL,$DDDD | HL=Messaging_ThrowWatchAtCannibals. | ||
F6FA | JP PrintStringAndNewline_Alias | Jump to PrintStringAndNewline_Alias. | ||
Action_DropThrow_12 | F6FD | LD HL,$EA47 | Call MatchPhraseTokens with PhraseTokens_SpearAtOctopus. | |
F700 | CALL MatchPhraseTokens | |||
F703 | JR NZ,Action_DropThrow_13 | Jump to Action_DropThrow_13 if the token isn't for the . | ||
F705 | LD A,$1A | Call Action_DropThrow_1 using "A spear". | ||
F707 | CALL Action_DropThrow_1 | |||
F70A | LD A,$2B | Call Handler_DestroyItemEvent with "A giant octopus". | ||
F70C | CALL Handler_DestroyItemEvent | |||
F70F | LD A,$1A | Call Handler_DestroyItemEvent with "A spear". | ||
F711 | CALL Handler_DestroyItemEvent | |||
F714 | LD A,$40 | Write 40 to *EC8A to open up northbound access to A Dead End from The Cave. | ||
F716 | LD ($EC8A),A | |||
F719 | LD A,$41 | Write 41 to *EC8B to open up southbound access to A Dead End from The Cave. | ||
F71B | LD ($EC8B),A | |||
F71E | LD A,$42 | Write 42 to *EC8C to open up eastbound access to A Dead End from The Cave. | ||
F720 | LD ($EC8C),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.".
|
||||
F723 | LD HL,$DE81 | HL=Messaging_ThrowSpearAtOctopus. | ||
F726 | JP PrintStringAndNewline_Alias | Jump to PrintStringAndNewline_Alias. | ||
Action_DropThrow_13 | F729 | LD HL,$EA50 | Call MatchPhraseTokens with PhraseTokens_KegAtCrocodile. | |
F72C | CALL MatchPhraseTokens | |||
F72F | JR NZ,Action_DropThrow_14 | Jump to Action_DropThrow_14 if the token isn't for the . | ||
F731 | LD A,$12 | Call ValidateItemPresent with "A keg of gunpowder". | ||
F733 | CALL ValidateItemPresent | |||
F736 | JP NZ,Response_YouveDoneThatAlready | Jump to Response_YouveDoneThatAlready if "A keg of gunpowder" isn't in the current room. | ||
F739 | LD A,$12 | A=12. | ||
F73B | CALL Action_DropThrow_1 | Call Action_DropThrow_1. | ||
F73E | LD A,$12 | A=12 (event ID: 12). | ||
F740 | CALL Handler_DestroyItemEvent | Call Handler_DestroyItemEvent. | ||
F743 | LD BC,$1314 | Call TransformItem to transform item 13 ("A crocodile") into item 14 ("A crocodile (with the keg in its mouth)"). | ||
F746 | CALL TransformItem | |||
Print "The crocodile opens its huge
jaws and catches the keg.
Its jaws close on it and
start to crush it.
Gunpowder spills out.".
|
||||
F749 | LD HL,$DF15 | HL=Messaging_ThrowKegAtCrocodile. | ||
F74C | JP PrintStringAndNewline_Alias | Jump to PrintStringAndNewline_Alias. | ||
Action_DropThrow_14 | F74F | LD HL,$EA5E | Call MatchPhraseTokens with PhraseTokens_MatchAtKeg. | |
F752 | CALL MatchPhraseTokens | |||
F755 | JR NZ,Action_DropThrow_16 | Jump to Action_DropThrow_16 if the token isn't for the . | ||
F757 | LD A,$12 | Call CheckObjectInInventory with item 12: "A keg of gunpowder". | ||
F759 | CALL CheckObjectInInventory | |||
F75C | JP Z,Response_YouCant_Duplicate | Jump to Response_YouCant_Duplicate if *HL is equal to 12. | ||
F75F | LD HL,$E86E | Call CheckActiveScenicEvents with Data_ItemGroup_Match. | ||
F762 | CALL CheckActiveScenicEvents | |||
F765 | CALL Action_DropThrow_1 | Call Action_DropThrow_1. | ||
F768 | LD A,$12 | Call ValidateItemPresent with "A keg of gunpowder". | ||
F76A | CALL ValidateItemPresent | |||
F76D | JP Z,Response_OK_Duplicate | Jump to Response_OK_Duplicate if "A keg of gunpowder" is present in the current room. | ||
Action_DropThrow_15 | F770 | LD A,$02 | Call ValidateItemPresent with "A match". | |
F772 | CALL ValidateItemPresent | |||
F775 | JP Z,Response_OK_Duplicate | Jump to Response_OK_Duplicate if "A match" is present in the current room. | ||
F778 | LD A,$03 | Call Handler_DestroyItemEvent with "A lighted match". | ||
F77A | CALL Handler_DestroyItemEvent | |||
F77D | LD A,$14 | Call Handler_DestroyItemEvent with "A crocodile (with the keg in its mouth)". | ||
F77F | CALL Handler_DestroyItemEvent | |||
F782 | LD A,$4E | Write 4E to *ECBC to open up eastbound access to The Ravine from The Swamp. | ||
F784 | LD ($ECBC),A | |||
Print "The match ignites the
spilled gunpowder.
There is a mighty flash
and a thunderous explosion.
The crocodile has disintegrated.".
|
||||
F787 | LD HL,$DF8E | HL=Messaging_ThrowMatchAtGunpowder. | ||
F78A | JP PrintStringAndNewline_Alias | Jump to PrintStringAndNewline_Alias. | ||
Action_DropThrow_16 | F78D | LD HL,$EA6C | Call MatchPhraseTokens with PhraseTokens_MatchAtCrocodile. | |
F790 | CALL MatchPhraseTokens | |||
F793 | JR NZ,Action_DropThrow_17 | Jump to Action_DropThrow_17 if the token isn't for the . | ||
F795 | LD HL,$E86E | Call CheckActiveScenicEvents with Data_ItemGroup_Match. | ||
F798 | CALL CheckActiveScenicEvents | |||
F79B | CALL Action_DropThrow_1 | Call Action_DropThrow_1. | ||
F79E | LD A,$14 | Call ValidateItemPresent with "A crocodile (with the keg in its mouth)". | ||
F7A0 | CALL ValidateItemPresent | |||
F7A3 | JR Z,Action_DropThrow_15 | Jump to Action_DropThrow_15 if "A crocodile (with the keg in its mouth)" is present in the current room. | ||
F7A5 | JP Response_OK_Duplicate | Jump to Response_OK_Duplicate. | ||
Action_DropThrow_17 | F7A8 | JP Response_IDontSeeThePoint | Jump to Response_IDontSeeThePoint. |
Prev: F481 | Up: Map | Next: F7AB |