![]() |
Routines |
Prev: F16B | Up: Map | Next: F236 |
|
||||
Action_Examine | F19D | CALL Parser_ValidateDirectObject | Call Parser_ValidateDirectObject. | |
F1A0 | RET C | Return if the direct object is malformed. | ||
F1A1 | CP $01 | Jump to Response_OneAtATimePlease if A is not equal to 01. | ||
F1A3 | JP NZ,Response_OneAtATimePlease | |||
Was the player trying to examine ... the bottle?
|
||||
F1A6 | LD HL,$E9CA | Call MatchPhraseTokens with PhraseTokens_Bottle. | ||
F1A9 | CALL MatchPhraseTokens | |||
F1AC | JR NZ,Validate_Examine_Fish | Jump to Validate_Examine_Fish if the token isn't for the bottle. | ||
The player was trying to examine the bottle, but the bottle has "states" - before you examine it for the first time it's simply "A bottle" but after, it becomes "A bottle of rum"! So is it currently only "A bottle"?
|
||||
F1AE | LD HL,$E87A | Call CheckActiveScenicEvents with Data_ItemGroup_Bottle_1. | ||
F1B1 | CALL CheckActiveScenicEvents | |||
F1B4 | CP $0B | Jump to Validate_Examine_Fish if the bottle is not item 0B: "A bottle" (if it's already been declared to contain rum). | ||
F1B6 | JR NZ,Validate_Examine_Fish | |||
Change the bottle state!
|
||||
F1B8 | LD BC,$0B0C | Call TransformItem to transform item 0B ("A bottle") into item 0C ("A bottle of rum"). | ||
F1BB | CALL TransformItem | |||
Print "It's full of rum!".
|
||||
F1BE | LD HL,$DA73 | HL=DA73. | ||
F1C1 | JP PrintStringAndNewline_Alias | Jump to PrintStringAndNewline_Alias. | ||
Was the player trying to examine ... the fish?
|
||||
Validate_Examine_Fish | F1C4 | LD HL,$E9CC | Call MatchPhraseTokens with PhraseTokens_Fish. | |
F1C7 | CALL MatchPhraseTokens | |||
F1CA | JR NZ,Validate_Examine_Watch | Jump to Validate_Examine_Watch if the token isn't for the fish. | ||
The player was trying to examine the fish, it also has "states" similarly to the bottle. Before you examine it for the first time, it's simply "A strangely coloured fish" and afterwards it becomes "A red herring"!
|
||||
F1CC | LD A,$1B | Call ValidateItemPresent with "A strangely coloured fish". | ||
F1CE | CALL ValidateItemPresent | |||
F1D1 | JR NZ,Validate_Examine_Watch | Jump to Validate_Examine_Watch if "A strangely coloured fish" isn't in the current room or players inventory. | ||
Change the fish state!
|
||||
F1D3 | LD BC,$1B1C | Call TransformItem to transform item 1B ("A strangely coloured fish") into item 1C ("A red herring"). | ||
F1D6 | CALL TransformItem | |||
Print "It's a red herring!".
|
||||
F1D9 | LD HL,$DA85 | HL=DA85. | ||
F1DC | JP PrintStringAndNewline_Alias | Jump to PrintStringAndNewline_Alias. | ||
Was the player trying to examine ... the watch?
|
||||
Validate_Examine_Watch | F1DF | LD HL,$E9D1 | Call MatchPhraseTokens with PhraseTokens_Watch. | |
F1E2 | CALL MatchPhraseTokens | |||
F1E5 | JR NZ,Validate_Examine_Shoe | Jump to Validate_Examine_Shoe if the token isn't for the watch. | ||
Print "It appears to work.".
|
||||
F1E7 | LD HL,$DA99 | HL=DA99. | ||
F1EA | JP PrintStringAndNewline_Alias | Jump to PrintStringAndNewline_Alias. | ||
Was the player trying to examine ... the shoe?
|
||||
Validate_Examine_Shoe | F1ED | LD HL,$E9D3 | Call MatchPhraseTokens with PhraseTokens_Shoe. | |
F1F0 | CALL MatchPhraseTokens | |||
F1F3 | JR NZ,Validate_Examine_Rod | Jump to Validate_Examine_Rod if the token isn't for the shoe. | ||
Print "It is quite well made
and in good condition.".
|
||||
F1F5 | LD HL,$DAAD | HL=DAAD. | ||
F1F8 | JP PrintStringAndNewline_Alias | Jump to PrintStringAndNewline_Alias. | ||
Was the player trying to examine ... the rod?
|
||||
Validate_Examine_Rod | F1FB | LD HL,$E9D5 | Call MatchPhraseTokens with PhraseTokens_Rod. | |
F1FE | CALL MatchPhraseTokens | |||
F201 | JR NZ,Validate_Examine_Fruit | Jump to Validate_Examine_Fruit if the token isn't for the rod. | ||
Print "It has a circular cross-section.".
|
||||
F203 | LD HL,$DADA | HL=DADA. | ||
F206 | JP PrintStringAndNewline_Alias | Jump to PrintStringAndNewline_Alias. | ||
Was the player trying to examine ... the fruit?
|
||||
Validate_Examine_Fruit | F209 | LD HL,$E9D7 | Call MatchPhraseTokens with PhraseTokens_Fruit. | |
F20C | CALL MatchPhraseTokens | |||
F20F | JR NZ,Validate_Examine_Bridge | Jump to Validate_Examine_Bridge if the token isn't for the fruit. | ||
Print "It looks delicious.".
|
||||
F211 | LD HL,$DAFB | HL=DAFB. | ||
F214 | JP PrintStringAndNewline_Alias | Jump to PrintStringAndNewline_Alias. | ||
Was the player trying to examine ... the bridge?
|
||||
Validate_Examine_Bridge | F217 | LD HL,$E9D9 | Call MatchPhraseTokens with PhraseTokens_Bridge. | |
F21A | CALL MatchPhraseTokens | |||
F21D | JR NZ,Validate_Examine_Jewels | Jump to Validate_Examine_Jewels if the token isn't for the bridge. | ||
Print "Be careful.
It won't carry much weight.".
|
||||
F21F | LD HL,$DB0F | HL=DB0F. | ||
F222 | JP PrintStringAndNewline_Alias | Jump to PrintStringAndNewline_Alias. | ||
Was the player trying to examine ... the jewels?
|
||||
Validate_Examine_Jewels | F225 | LD HL,$E9DB | Call MatchPhraseTokens with PhraseTokens_Jewels. | |
F228 | CALL MatchPhraseTokens | |||
F22B | JR NZ,Examine_Invalid | Jump to Examine_Invalid if the token isn't for the jewels. | ||
Print "They are very beautiful
and very heavy.".
|
||||
F22D | LD HL,$DB37 | HL=DB37. | ||
F230 | JP PrintStringAndNewline_Alias | Jump to PrintStringAndNewline_Alias. | ||
Nothing else is valid.
|
||||
Examine_Invalid | F233 | JP Response_IDontSeeThePoint | Jump to Response_IDontSeeThePoint. |
Prev: F16B | Up: Map | Next: F236 |