Prev: 962B Up: Map Next: 9A85
96B3: Routine at 96B3
Used by the routine at 77D1.
96B3 PUSH HL
96B4 PUSH IX
96B6 PUSH IY
96B8 PUSH BC
96B9 PUSH DE
96BA CALL ActionClimbOut_22
96BD CALL $980E
96C0 SUB A
96C1 LD ($B6F0),A
96C4 INC A
96C5 LD ($B6FB),A
96C8 LD ($B6FA),A
96CB LD IY,$CA84
96CF LD A,(IY+$00)
96D2 CP $FF
96D4 JR Z,$971B
96D6 LD A,(IY+$01)
96D9 CP $00
96DB JR Z,$9713
96DD DEC A
96DE LD (IY+$01),A
96E1 CP $00
96E3 JR NZ,$96FE
96E5 LD A,($B6F0)
96E8 CP $01
96EA LD (IY+$01),A
96ED JR Z,$96FE
96EF INC A
96F0 LD ($B6F0),A
96F3 LD L,(IY+$02)
96F6 LD H,(IY+$03)
96F9 CALL TriggerAction
96FC JR $9713
96FE LD A,(IY+$04)
9701 CP $00
9703 JR Z,$9713
9705 CP (IY+$01)
9708 JR C,$9713
970A LD L,(IY+$05)
970D LD H,(IY+$06)
9710 CALL TriggerAction
9713 LD DE,$0007
9716 ADD IY,DE
9718 JP $96CF
971B LD A,$01
971D LD ($B702),A
9720 POP DE
9721 POP BC
9722 POP IY
9724 POP IX
9726 POP HL
9727 RET
This entry point is used by the routine at Action_Examine.
9728 CP $FF
972A RET Z
972B PUSH IX
972D PUSH IY
972F PUSH BC
9730 LD B,A
9731 LD A,($B6EA)
9734 CP $00
9736 JR Z,$973B
9738 XOR A
9739 JR $9776
973B LD A,B
973C CALL LocateObject
973F LD A,(IX+$01)
9742 CP $FF
9744 JR Z,$9776
9746 LD A,B
9747 PUSH IX
9749 POP IY
974B CALL $9C7B
974E JR C,$9776
9750 CALL LocateObject
9753 BIT 6,(IX+$07)
9757 JR Z,$9776
9759 LD A,($C122)
975C BIT 7,A
975E JR Z,$9776
9760 LD L,(IY+$08)
9763 LD H,(IY+$09)
9766 PUSH HL
9767 LD L,(IX+$08)
976A LD H,(IX+$09)
976D PUSH HL
976E LD HL,$AFE4 HL="[0x04] is carrying[0x04][0x15]".
9771 CALL PrintMsg Call PrintMsg.
9774 OR $01
9776 POP BC
9777 POP IY
9779 POP IX
977B RET
This entry point is used by the routine at ActionBurn.
977C LD A,($B6E8)
This entry point is used by the routines at Action_Shoot, Action_Attack, ActionBurn and ActionClimbOut.
977F AND A
9780 JP Z,YouAreDead
9783 PUSH BC
9784 PUSH IY
9786 PUSH IX
9788 LD C,A
9789 CALL LocateObject
978C SET 3,(IX+$07)
9790 CALL $9D53
9793 LD A,C
9794 CALL $9A85
9797 CP $FF
9799 LD A,C
979A JR Z,$97A0
979C LD (IY+$00),$00
97A0 CALL DisplayExits_6
97A3 LD A,C
97A4 CALL $7F60
97A7 POP IX
97A9 POP IY
97AB POP BC
97AC RET
This entry point is used by the routine at SquiggleLine.
97AD SUB A
97AE LD ($B6EA),A
97B1 LD ($B6F1),A
97B4 LD ($B6F9),A
97B7 LD HL,$C11B
97BA LD ($B70C),HL
97BD LD A,$04
97BF CALL GetRandomNum
97C2 INC A
97C3 LD B,A
97C4 LD IY,$C808
97C8 LD DE,$0006
97CB ADD IY,DE
97CD DJNZ $97CB
97CF LD ($A7D1),IY
97D3 LD L,(IY+$01)
97D6 LD H,(IY+$02)
97D9 LD B,$03
97DB LD (HL),$00
97DD INC HL
97DE DJNZ $97DB
97E0 LD A,$03
97E2 CALL GetRandomNum
97E5 LD E,A
97E6 LD D,$00
97E8 SLA E
97EA SLA E
97EC LD HL,$C7FC
97EF ADD HL,DE
97F0 LD ($B6EE),HL
97F3 RET
This entry point is used by the routine at ActionClimbOut.
97F4 CALL PrintMsg
97F7 LD A,$2E
97F9 CALL $858B
97FC JP $8583
This entry point is used by the routines at ActionBurn, ActionCapture and ActionClimbOut.
97FF PUSH BC
9800 LD BC,($B6FA)
9804 LD A,C
9805 AND B
9806 JR NZ,$9809
9808 POP BC
9809 POP BC
980A RET
980B NOP
980C NOP
980D NOP
980E CALL Action_None
9811 LD IY,$CACB
9815 XOR A
9816 LD ($980B),A
9819 LD A,(IY+$00)
981C CP $FF
981E JP Z,$9909
9821 CP $00
9823 JP Z,$9901
9826 LD ($B6EA),A
9829 CALL ObjectFirstLocation
982C LD ($B70C),IX
9830 LD ($B6F6),A
9833 SUB A
9834 LD ($B702),A
9837 LD A,(IY+$00)
983A PUSH IY
983C LD IY,$C11B
9840 CALL $9E25
9843 POP IY
9845 JR Z,$9868
9847 LD A,($980C)
984A CP $02
984C JR Z,$9868
984E LD A,$01
9850 LD ($B702),A
9853 LD A,($980C)
9856 CP $01
9858 JR NZ,$9868
985A INC A
985B LD ($980C),A
985E LD HL,$B027
9861 CALL PrintMsg
9864 SUB A
9865 LD ($B702),A
9868 LD A,$FF
986A CP (IX+$01)
986D JP NZ,$9B16
This entry point is used by the routine at 9B16.
9870 LD IX,($B70C)
9874 CALL $7F10
9877 LD A,$00
9879 JR NZ,$987C
987B INC A
987C LD ($B6F4),A
987F LD L,(IY+$02)
9882 LD H,(IY+$03)
9885 LD A,($980B)
9888 CP $06
988A JR Z,$9901
988C LD A,(HL)
988D LD DE,$0004
9890 PUSH HL
9891 POP IX
9893 AND $0F
9895 CP $05
9897 JR NC,$98CB
9899 LD A,($B6F4)
989C CP $01
989E JR NZ,$98BF
98A0 BIT 6,(HL)
98A2 JR NZ,$98BF
98A4 SUB A
98A5 LD ($B6F4),A
98A8 INC A
98A9 CALL $7F1A
98AC JR Z,$98BF
98AE LD A,$01
98B0 LD ($B6FA),A
98B3 LD ($B6FB),A
98B6 LD HL,$9901
98B9 PUSH HL
98BA PUSH IX
98BC JP $99CE
98BF LD A,(HL)
98C0 AND $0F
98C2 CP $04
98C4 JP Z,$9974
98C7 JR C,$9928
98C9 JR $9901
98CB CP $0E
98CD JR NZ,$98DD
98CF LD E,(IX+$01)
98D2 LD (IY+$02),E
98D5 LD E,(IX+$02)
98D8 LD (IY+$03),E
98DB JR $987F
98DD CP $0C
98DF JR NZ,$98EC
98E1 LD B,(IX+$01)
98E4 LD A,(IY+$00)
98E7 CALL $9AA0
98EA JR $987F
98EC CP $0F
98EE JR NZ,$98F5
98F0 CALL $9A59
98F3 JR $987F
98F5 CP $00
98F7 JR NZ,$98FC
98F9 ADD HL,DE
98FA JR $9885
98FC SUB A
98FD LD E,A
98FE CALL $9A68
This entry point is used by the routine at 9B16.
9901 LD DE,$0007
9904 ADD IY,DE
9906 JP $9815
9909 SUB A
990A LD ($B6EA),A
990D INC A
990E LD ($B702),A
9911 LD HL,$C11B
9914 LD ($B70C),HL
9917 RET
9918 ADD HL,DE
9919 BIT 4,(IX+$00)
991D JR Z,$9921
991F INC HL
9920 INC HL
9921 LD (IY+$02),L
9924 LD (IY+$03),H
9927 RET
9928 CALL $9918
992B BIT 0,(IX+$00)
992F JR NZ,$994A
9931 LD A,(IX+$01)
9934 LD ($B6E7),A
9937 LD A,(IX+$02)
993A LD ($B6E8),A
993D LD A,(IX+$03)
9940 LD ($B6E9),A
9943 CALL $99C6
9946 JR Z,$99AA
9948 JR $9967
994A LD L,(IX+$01)
994D LD H,(IX+$02)
9950 SUB A
9951 LD ($B6FA),A
9954 LD ($B6FB),A
9957 CALL TriggerAction
995A LD A,($B6FB)
995D CP $01
995F JR NZ,$99AA
9961 LD ($B6FA),A
9964 CALL TriggerAction
9967 BIT 5,(IX+$00)
996B JP Z,$9901
996E LD (IX+$00),$00
9972 JR $9901
9974 LD DE,$0002
9977 CALL $9918
997A LD A,(IX+$01)
997D CP $FF
997F JR Z,$9994
9981 LD ($B6E7),A
9984 LD A,$FF
9986 LD ($B6E8),A
9989 LD ($B6E9),A
998C CALL $99C6
998F JR Z,$99AA
9991 JP $9901
9994 BIT 4,(IX+$00)
9998 JP Z,$9901
999B LD L,(IX+$02)
999E LD H,(IX+$03)
99A1 LD (IY+$02),L
99A4 LD (IY+$03),H
99A7 JP $9901
99AA LD HL,$980B
99AD INC (HL)
99AE BIT 4,(IX+$00)
99B2 JP Z,$987F
99B5 ADD IX,DE
99B7 LD H,(IX+$01)
99BA LD L,(IX+$00)
99BD LD (IY+$02),L
99C0 LD (IY+$03),H
99C3 JP $9885
This entry point is used by the routine at 9B16.
99C6 PUSH IX
99C8 CALL $7AF5
99CB JP Z,$9A56
99CE LD A,($B6FE)
99D1 CP $01
99D3 JR Z,$9A32
99D5 LD A,($B6E7)
99D8 CP $1E
99DA JR NZ,$99E5
99DC LD A,($B6F6)
99DF LD HL,$C12B
99E2 CP (HL)
99E3 JR NZ,$9A32
99E5 LD A,($B6E8)
99E8 CP $FF
99EA JR Z,$9A2B
99EC CALL ObjectFirstLocation
99EF LD ($980D),A
99F2 CP $FF
99F4 JR NZ,$9A2B
99F6 LD BC,($B6F5)
99FA LD A,C
99FB CP B
99FC JR Z,$9A2B
99FE LD B,(IX+$00)
9A01 CP (IX+$10)
9A04 JR Z,$9A0C
9A06 INC IX
9A08 DJNZ $9A01
9A0A JR $9A2B
9A0C LD A,($B6EA)
9A0F LD B,A
9A10 LD A,$FF
9A12 LD ($B6EA),A
9A15 LD A,$01
9A17 LD ($B702),A
9A1A PUSH IY
9A1C CALL $712B
9A1F POP IY
9A21 SUB A
9A22 LD ($B702),A
9A25 LD A,B
9A26 LD ($B6EA),A
9A29 JR $9A32
9A2B PUSH IY
9A2D CALL $712B
9A30 POP IY
9A32 CALL Action_Examine_9
9A35 LD A,($B6EA)
9A38 LD HL,$B6F6
9A3B LD DE,$B017
9A3E CALL $9ACD
9A41 LD A,($B6FE)
9A44 CP $01
9A46 JR Z,$9A54
9A48 LD A,($B6E8)
9A4B LD HL,$980D
9A4E LD DE,$B01C
9A51 CALL $9ACD
9A54 OR $01
9A56 POP IX
9A58 RET
9A59 LD A,(IX+$01)
9A5C CP (IY+$01)
9A5F JR C,$9A64
9A61 LD A,(IY+$01)
9A64 CALL GetRandomNum
9A67 LD E,A
9A68 LD A,(IY+$01)
9A6B CP E
9A6C JR NC,$9A6F
9A6E LD E,A
9A6F LD L,(IY+$04)
9A72 LD H,(IY+$05)
9A75 LD D,$00
9A77 ADD HL,DE
9A78 ADD HL,DE
9A79 ADD HL,DE
9A7A INC HL
9A7B LD E,(HL)
9A7C INC HL
9A7D LD D,(HL)
9A7E LD (IY+$02),E
9A81 LD (IY+$03),D
9A84 RET
Prev: 962B Up: Map Next: 9A85