15
« on: January 13, 2017, 06:49:58 AM »
Here is the code in question:
Hit% Determination for physical
C2/7EBE: A6 49 LDX $49
C2/7EC0: BD 1B 20 LDA $201B,X
C2/7EC3: 1D 71 20 ORA $2071,X
C2/7EC6: 29 70 AND #$70 (Target Status = Sleep, Paralyze or Charm)
C2/7EC8: D0 28 BNE $7EF2
C2/7ECA: A6 32 LDX $32
C2/7ECC: BD 1F 20 LDA $201F,X (Check for Autohit abilities)
C2/7ECF: 30 21 BMI $7EF2
C2/7ED1: A5 39 LDA $39
C2/7ED3: AA TAX
C2/7ED4: BD FD 79 LDA $79FD,X
C2/7ED7: A6 49 LDX $49
C2/7ED9: 3D 64 20 AND $2064,X (Check Target Can't Evade vs. Attack type)
C2/7EDC: D0 14 BNE $7EF2
C2/7EDE: 20 FC 7C JSR $7CFC (Check for Evade, Weapon Block or Elf Cape)
C2/7EE1: A5 56 LDA $56
C2/7EE3: D0 10 BNE $7EF5
C2/7EE5: 20 AC 7D JSR $7DAC (Target Status Effect Modifiers to Hit%)
C2/7EE8: 20 D1 7D JSR $7DD1 (Attacker Status Effect Modifiers to Physical Hit)
C2/7EEB: 20 23 7E JSR $7E23 (Check for Physical Hit)
C2/7EEE: A5 56 LDA $56
C2/7EF0: D0 03 BNE $7EF5
C2/7EF2: 20 E2 7D JSR $7DE2 (Check for Target Image)
C2/7EF5: 60 RTS Command modifications to damage
C2/83BD: A6 32 LDX $32
C2/83BF: BD 1F 20 LDA $201F,X
C2/83C2: 29 40 AND #$40
C2/83C4: F0 06 BEQ $83CC
C2/83C6: C2 20 REP #$20
C2/83C8: 06 50 ASL $50 (Damage = Damage * 2)
C2/83CA: E2 20 SEP #$20
C2/83CC: BD 1F 20 LDA $201F,X
C2/83CF: 29 20 AND #$20
C2/83D1: F0 07 BEQ $83DA
C2/83D3: C2 20 REP #$20
C2/83D5: 46 50 LSR $50 (Damage = Damage / 2)
C2/83D7: 7B TDC
C2/83D8: E2 20 SEP #$20
C2/83DA: BD 1F 20 LDA $201F,X
C2/83DD: 29 10 AND #$10
C2/83DF: F0 06 BEQ $83E7
C2/83E1: C2 20 REP #$20
C2/83E3: 06 52 ASL $52 (M = M * 2)
C2/83E5: E2 20 SEP #$20
C2/83E7: BD 1F 20 LDA $201F,X
C2/83EA: 29 08 AND #$08
C2/83EC: F0 07 BEQ $83F5
C2/83EE: C2 20 REP #$20
C2/83F0: 46 52 LSR $52 (M = M / 2)
C2/83F2: 7B TDC
C2/83F3: E2 20 SEP #$20
C2/83F5: BD 1F 20 LDA $201F,X
C2/83F8: 29 04 AND #$04
C2/83FA: F0 04 BEQ $8400
C2/83FC: 7B TDC
C2/83FD: AA TAX
C2/83FE: 86 54 STX $54 (Defense = 0)
C2/8400: A6 49 LDX $49
C2/8402: BD 65 20 LDA $2065,X (Target Creature Type = Human?)
C2/8405: 10 0F BPL $8416
C2/8407: A6 32 LDX $32
C2/8409: BD 1F 20 LDA $201F,X
C2/840C: 29 01 AND #$01
C2/840E: F0 06 BEQ $8416
C2/8410: C2 20 REP #$20
C2/8412: 06 50 ASL $50 (Damage = Damage * 2)
C2/8414: E2 20 SEP #$20
C2/8416: A6 49 LDX $49
C2/8418: BD 1E 20 LDA $201E,X
C2/841B: 10 07 BPL $8424 (If Target is Defending)
C2/841D: C2 20 REP #$20
C2/841F: 46 52 LSR $52 (M = M / 2)
C2/8421: 7B TDC
C2/8422: E2 20 SEP #$20
C2/8424: BD 1E 20 LDA $201E,X
C2/8427: 29 40 AND #$40
C2/8429: F0 04 BEQ $842F (If Target is Guarding)
C2/842B: 7B TDC
C2/842C: AA TAX
C2/842D: 86 50 STX $50 (Damage = 0)
C2/842F: 60 RTS