![]()  | 
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 |