Prev: F8E4 Up: Map Next: F964
F916: Action: Blow
Blow the horn.
Action_Blow F916 CALL Parser_ValidateDirectObject Call Parser_ValidateDirectObject.
F919 RET C Return if the direct object is malformed.
Was the player trying to blow ... the horn?
F91A LD HL,$E827 Call Parser_AdvanceToSeparator with E827.
F91D CALL Parser_AdvanceToSeparator
F920 JR NZ,Blow_YouCant Jump to Blow_YouCant if the token isn't for the horn.
F922 LD A,$09 Jump to Blow_CheckRoom if "A horn" is held.
F924 CALL IsObjectCarried
F927 JR Z,Blow_CheckRoom
Print "You're no carrying a horn.".
F929 LD HL,$E3A2 HL=Messaging_YoureNoCarryingAHorn.
F92C JP PrintResponse Jump to PrintResponse.
Where is the player blowing the horn?
Blow_CheckRoom F92F LD A,($BA9B) Jump to Blow_FetchDragon if *CurrentRoom is room 17: " The Brink of a Precipice".
F932 CP $17
F934 JR Z,Blow_FetchDragon
F936 CP $34 Jump to Response_ItHasNoApparentEffect if *CurrentRoom isn't room 34: " At the Bottom of the Precipice".
F938 JP NZ,Response_ItHasNoApparentEffect
Is the dragon in play?
Blow_FetchDragon F93B LD A,$16 Call GetObjectLocation with item 16: "A dragon. It is watching you".
F93D CALL GetObjectLocation
F940 AND A Jump to Response_ItHasNoApparentEffect if the dragon is not in play.
F941 JP Z,Response_ItHasNoApparentEffect
F944 LD A,($BA9B) Jump to Blow_ToPrecipice if *CurrentRoom isn't room 17: " The Brink of a Precipice".
F947 CP $17
F949 JR NZ,Blow_ToPrecipice
F94B LD A,$34 Call MovePlayerToRoom with room 34: " At the Bottom of the Precipice".
F94D CALL MovePlayerToRoom
Print "The dragon leaps into the air, catching you carefully. You are lifted with it. The dragon deposits you at the bottom of the precipice.".
F950 LD HL,$E3BD HL=Messaging_TheDragonLeapsIntoTheAir.
F953 JP PrintResponse Jump to PrintResponse.
Move the player to the brink of the precipice.
Blow_ToPrecipice F956 LD A,$17 Call MovePlayerToRoom with room 17: " The Brink of a Precipice".
F958 CALL MovePlayerToRoom
Print "The dragon swoops down and picks you up. It takes you to the top of the precipice.".
F95B LD HL,$E444 HL=Messaging_TheDragonSwoopsDown.
F95E JP PrintResponse Jump to PrintResponse.
Nothing else is valid.
Blow_YouCant F961 JP Response_ItHasNoApparentEffect Jump to Response_ItHasNoApparentEffect.
Prev: F8E4 Up: Map Next: F964