![]() |
Routines |
Prev: 62969 | Up: Map | Next: 63424 |
|
||||
63008 | LD HL,43045 | HL=UserInput_Token_2. | ||
63011 | LD BC,9 | BC=0009. | ||
63014 | LD A,60 | A=60. | ||
63016 | CPIR | CPIR. | ||
63018 | RET | Return. | ||
63019 | LD HL,58258 | HL=Data_ItemGroup_Sword. | ||
63022 | CALL CheckItemGroupPresent | Call CheckItemGroupPresent. | ||
63025 | CALL CheckObjectInInventory | Call CheckObjectInInventory. | ||
63028 | RET Z | Return if A is equal to 60. | ||
63029 | POP HL | Restore HL from the stack. | ||
63030 | CALL 63008 | Call 63008. | ||
63033 | LD A,E | A=E. | ||
63034 | CALL Z,IsPlayerCarryingItem | Call IsPlayerCarryingItem if ?? is equal to 60. | ||
63037 | LD HL,56549 | HL=Messaging_DontHaveAWeopon. | ||
63040 | JP 60781 | Jump to 60781. | ||
63043 | LD HL,58177 | HL=Data_ItemGroup_Roman. | ||
63046 | CALL CheckItemGroupPresent | Call CheckItemGroupPresent. | ||
63049 | CP 12 | Jump to Response_YouveDoneThatAlready if A is equal to 12. | ||
63051 | JP Z,Response_YouveDoneThatAlready | |||
63054 | CP 85 | Jump to Response_YouveDoneThatAlready if A is equal to 85. | ||
63056 | JP Z,Response_YouveDoneThatAlready | |||
63059 | LD (42867),A | Write A to *42867. | ||
63062 | CALL 63019 | Call 63019. | ||
63065 | LD A,(42867) | Jump to 63099 if *42867 is greater than or equal to 4. | ||
63068 | CP 4 | |||
63070 | JR NC,63099 | |||
63072 | LD A,2 | A=2. | ||
63074 | CALL Handler_DestroyItemEvent | Call Handler_DestroyItemEvent. | ||
63077 | LD A,3 | A=3. | ||
63079 | CALL Handler_DestroyItemEvent | Call Handler_DestroyItemEvent. | ||
63082 | LD A,8 | A=8. | ||
63084 | CALL Handler_DestroyItemEvent | Call Handler_DestroyItemEvent. | ||
63087 | LD BC,1802 | Call TransformItem to transform item 7 ( N/A) into item 10 ("The Roman,camped"). | ||
63090 | CALL TransformItem | |||
63093 | LD HL,56574 | HL=Messaging_RomanIsUnnerved. | ||
63096 | JP 60781 | Jump to 60781. | ||
63099 | CP 10 | Jump to 63115 if A is not equal to 10. | ||
63101 | JR NZ,63115 | |||
63103 | LD BC,2572 | Call TransformItem to transform item 10 ("The Roman,camped") into item 12 ("The body of the Roman"). | ||
63106 | CALL TransformItem | |||
63109 | LD HL,56650 | HL=Messaging_BlowStrikesTrue. | ||
63112 | JP 60781 | Jump to 60781. | ||
63115 | LD BC,2901 | Call TransformItem to transform item 11 ("The captured Roman") into item 85 ("The body of the Roman"). | ||
63118 | CALL TransformItem | |||
63121 | LD HL,42887 | HL=42887. | ||
63124 | RES 0,(HL) | Reset bit 0 of *HL. | ||
63126 | CALL 63109 | Call 63109. | ||
63129 | LD HL,56686 | HL=Messaging_VeryCowardly. | ||
63132 | JP 60781 | Jump to 60781. | ||
63135 | LD HL,58184 | HL=Data_ItemGroup_Fomorian. | ||
63138 | CALL CheckItemGroupPresent | Call CheckItemGroupPresent. | ||
63141 | LD HL,64650 | HL=64650. | ||
63144 | LD BC,3 | BC=0003. | ||
63147 | CPIR | CPIR. | ||
63149 | JP Z,Response_YouveDoneThatAlready | Jump to Response_YouveDoneThatAlready if A is equal to 10. | ||
63152 | LD (42867),A | Write A to *42867. | ||
63155 | CALL 63019 | Call 63019. | ||
63158 | LD A,(42867) | Jump to 63175 if *42867 is not equal to 15. | ||
63161 | CP 15 | |||
63163 | JR NZ,63175 | |||
63165 | LD HL,59826 | HL=GameOver. | ||
63168 | EX (SP),HL | Exchange the *SP with the HL register. | ||
63169 | LD HL,56710 | HL=Messaging_AttackInVain. | ||
63172 | JP 60781 | Jump to 60781. | ||
63175 | LD A,57 | A=57. | ||
63177 | CALL ValidateItemPresent | Call ValidateItemPresent. | ||
63180 | JR Z,63188 | Jump to 63188 if A is equal to 57. | ||
63182 | LD HL,56757 | HL=Messaging_FomorianUnaffected. | ||
63185 | JP 60781 | Jump to 60781. | ||
63188 | LD A,(42867) | A=*42867. | ||
63191 | LD B,A | B=A. | ||
63192 | ADD A,9 | A+=9. | ||
63194 | LD C,A | C=A. | ||
63195 | CALL TransformItem | Call TransformItem. | ||
63198 | JP 63109 | Jump to 63109. | ||
63201 | LD A,38 | A=38. | ||
63203 | CALL ValidateItemPresent | Call ValidateItemPresent. | ||
63206 | JP Z,Response_YouveDoneThatAlready | Jump to Response_YouveDoneThatAlready if A is equal to 38. | ||
63209 | CALL 63008 | Call 63008. | ||
63212 | JR NZ,63223 | Jump to 63223 if A is not equal to 38. | ||
63214 | LD HL,58258 | HL=Data_ItemGroup_Sword. | ||
63217 | CALL CheckItemGroupPresent | Call CheckItemGroupPresent. | ||
63220 | CALL IsPlayerCarryingItem | Call IsPlayerCarryingItem. | ||
63223 | LD BC,4902 | Call TransformItem to transform item 19 ("A hare,caught by the leg,in a trap") into item 38 ("A dead hare,caught in a trap"). | ||
63226 | CALL TransformItem | |||
63229 | LD HL,56799 | HL=Messaging_NoLongerSuffers. | ||
63232 | JP 60781 | Jump to 60781. | ||
63235 | LD (42866),HL | Write HL to *42866. | ||
63238 | CALL 63019 | Call 63019. | ||
63241 | LD HL,59826 | HL=GameOver. | ||
63244 | EX (SP),HL | Exchange the *SP with the HL register. | ||
63245 | LD HL,(42866) | HL=*42866. | ||
63248 | JP 60781 | Jump to 60781. | ||
63251 | CALL 63019 | Call 63019. | ||
63254 | CALL 63109 | Call 63109. | ||
63257 | LD HL,56826 | HL=Messaging_MobbedByAngryVillagers. | ||
63260 | JP 63235 | Jump to 63235. | ||
63263 | LD HL,58231 | HL=Data_ItemGroup_Warrior. | ||
63266 | CALL CheckItemGroupPresent | Call CheckItemGroupPresent. | ||
63269 | CP 39 | Jump to 63135 if A is not equal to 39. | ||
63271 | JP NZ,63135 | |||
63274 | LD HL,56549 | HL=Messaging_DontHaveAWeopon. | ||
63277 | JP 60781 | Jump to 60781. | ||
63280 | CALL 63019 | Call 63019. | ||
63283 | LD HL,56881 | HL=Messaging_YouCantTooManyOfThem. | ||
63286 | JP 60781 | Jump to 60781. | ||
63289 | LD A,69 | A=69. | ||
63291 | CALL ValidateItemPresent | Call ValidateItemPresent. | ||
63294 | JP Z,Response_YouveDoneThatAlready | Jump to Response_YouveDoneThatAlready if A is equal to 69. | ||
63297 | CALL 63019 | Call 63019. | ||
63300 | LD A,86 | A=86. | ||
63302 | CALL CheckObjectInInventory | Call CheckObjectInInventory. | ||
63305 | LD HL,56919 | HL=Messaging_AttackBoldly. | ||
63308 | JP NZ,63235 | Jump to 63235 if A is not equal to 86. | ||
63311 | LD BC,17477 | Call TransformItem to transform item 68 ("A bear") into item 69 ("A dead bear"). | ||
63314 | CALL TransformItem | |||
63317 | LD A,44 | Write 44 to *59469. | ||
63319 | LD (59469),A | |||
63322 | LD A,53 | Write 53 to *59470. | ||
63324 | LD (59470),A | |||
63327 | LD A,4 | Call AddToScore to add 4 points to the score. | ||
63329 | CALL AddToScore | |||
63332 | LD HL,56990 | HL=Messaging_YourBlowStrikesTrue. | ||
63335 | JP 60781 | Jump to 60781. | ||
63338 | CALL 63019 | Call 63019. | ||
63341 | CALL 63109 | Call 63109. | ||
63344 | LD HL,57026 | HL=Messaging_GuardOnTheRampartAbove. | ||
63347 | JP 63235 | Jump to 63235. | ||
63350 | CALL 63019 | Call 63019. | ||
63353 | LD HL,57072 | HL=Messaging_DruidAvoidsBlow. | ||
63356 | JP 63235 | Jump to 63235. | ||
63359 | LD A,80 | A=80. | ||
63361 | CALL ValidateItemPresent | Call ValidateItemPresent. | ||
63364 | JP Z,Response_YouveDoneThatAlready | Jump to Response_YouveDoneThatAlready if A is equal to 80. | ||
63367 | CALL 63019 | Call 63019. | ||
63370 | LD BC,20304 | Call TransformItem to transform item 79 ("A pig") into item 80 ("A dead pig"). | ||
63373 | CALL TransformItem | |||
63376 | JP 63332 | Jump to 63332. | ||
63379 | LD A,82 | A=82. | ||
63381 | CALL ValidateItemPresent | Call ValidateItemPresent. | ||
63384 | JP NZ,Response_YouveDoneThatAlready | Jump to Response_YouveDoneThatAlready if A is not equal to 82. | ||
63387 | CALL 63019 | Call 63019. | ||
63390 | LD BC,21075 | Call TransformItem to transform item 82 ("A wild ox,tethered to the pen by a length of rope") into item 83 ("A dead ox,tethered by a piece of rope"). | ||
63393 | CALL TransformItem | |||
63396 | LD A,4 | Call AddToScore to add 4 points to the score. | ||
63398 | CALL AddToScore | |||
63401 | JP 63332 | Jump to 63332. | ||
This entry point is used by the routines at 62207 and 62237.
|
||||
63404 | LD A,25 | A=25. | ||
63406 | CALL CheckObjectInInventory | Call CheckObjectInInventory. | ||
63409 | RET NZ | Return if A is not equal to 25. | ||
63410 | LD A,E | A=E. | ||
63411 | CALL Handler_DestroyItemEvent | Call Handler_DestroyItemEvent. | ||
63414 | LD HL,42896 | Decrease *Count_InventoryItems by one. | ||
63417 | DEC (HL) | |||
63418 | LD HL,57440 | HL=Messaging_SaltHasDissolved. | ||
63421 | JP 60781 | Jump to 60781. |
Prev: 62969 | Up: Map | Next: 63424 |