Prev: 63019 Up: Map Next: 63135
63043: Process: Kill Roman With Sword
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