Prev: F097 Up: Map Next: F12E
F09C: Action: Help
Action_Help F09C CALL Parser_ValidateNoDirectObject Call Parser_ValidateNoDirectObject.
The "HELP" command can only be called on its own; you can't type "HELP CROCODILE" or "HELP WITH MATCH".
F09F RET C Return if there's any token set in UserInput_Token_2.
Does the player want help with the natives/ cannibals?
F0A0 LD A,$18 Jump to Action_Help_Boulder if ValidateItemPresent reports the player isn't in the room where you're "Surrounded by natives".
F0A2 CALL ValidateItemPresent
F0A5 JR NZ,Action_Help_Boulder
Provide an initial full response for the natives/ cannibals.
F0A7 LD HL,$BC54 Jump to Action_Help_Cannibals if bit 1 of *GameFlags_Help is set, which relates to asking for help a second time.
F0AA BIT 1,(HL)
F0AC JR NZ,Action_Help_Cannibals
This is the first time the player has asked for help on this topic, so flag that it's been answered from now on.
F0AE SET 1,(HL) Set bit 1 of *GameFlags_Help which relates to asking for help about the natives/ cannibals.
Print "You're really in the soup now.".
F0B0 LD HL,$D974 HL=D974.
F0B3 CALL PrintStringAndNewline Call PrintStringAndNewline.
Print "Sorry... That was in poor taste.".
F0B6 LD HL,$D993 HL=D993.
F0B9 CALL PausePrintStringAndScroll Call PausePrintStringAndScroll.
Print "Try distracting them.".
Action_Help_Cannibals F0BC LD HL,$D9B4 HL=D9B4.
F0BF JP PausePrintStringAndScroll_Alias Jump to PausePrintStringAndScroll_Alias.
Does the player want help with the boulder?
Action_Help_Boulder F0C2 LD A,$39 Jump to Action_Help_Crocodile if ValidateItemPresent reports the player isn't in the room where there's a "A boulder on the brink of a ledge".
F0C4 CALL ValidateItemPresent
F0C7 JR NZ,Action_Help_Crocodile
The player is where the boulder is, so provide some pretty good help.
Print "Keep the noise down.".
F0C9 LD HL,$D9CA HL=D9CA.
F0CC JP PrintStringAndNewline_Alias Jump to PrintStringAndNewline_Alias.
Does the player want help with the crocodile?
Action_Help_Crocodile F0CF LD A,$13 Jump to label=Action_Help_CrocodileKeg if ValidateItemPresent reports the player isn't in the room where there's "A crocodile".
F0D1 CALL ValidateItemPresent
F0D4 JR NZ,label=Action_Help_CrocodileKeg
The player is where the crocodile is, so provide some abstract unhelpful help.
Print "Look at those JAWS!".
F0D6 LD HL,$D9DF HL=D9DF.
F0D9 JP PrintStringAndNewline_Alias Jump to PrintStringAndNewline_Alias.
Does the player want help with the crocodile with the keg in its mouth?
label=Action_Help_CrocodileKeg F0DC LD A,$14 Jump to Response_WorkItOutForYourself if ValidateItemPresent reports that "A crocodile (with the keg in its mouth)" is in the same room as the player.
F0DE CALL ValidateItemPresent
F0E1 JP Z,Response_WorkItOutForYourself
Does the player want help with the giant octopus?
F0E4 LD A,$2B Jump to Response_WorkItOutForYourself if ValidateItemPresent reports that "A giant octopus" is in the same room as the player.
F0E6 CALL ValidateItemPresent
F0E9 JP Z,Response_WorkItOutForYourself
Does the player want help with the lion?
F0EC LD A,$2A Jump to Action_Help_Parrot if ValidateItemPresent reports the player isn't in the room where there's "A lion".
F0EE CALL ValidateItemPresent
F0F1 JR NZ,Action_Help_Parrot
The player is where the lion is, so provide some abstract unhelpful help.
Print "Nice pussy!".
F0F3 LD HL,$DA27 HL=DA27.
F0F6 JP PrintStringAndNewline_Alias Jump to PrintStringAndNewline_Alias.
Does the player want help with the parrot?
Action_Help_Parrot F0F9 LD A,$27 Jump to Action_Help_Sea if ValidateItemPresent reports the player isn't in the room where there's "A parrot (alive)".
F0FB CALL ValidateItemPresent
F0FE JR NZ,Action_Help_Sea
The player is where the parrot is, so provide some abstract unhelpful help.
Print "Pretty polly!".
F100 LD HL,$DA33 HL=DA33.
F103 JP PrintStringAndNewline_Alias Jump to PrintStringAndNewline_Alias.
Does the player want help when they're at sea?
Action_Help_Sea F106 LD A,($BCCB) Jump to Action_Help_Door if the *CurrentRoom is not room 02: " The Open Sea".
F109 CP $02
F10B JR NZ,Action_Help_Door
More unhelpful help ...
Print "Now you're really lost.".
F10D LD HL,$DA41 HL=DA41.
F110 JP PrintStringAndNewline_Alias Jump to PrintStringAndNewline_Alias.
Does the player want help with the door?
Action_Help_Door F113 LD A,$32 Jump to Response_WorkItOutForYourself if ValidateItemPresent reports that "The door is closed" is in the same room as the player.
F115 CALL ValidateItemPresent
F118 JP Z,Response_WorkItOutForYourself
Does the player want help with the pit?
F11B LD HL,$E8E9 Call CheckActiveScenicEvents with Data_ItemGroup_Pit.
F11E CALL CheckActiveScenicEvents
F121 JR NZ,Action_Help_GiveUp Jump to Action_Help_GiveUp if the player is not in the room with the pit.
Does the player want help with the plank?
F123 LD A,$04 Jump to Response_WorkItOutForYourself if ValidateItemPresent reports that "A plank" is in the same room as the player.
F125 CALL ValidateItemPresent
F128 JP Z,Response_WorkItOutForYourself
There's no more help available...
Action_Help_GiveUp F12B JP Response_YouReallyDontNeedIt Jump to Response_YouReallyDontNeedIt.
Prev: F097 Up: Map Next: F12E