Hey guys can you help me understand this:
Apply Status Effect 1
C2/8CAC: A6 49 LDX $49
C2/8CAE: BD 35 20 LDA $2035,X
C2/8CB1: 25 59 AND $59 (Check Status1 Immune)
C2/8CB3: D0 76 BNE $8D2B
C2/8CB5: A5 48 LDA $48
C2/8CB7: C9 04 CMP #$04 (Target = Monster?)
C2/8CB9: B0 46 BCS $8D01
C2/8CBB: A5 59 LDA $59
C2/8CBD: 29 02 AND #$02 (Inflict Status1 = Zombie?)
C2/8CBF: F0 40 BEQ $8D01
C2/8CC1: BD 1A 20 LDA $201A,X
C2/8CC4: 1D 70 20 ORA $2070,X
C2/8CC7: 29 42 AND #$42 (Target Status1 = Stone or Zombie?)
C2/8CC9: D0 60 BNE $8D2B Effect Misses
C2/8CCB: A6 32 LDX $32
C2/8CCD: DA PHX
C2/8CCE: A5 48 LDA $48
C2/8CD0: 20 82 24 JSR $2482
C2/8CD3: A6 32 LDX $32
C2/8CD5: A9 80 LDA #$80
C2/8CD7: 9D 56 20 STA $2056,X
C2/8CDA: 9E 57 20 STZ $2057,X
C2/8CDD: A5 48 LDA $48
C2/8CDF: AA TAX
C2/8CE0: B9 7F 3D LDA $3D7F,Y
C2/8CE3: C9 7F CMP #$7F
C2/8CE5: 90 02 BCC $8CE9
C2/8CE7: A9 7F LDA #$7F
C2/8CE9: 9D 04 7C STA $7C04,X
C2/8CEC: 7B TDC
C2/8CED: 99 FB 3C STA $3CFB,Y
C2/8CF0: 1A INC
C2/8CF1: 99 7F 3D STA $3D7F,Y
C2/8CF4: A6 49 LDX $49
C2/8CF6: 9E 06 20 STZ $2006,X HP = 0
C2/8CF9: 9E 07 20 STZ $2007,X
C2/8CFC: FA PLX
C2/8CFD: 86 32 STX $32
C2/8CFF: 80 16 BRA $8D17
C2/8D01: A5 48 LDA $48
C2/8D03: C9 04 CMP #$04
C2/8D05: 90 10 BCC $8D17 (Target = Monster?)
C2/8D07: A5 59 LDA $59
C2/8D09: 29 40 AND #$40 (Target Status1 = Stone?)
C2/8D0B: F0 0A BEQ $8D17
C2/8D0D: BD 1A 20 LDA $201A,X
C2/8D10: 09 80 ORA #$80 (Add 80h to current status1)
C2/8D12: 9D 1A 20 STA $201A,X
C2/8D15: 80 11 BRA $8D28
C2/8D17: A6 49 LDX $49
C2/8D19: BD 1A 20 LDA $201A,X
C2/8D1C: 29 02 AND #$02
C2/8D1E: D0 0B BNE $8D2B
C2/8D20: BD 1A 20 LDA $201A,X
C2/8D23: 05 59 ORA $59 (Inflict Status Effect)
C2/8D25: 9D 1A 20 STA $201A,X
C2/8D28: 4C A5 92 JMP $92A5
C2/8D2B: E6 56 INC $56 (Status Effect Misses)
C2/8D2D: 60 RTS
I dont need detail explanation, just a script-like version. Too bad Tseng havent done it himself. So far I understood that:
It first check for immunity.
Then it check Target = Monster? (not sure why this matters, but code is different if so)
Then it check Target Status1 = Stone or Zombie?, if so miss
Then there is ATB part which I dont need atm
...
In the end Inflict Status Effect.
P.S. I expected simple OR but it seems there many checks. Please help me understand what I need to check before 'OR' :D