Prev: 77AC Up: Map Next: 7A35
7834: Action Handler for Nathair
Used by the routine at Vector_Main.
ActionNathair 7834 LD A,(IX+$0D)
7837 AND A
7838 JP NZ,ActionNathair_1
783B LD (IX+$0B),$1E
783F LD HL,(ManData_PosSecondary_dfc5)
7842 LD E,(IX+$07)
7845 LD D,(IX+$08)
7848 CALL abs(hl_minus_de)
784B LD DE,$0021
784E AND A
784F SBC HL,DE
7851 JP NC,ActionNathair_3
7854 LD A,($DFCE)
7857 BIT 3,A
7859 JR NZ,ActionNathair_0
785B LD A,(ManData_SelObj_02_DFCB)
785E CP $6E
7860 JP Z,ActionNathair_3
Display Warning
ActionNathair_0 7863 LD A,$01
7865 LD ($7833),A
7868 LD (IX+$0D),A
786B CALL Vector_DisplayWarning
786E DEFM "nathair!"
7876 DEFB $5E
7877 PUSH IX
7879 LD L,(IX+$07)
787C LD H,(IX+$08)
787F PUSH HL
7880 CALL Actions_NewLink
7883 LD HL,$792F
7886 LD (IX+$03),L
7889 LD (IX+$04),H
788C POP HL
788D PUSH HL
788E LD (IX+$07),L
7891 LD (IX+$08),H
7894 LD (IX+$0A),$01
7898 LD (IX+$0B),$1C
789C CALL Actions_NewLink
789F LD HL,$798F
78A2 LD (IX+$03),L
78A5 LD (IX+$04),H
78A8 POP HL
78A9 PUSH HL
78AA DEC HL
78AB DEC HL
78AC DEC HL
78AD LD (IX+$07),L
78B0 LD (IX+$08),H
78B3 LD (IX+$0A),$01
78B7 LD (IX+$0B),$BF
78BB CALL Actions_NewLink
78BE LD HL,$798F
78C1 LD (IX+$03),L
78C4 LD (IX+$04),H
78C7 POP HL
78C8 INC HL
78C9 INC HL
78CA INC HL
78CB LD (IX+$07),L
78CE LD (IX+$08),H
78D1 LD (IX+$0B),$BF
78D5 LD (IX+$0A),$01
78D9 POP IX
78DB JR ActionNathair_2
ActionNathair_1 78DD DEC (IX+$0A)
78E0 JR NZ,ActionNathair_3
78E2 LD A,(IX+$0B)
78E5 CP $1E
78E7 JR Z,ActionNathair_2
78E9 INC (IX+$0B)
78EC LD (IX+$0A),$02
78F0 JR ActionNathair_3
ActionNathair_2 78F2 DEC (IX+$0B)
78F5 LD (IX+$0A),$30
ActionNathair_3 78F9 LD HL,(ManData_PosSecondary_dfc5)
78FC LD E,(IX+$07)
78FF LD D,(IX+$08)
7902 CALL abs(hl_minus_de)
7905 LD DE,$0027
7908 AND A
7909 SBC HL,DE
790B JR C,ActionNathair_4
790D RET Z
790E XOR A
790F LD (IX+$0B),A
7912 LD ($7833),A
7915 RET
ActionNathair_4 7916 LD A,(CamDirection_DFD2)
7919 CP $02
791B RET NZ
791C LD (IX+$09),$08
7920 LD (IX+$0C),$01
7924 CALL Vector_SpriteBlit
7927 RET
7928 INC E
7929 DEC DE
792A LD A,(DE)
792B DEC DE
792C LD A,(DE)
792D DEC DE
792E INC E
792F LD A,($7833)
7932 AND A
7933 JR NZ,ActionNathair_5
7935 LD (IX+$0B),A
7938 RET
ActionNathair_5 7939 DEC (IX+$0A)
793C JR NZ,ActionNathair_7
793E LD A,(IX+$0D)
7941 CP $07
7943 JR NZ,ActionNathair_6
7945 LD (IX+$0D),$00
7949 LD (IX+$0A),$18
794D JR ActionNathair_7
ActionNathair_6 794F LD HL,$7928
7952 LD C,A
7953 LD B,$00
7955 ADD HL,BC
7956 LD A,(HL)
7957 LD (IX+$0B),A
795A INC (IX+$0D)
795D INC (IX+$0A)
ActionNathair_7 7960 LD HL,(ManData_PosSecondary_dfc5)
7963 LD E,(IX+$07)
7966 LD D,(IX+$08)
7969 CALL abs(hl_minus_de)
796C LD DE,$0021
796F AND A
7970 SBC HL,DE
7972 RET NC
7973 LD A,(CamDirection_DFD2)
7976 CP $02
7978 RET NZ
7979 LD (IX+$09),$28
797D LD (IX+$0C),$01
7981 CALL Vector_SpriteBlit
7984 RET
7985 CP A
7986 RET NZ
7987 POP BC
7988 CP (HL)
7989 JP $C1C2
798C RET NZ
798D CP A
798E NOP
798F LD A,($7833)
7992 AND A
7993 JR NZ,ActionNathair_8
7995 LD (IX+$0B),A
7998 RET
ActionNathair_8 7999 DEC (IX+$0A)
799C JR Z,ActionNathair_10
799E LD A,($798E)
79A1 AND A
79A2 JR NZ,ActionNathair_9
79A4 LD A,(DeathMode)
79A7 AND A
79A8 RET NZ
79A9 LD HL,(ManData_PosSecondary_dfc5)
79AC LD E,(IX+$07)
79AF LD D,(IX+$08)
79B2 CALL abs(hl_minus_de)
79B5 LD DE,$0003
79B8 AND A
79B9 SBC HL,DE
79BB RET NC
79BC LD A,$01
79BE LD (DeathMode),A
79C1 LD ($798E),A
79C4 JR ActionNathair_10
ActionNathair_9 79C6 XOR A
79C7 LD ($798E),A
ActionNathair_10 79CA LD A,(IX+$0D)
79CD CP $09
79CF JR NZ,ActionNathair_11
79D1 LD (IX+$0D),$00
79D5 LD (IX+$0A),$40
79D9 RET
ActionNathair_11 79DA LD HL,$7985
79DD LD C,A
79DE LD B,$00
79E0 ADD HL,BC
79E1 LD A,(HL)
79E2 LD (IX+$0B),A
79E5 INC (IX+$0D)
79E8 LD (IX+$0A),$01
79EC LD HL,(ManData_PosSecondary_dfc5)
79EF LD E,(IX+$07)
79F2 LD D,(IX+$08)
79F5 CALL abs(hl_minus_de)
79F8 LD DE,$0003
79FB AND A
79FC SBC HL,DE
79FE JR NC,ActionNathair_12
7A00 LD A,(DeathMode)
7A03 AND A
7A04 JR NZ,ActionNathair_12
7A06 LD A,$01
7A08 LD (DeathMode),A
ActionNathair_12 7A0B ADD HL,DE
7A0C LD DE,$0022
7A0F AND A
7A10 SBC HL,DE
7A12 RET NC
7A13 LD A,(CamDirection_DFD2)
7A16 BIT 0,A
7A18 RET NZ
7A19 LD B,$1F
7A1B LD A,(IX+$0D)
7A1E CP $07
7A20 JR C,ActionNathair_13
7A22 LD B,$27
7A24 CP $08
7A26 JR C,ActionNathair_13
7A28 LD B,$2F
ActionNathair_13 7A2A LD (IX+$09),B
7A2D LD (IX+$0C),$01
7A31 CALL Vector_SpriteBlit
7A34 RET
Prev: 77AC Up: Map Next: 7A35