![]() |
Routines |
Prev: F52E | Up: Map | Next: F5EB |
|
||||
F544 | LD HL,$E341 | HL=Data_ItemGroup_Roman. | ||
F547 | CALL CheckItemGroupPresent | Call CheckItemGroupPresent. | ||
F54A | CP $0B | Jump to Response_YouveDoneThatAlready if A is equal to 0B. | ||
F54C | JP Z,Response_YouveDoneThatAlready | |||
F54F | CP $0A | Jump to Response_YouCant_Duplicate if A is not equal to 0A. | ||
F551 | JP NZ,Response_YouCant_Duplicate | |||
F554 | LD A,$51 | A=51. | ||
F556 | CALL ValidateItemPresent | Call ValidateItemPresent. | ||
F559 | JP NZ,Response_YouveNothingToTieHimWith | Jump to Response_YouveNothingToTieHimWith if A is not equal to 51. | ||
F55C | LD BC,$0A0B | Call TransformItem to transform item 0A ("The Roman,camped") into item 0B ("The captured Roman"). | ||
F55F | CALL TransformItem | |||
F562 | LD A,$04 | Call AddToScore to add 04 points to the score. | ||
F564 | CALL AddToScore | |||
F567 | LD A,$51 | A=51. | ||
F569 | CALL Handler_DestroyItemEvent | Call Handler_DestroyItemEvent. | ||
F56C | LD HL,$A790 | HL=Count_InventoryItems. | ||
F56F | DEC (HL) | Decrease *HL by one. | ||
F570 | LD HL,$A787 | HL=A787. | ||
F573 | SET 0,(HL) | Set bit 0 of *HL. | ||
F575 | LD HL,$DC58 | HL=Messaging_CaptureTheUnsuspectingRoman. | ||
F578 | JP $ED6D | Jump to ED6D. | ||
F57B | LD HL,$E3C5 | HL=Data_ItemGroup_Ladder. | ||
F57E | CALL CheckItemGroupPresent | Call CheckItemGroupPresent. | ||
F581 | CP $5E | Compare A with 5E. | ||
F583 | JP Z,Response_YouveDoneThatAlready | Jump to Response_YouveDoneThatAlready if A is equal to 5E. | ||
F586 | CP $5C | Compare A with 5C. | ||
F588 | JP Z,Response_YouveDoneThatAlready | Jump to Response_YouveDoneThatAlready if A is equal to 5C. | ||
F58B | CALL IsPlayerCarryingItem | Call IsPlayerCarryingItem. | ||
F58E | LD A,$5A | A=5A. | ||
F590 | CALL Handler_DestroyItemEvent | Call Handler_DestroyItemEvent. | ||
F593 | LD A,$5E | A=5E. | ||
F595 | CALL Handler_UpdateItemEventCurrentRoom | Call Handler_UpdateItemEventCurrentRoom. | ||
F598 | LD HL,$A790 | HL=Count_InventoryItems. | ||
F59B | DEC (HL) | Decrease *HL by one. | ||
F59C | LD A,$60 | Write 60 to *E96A. | ||
F59E | LD ($E96A),A | |||
F5A1 | LD A,$63 | Write 63 to *E959. | ||
F5A3 | LD ($E959),A | |||
F5A6 | LD HL,$A76C | HL=A76C. | ||
F5A9 | BIT 6,(HL) | Test bit 6 of *HL. | ||
F5AB | JP NZ,Response_OK_Duplicate | Jump to Response_OK_Duplicate if *HL is not equal to 63. | ||
F5AE | SET 6,(HL) | Set bit 6 of *HL. | ||
F5B0 | LD A,$04 | Call AddToScore to add 04 points to the score. | ||
F5B2 | CALL AddToScore | |||
F5B5 | JP Response_OK_Duplicate | Jump to Response_OK_Duplicate. | ||
F5B8 | LD HL,$E392 | HL=Data_ItemGroup_Sword. | ||
F5BB | CALL CheckItemGroupPresent | Call CheckItemGroupPresent. | ||
F5BE | CP $59 | Compare A with 59. | ||
F5C0 | JP Z,Response_YouveDoneThatAlready | Jump to Response_YouveDoneThatAlready if A is equal to 59. | ||
F5C3 | CP $39 | Compare A with 39. | ||
F5C5 | JP Z,Response_IDontSeeThePoint | Jump to Response_IDontSeeThePoint if A is equal to 39. | ||
F5C8 | CALL IsPlayerCarryingItem | Call IsPlayerCarryingItem. | ||
F5CB | LD A,E | A=E. | ||
F5CC | CALL Handler_DestroyItemEvent | Call Handler_DestroyItemEvent. | ||
F5CF | LD BC,$5859 | Call TransformItem to transform item 58 ("A stone slab") into item 59 ("A shimmering stone slab with a sword laying upon it"). | ||
F5D2 | CALL TransformItem | |||
F5D5 | LD HL,$A790 | HL=Count_InventoryItems. | ||
F5D8 | DEC (HL) | Decrease *HL by one. | ||
F5D9 | LD HL,$A76D | HL=A76D. | ||
F5DC | BIT 4,(HL) | Test bit 4 of *HL. | ||
F5DE | JP NZ,Response_OK_Duplicate | Jump to Response_OK_Duplicate if *HL is not equal to 39. | ||
F5E1 | SET 4,(HL) | Set bit 4 of *HL. | ||
F5E3 | LD A,$04 | Call AddToScore to add 04 points to the score. | ||
F5E5 | CALL AddToScore | |||
F5E8 | JP Response_OK_Duplicate | Jump to Response_OK_Duplicate. |
Prev: F52E | Up: Map | Next: F5EB |