C2/3F22: A9 0C LDA #$0C (Special Effect 7 - Use MP for criticals - jumps here.
Featured in Rune Edge, Punisher, Ragnarok, and
Illumina.)
C2/3F24: 85 EE STA $EE
C2/3F26: A5 B2 LDA $B2
C2/3F28: 89 02 BIT #$02
C2/3F2A: D0 23 BNE $3F4F (Exit function if "No Critical and Ignore True Knight"
is set)
C2/3F2C: AD C9 3E LDA $3EC9
C2/3F2F: F0 1E BEQ $3F4F (Exit function if no targets)
C2/3F31: 7B TDC (Clear 16-bit A)
C2/3F32: 20 5A 4B JSR $4B5A (random #: 0 to 255)
C2/3F35: 29 07 AND #$07 (now random #: 0 to 7)
C2/3F37: 18 CLC
C2/3F38: 65 EE ADC $EE (Add to $EE [#$0C])
C2/3F3A: C2 20 REP #$20 (Set 16-bit Accumulator)
C2/3F3C: 85 EE STA $EE (Save MP consumed)
C2/3F3E: B9 08 3C LDA $3C08,Y (Attacker MP)
C2/3F41: C5 EE CMP $EE
C2/3F43: 90 0A BCC $3F4F (Exit function if weapon would drain more MP than the
wielder currently has)
C2/3F45: E5 EE SBC $EE
C2/3F47: 99 08 3C STA $3C08,Y (Current MP = Current MP - MP consumed)
C2/3F4A: A9 00 02 LDA #$0200
C2/3F4D: 14 B2 TRB $B2 (Set always critical)
C2/3F4F: 60 RTS
C2/15C8: C0 08 CPY #$08
C2/15CA: B0 44 BCS $1610 (No DA if monster)
C2/15CC: AD 3F 3A LDA $3A3F
C2/15CF: C9 03 CMP #$03
C2/15D1: 90 3D BCC $1610 (No DA if time counter is 767 or less)
C2/15D3: B9 E5 3E LDA $3EE5,Y
C2/15D6: 89 02 BIT #$02
C2/15D8: F0 36 BEQ $1610 (No DA If not Near Fatal)
C2/15DA: 89 24 BIT #$24
C2/15DC: D0 32 BNE $1610 (No DA If Muddled or Image)
C2/15DE: B9 E4 3E LDA $3EE4,Y
C2/15E1: 89 12 BIT #$12
C2/15E3: D0 2B BNE $1610 (No DA If Clear or Zombie)
C2/15E5: A5 B9 LDA $B9
C2/15E7: F0 27 BEQ $1610 (No DA if $B9 = 0)
C2/15E9: 20 5A 4B JSR $4B5A (Random number 0 to 255)
C2/15EC: 29 0F AND #$0F (0 to 15)
C2/15EE: D0 20 BNE $1610 (1 in 16 chance for DA)
C2/15F0: B9 18 30 LDA $3018,Y
C2/15F3: 0C 2F 3F TSB $3F2F
C2/15F6: D0 18 BNE $1610 (No DA if this character already used it this combat)
C2/15F8: B9 D8 3E LDA $3ED8,Y (Which character it is)
C2/15FB: C9 0C CMP #$0C
C2/15FD: F0 05 BEQ $1604 (branch if Gogo)
C2/15FF: C9 0B CMP #$0B
C2/1601: B0 0D BCS $1610 (branch if Character 11 or above: Gau, Umaro, or
special character. none of these characters have DAs)
C2/1603: 1A INC
C2/1604: 3A DEC (if it was Gogo, we decrement the DA by 1 to account
for Gau -- who's before Gogo -- not having one)
C2/1605: 09 F0 ORA #$F0
C2/1607: 85 B6 STA $B6 (add F0h to modified character #, then save as attack #)
C2/1609: A9 10 LDA #$10
C2/160B: 14 B0 TRB $B0 (??? See functions C2/13D3 and C2/57C2 for usual
purpose; dunno whether it does anything here.)
C2/160D: 4C 14 17 JMP $1714
この中の、
C2/15D3: B9 E5 3E LDA $3EE5,Y
C2/15D6: 89 02 BIT #$02
C2/15D8: F0 36 BEQ $1610 (No DA If not Near Fatal)
C2/3FB7: B9 18 3B LDA $3B18,Y (Attacker's Level)
C2/3FBA: EB XBA
C2/3FBB: A9 1E LDA #$1E
C2/3FBD: 20 81 47 JSR $4781 (attack will cost: Attacker's Level * 30)
C2/3FC0: C2 20 REP #$20 (Set 16-bit accumulator)
C2/3FC2: C0 08 CPY #$08
C2/3FC4: B0 0D BCS $3FD3 (Branch if attacker is monster)
C2/3FC6: 20 B6 37 JSR $37B6 (deduct thrown gold from party's inventory)
C2/3FC9: D0 1E BNE $3FE9 (branch if there was actually some GP to throw)
C2/3FCB: 64 A4 STZ $A4 (Makes attack target nothing)
C2/3FCD: A2 08 LDX #$08
C2/3FCF: 8E 01 34 STX $3401 (Set to display text 8 - "No money!!")
C2/3FD2: 60 RTS
C2/3FD3: 85 EE STA $EE (Level * 30)
C2/3FD5: B9 98 3D LDA $3D98,Y (Gold monster gives)
C2/3FD8: F0 F1 BEQ $3FCB (Miss all w/text if = 0)
C2/3FDA: E5 EE SBC $EE
C2/3FDC: B0 06 BCS $3FE4 (Branch if monster's gold >= Level * 30)
C2/3FDE: B9 98 3D LDA $3D98,Y
C2/3FE1: 85 EE STA $EE (if gold to consume was more than current
gold, set $EE to current gold)
C2/3FE3: 7B TDC
C2/3FE4: 99 98 3D STA $3D98,Y (Set Gold to 0 or Gold - Level * 30)
C2/3FE7: A5 EE LDA $EE (get amount of gold to consume)
C2/3FE9: A2 02 LDX #$02
C2/3FEB: 86 E8 STX $E8
C2/3FED: 20 B7 47 JSR $47B7 (24-bit $E8 = A * 2)
C2/3FF0: A5 E8 LDA $E8 (A = gold to consume * 2)
C2/3FF2: AE C9 3E LDX $3EC9 (Number of targets)
C2/3FF5: 20 92 47 JSR $4792 (A / number of targets)
C2/3FF8: 8D B0 11 STA $11B0 (Sets maximum damage)
C2/3FFB: 60 RTS