![]() |
Routines |
Prev: 63019 | Up: Map | Next: 63135 |
|
||||
The player wants to kill the Roman, check which version of the Roman is is in the current room.
|
||||
Process_KillRomanWithSword | 63043 | LD HL,58177 | Call CheckItemGroupPresent with Data_ItemGroup_Roman. | |
63046 | CALL CheckItemGroupPresent | |||
Print "You've done that already." if the Roman is already dead...
|
||||
63049 | CP 12 | Jump to Response_YouveDoneThatAlready if the version of the Roman in the current room is either "The body of the Roman" or "The body of the Roman". | ||
63051 | JP Z,Response_YouveDoneThatAlready | |||
63054 | CP 85 | |||
63056 | JP Z,Response_YouveDoneThatAlready | |||
63059 | LD (42867),A | Temporarily stash the version of the Roman in *TemporaryStorage_SingleByte. | ||
Make sure the player is even carrying a sword.
|
||||
63062 | CALL IsPlayerCarryingSword | Call IsPlayerCarryingSword. | ||
63065 | LD A,(42867) | Restore the version of the Roman from *TemporaryStorage_SingleByte. | ||
63068 | CP 4 | Jump to IsRomanCamping if the version of the Roman is greater than or equal to item 4: N/A. | ||
63070 | JR NC,IsRomanCamping | |||
63072 | LD A,2 | Call Handler_DestroyItemEvent with item 2: N/A. | ||
63074 | CALL Handler_DestroyItemEvent | |||
63077 | LD A,3 | Call Handler_DestroyItemEvent with item 3: N/A. | ||
63079 | CALL Handler_DestroyItemEvent | |||
63082 | LD A,8 | Call Handler_DestroyItemEvent with item 8: N/A. | ||
63084 | CALL Handler_DestroyItemEvent | |||
Change the Roman state!
|
||||
63087 | LD BC,1802 | Call TransformItem to transform item 7 ( N/A) into item 10 ("The Roman,camped"). | ||
63090 | CALL TransformItem | |||
Print "The Roman is unnerved by the
ferocity of your attack.
He runs off,in panic.".
|
||||
63093 | LD HL,56574 | HL=Messaging_RomanIsUnnerved. | ||
63096 | JP PrintStringAndNewline_Duplicate | Jump to PrintStringAndNewline_Duplicate. | ||
If the Roman is camped, you can surprise attack him and can kill him.
|
||||
IsRomanCamping | 63099 | CP 10 | Jump to KillRomanWithSword if the version of the Roman is not "The Roman,camped". | |
63101 | JR NZ,KillRomanWithSword | |||
Poor guy is just camping and now he's dead, I hope you're happy with yourself.
Change the Roman state!
|
||||
63103 | LD BC,2572 | Call TransformItem to transform item 10 ("The Roman,camped") into item 12 ("The body of the Roman"). | ||
63106 | CALL TransformItem | |||
This entry point is used by the routines at Process_KillFomorian, Process_KillTrader and Process_KillGuard.
Print "Your blow strikes true.
He is dead.".
|
||||
Response_KilledRoman | 63109 | LD HL,56650 | HL=Messaging_BlowStrikesTrue. | |
63112 | JP PrintStringAndNewline_Duplicate | Jump to PrintStringAndNewline_Duplicate. | ||
The player has killed the Roman ... process this event.
Change the Roman state!
|
||||
KillRomanWithSword | 63115 | LD BC,2901 | Call TransformItem to transform item 11 ("The captured Roman") into item 85 ("The body of the Roman"). | |
63118 | CALL TransformItem | |||
The Roman is no longer captured, so unset the game flag.
|
||||
63121 | LD HL,42887 | Reset bit 0 of *Flag_EventStates which relates to having captured the Roman. | ||
63124 | RES 0,(HL) | |||
63126 | CALL Response_KilledRoman | Call Response_KilledRoman. | ||
Print "That was very cowardly.".
|
||||
63129 | LD HL,56686 | HL=Messaging_VeryCowardly. | ||
63132 | JP PrintStringAndNewline_Duplicate | Jump to PrintStringAndNewline_Duplicate. |
Prev: 63019 | Up: Map | Next: 63135 |