Users browsing this thread: 1 Guest(s)
Spell special effects

#1
Posts: 281
Threads: 18
Thanks Received: 13
Thanks Given: 8
Joined: Mar 2014
Reputation: 8
Status
None
@Kugawattan requested some info on this in chat and I happened to have it, so I figured I'd share it here for all to see. It's nothing new; the info is available in Assassin's C2 disassembly. I just compiled it into a friendly reference sheet.

To clarify, below are two pointer tables that correspond to the spell special effects selectable in FF3usME. A spell special effect will use one or both. For example, Palidor uses both.

To find an unused special effect, look for an entry that is empty in both tables. Apologies for not numbering the empty ones but you should be able to figure it out.

Code:
Table for special effects code pointers 2 (once-per-strike)

C2/42E1: 8A 3E
C2/42E3: 8B 3E
C2/42E5: 44 40 ($02) (Atma Weapon: Ignore Defense, No Critical/Ignore True Knight)
C2/42E7: 8A 3E
C2/42E9: 8A 3E
C2/42EB: 73 3F ($05) (Drainer: Heal Undead, Redirection)
C2/42ED: 6E 3F ($06) (Soul Sabre: Heal Undead, Redirection, Concern MP)
C2/42EF: 22 3F ($07) (Rune Edge: Use MP for Criticals, MP Cost 12..19)
C2/42F1: 8A 3E
C2/42F3: 58 41 ($09) (Dice)
C2/42F5: 89 3F ($0A) (Valiant Knife: Ignore defense, add Max HP - Current HP)
C2/42F7: 9F 3F ($0B) (Tempest: 50% chance replaced by Wind Slash)
C2/42F9: 7E 3F ($0C) (Heal Rod: Ignores defense, Heal)
C2/42FB: 8A 3E
C2/42FD: CA 3E ($0E) (Ogre Nix: Randomly breaks, Use MP for Criticals)
C2/42FF: 50 3F ($0F) (Unused: Use MP for Criticals, MP Cost 28..35)
C2/4301: 8A 3E
C2/4303: 65 3F ($11) (Golem: prevent damage equal to caster HP)
C2/4305: 8A 3E
C2/4307: F6 41 ($13) (Palidor: don't Jump if Petrify, Sleep, Stop, Hide, Freeze)
C2/4309: 8A 3E
C2/430B: 63 42 ($15) (Mantra: No split damage, Ignore defense, damage = Caster HP / Number of targets)
C2/430D: 34 42 ($16) (Spiraler: Miss self, Set HP/MP of self to 0, remove self from battle)
C2/430F: 8A 3E
C2/4311: 4E 40 ($18) (Warp: Miss if Can't Escape, End battle)
C2/4313: FC 3F ($19) (Exploder: Ignore defense, damage caster and target)
C2/4315: FE 40 ($1A) (Blow Fish: deal 1000 damage)
C2/4317: 54 3F ($1B) (Pearl Wind: deal damage equal to caster's HP)
C2/4319: B7 42 ($1C) (Reflect???: Miss if no Reflect status on target)
C2/431B: A1 40 ($1D) (L? Pearl: hit levels multiple of GP ones digit)
C2/431D: A0 3E ($1E) (Step Mine: damage = Steps / Spell Power)
C2/431F: 8A 3E 
C2/4321: 8A 3E 
C2/4323: 8A 3E
C2/4325: 8A 3E
C2/4327: 8A 3E
C2/4329: 8A 3E 
C2/432B: 8A 3E
C2/432D: 8A 3E 
C2/432F: BB 40 ($27) (Escape: characters only)
C2/4331: 3C 41 ($28) (Mind Blast: randomly pick an entity from the targets)
C2/4333: 4D 41 ($29) (N. Cross - Miss random targets)
C2/4335: 0F 41 ($2A) (Flare Star: Damage = Targets level * Spell Power)
C2/4337: 8A 3E
C2/4339: 37 40 ($2C) (Launcher: Hit 8 times)
C2/433B: 8A 3E
C2/433D: 8A 3E 
C2/433F: 8A 3E
C2/4341: 8B 42 ($30) (Suplex: pick random target, exclude Block Suplex)
C2/4343: DA 40 ($31) (Forcefield: null random element)
C2/4345: F1 40 ($32) (Quadra Slam: 4 random attacks)
C2/4347: 61 40 ($33) (Bababreath: targeting)
C2/4349: 8A 3E
C2/434B: 8A 3E 
C2/434D: 1B 42 ($36) (Empowerer: Drain HP and MP)
C2/434F: 8A 3E
C2/4351: 8A 3E
C2/4353: 8A 3E
C2/4354: 8A 3E 
C2/4357: 8A 3E
C2/4359: 8A 3E
C2/435B: E6 41 ($3D) (Revenge: Damage = Max HP - HP)
C2/435D: 8A 3E
C2/435F: 8A 3E 
C2/4361: 8A 3E
C2/4363: 85 42 ($41) (Unused: Halve damage)
C2/4365: 80 42 ($42) (Unused: Cut damage to 1/4)
C2/4367: CA 42 ($43) (Quick: )
C2/4369: 4B 42 ($44) (Discard: )
C2/436B: 8A 3E
C2/436D: 8A 3E 
C2/436F: 8A 3E
C2/4371: 8A 3E 
C2/4373: AD 3F ($49) (Magicite: Summon random Esper, not Odin or Raiden)
C2/4375: 2C 40 ($4A) (Super Ball: Hit 1..4 times)
C2/4377: C8 40 ($4B) (Smoke Bomb: )
C2/4379: 36 41 ($4C) (Elixir/Megalixir: Clears Concern MP)
C2/437B: 4E 40 ($4D) (Warp: )
C2/437D: 8A 3E 
C2/437F: 8A 3E 
C2/4381: 95 40 ($50) (Possess: 106/256 chance to miss)
C2/4383: B7 3F ($51) (GP Rain: Take LV*30 GP, do 2*LV*30 damage)
C2/4385: 8A 3E
C2/4387: 8A 3E 
C2/4389: 8A 3E 
C2/438B: 8A 3E
C2/438D: 8A 3E     
C2/438F: 8A 3E

Code:
Table for special effects code pointers 1 (once-per-target)

C2/3DCD: 8C 38
C2/3DCF: 8C 38
C2/3DD1: 8C 38
C2/3DD3: 43 3D ($03) (X-type Instant Death: auto hit undead, restore undead)
C2/3DD5: F2 38 ($04) (Man Eater: Double damage vs. Humans)
C2/3DD7: 8C 38
C2/3DD9: 8C 38
C2/3DDB: 8C 38
C2/3DDD: FE 38 ($08) (Hawk Eye: randomly throw, do 1.5x damage/3x if Floating)
C2/3DDF: 8C 38
C2/3DE1: 8C 38
C2/3DE3: 8C 38
C2/3DE5: 8C 38
C2/3DE7: 8D 38 ($0D) (Scimitar: slice effect)
C2/3DE9: 8C 38
C2/3DEB: 8C 38
C2/3DED: 5B 3C ($10) (Scan: Display LV, HP, MP, Weakness)
C2/3DED: 8C 38 
C2/3DF1: 3C 3A ($12) (Metamorph: )
C2/3DF3: 34 39 ($13) (Palidor: Make target Jump)
C2/3DF5: 8C 38 
C2/3DF7: 8C 38
C2/3DF9: 8C 38
C2/3DFB: A2 3C ($17) (Tapir: Miss if not Sleep, Max HP/MP)
C2/3DFD: 8C 38
C2/3DFF: 4C 3C ($19) (Exploder: targeting?)
C2/3E01: 8C 38
C2/3E03: 8C 38
C2/3E05: 90 3C ($1C) (RTS)
C2/3E08: 8C 38 
C2/3E09: 8C 38
C2/3E0B: 78 39 ($1F) (Dischord: Halve Level)
C2/3E0D: B8 3C ($20) (Pep Up: Remove caster from battle, Max target's MP)
C2/3E0F: 04 3C ($21) (Rippler: switch caster's and target's statuses)
C2/3E11: 22 39 ($22) (Stone: if target LV = caster LV, mucho damage)
C2/3E13: 8C 3C ($23) (X-Zone/Odin: cancel counterattacks)
C2/3E15: 8C 38
C2/3E17: 6B 3B ($25) (Quake: miss Floating targets)
C2/3E19: 89 39 ($26) (Wallchange: randomize weak/null/absorbed elements)
C2/3E1B: 6C 39 ($27) (Escape/Sneeze/Bababreath/Engulf: remove from battle)
C2/3E1D: B0 3B ($28) (Mind Blast: set random status)
C2/3E1F: 8C 38
C2/3E21: 8C 38
C2/3E23: 80 39 ($2B) (R. Polarity: switch target's Row)
C2/3E25: 8C 38 
C2/3E27: 37 3D ($2D) (Love Token: make target take physical hits for caster)
C2/3E29: CE 3C ($2E) (Seize: miss enemies, used only by Tentacles)
C2/3E2B: A8 3D ($2F) (Targeting: stores target)
C2/3E2D: 6E 3C ($30) (Suplex: miss if "can't Suplex" set)
C2/3E2F: 8C 38 
C2/3E31: 8C 38
C2/3E33: 66 39 ($33) (Bababreath: remove target from party at end of battle)
C2/3E35: 91 3C ($34) (Charm: set up Charmer/Charmee exclusive bond)
C2/3E37: 49 3D ($35) (Doom: restore undead)
C2/3E39: 8C 38 
C2/3E3B: 1E 3D ($37) (Overcast: target will be Zombied if killed)
C2/3E3D: 6C 39 ($38) (Engulf: remove from combat)
C2/3E3F: 5E 39 ($39) (Engulf: set character as Engulfed)
C2/3E41: 27 3D ($3A) (Zinger: setup user/target of Zinger)
C2/3E43: CB 3B ($3B) (Evil Toot: set random status)
C2/3E45: 8C 38 
C2/3E47: 8C 38
C2/3E49: 7C 3D ($3E) (Phantasm: set HP Leak)
C2/3E4B: 85 3D ($3F) (Stunner: Hit Rate / 256 chance to set status)
C2/3E4D: B0 3D ($40) (Fallen One: set HP to 1)
C2/3E4F: 8C 38 
C2/3E51: 8C 38
C2/3E53: 8C 38
C2/3E55: FD 3C ($44) (Discard: target/attacker no longer Seized/Seizing)
C2/3E57: 8C 38 
C2/3E59: 8C 38 
C2/3E5B: 8C 38
C2/3E5D: 8C 38
C2/3E5F: 8C 38
C2/3E61: B8 3D ($4A) (Super Ball: random damage 256..2048)
C2/3E63: 6C 39 ($4B) (Escape/Sneeze/Smoke Bomb: remove from combat)
C2/3E65: 17 3D ($4C) (Elixir/Megalixir: set bit 7 of $3204,Y, Max MP)
C2/3E67: 8C 38
C2/3E69: 8C 38
C2/3E6B: 8C 38
C2/3E6D: 98 3B ($50) (Possess)
C2/3E6F: 8C 38
C2/3E71: 9E 39 ($52) (Steal)
C2/3E73: C5 3A ($53) (Control)
C2/3E75: 71 3B ($54) (Leap)
C2/3E77: 29 3B ($55) (Sketch)
C2/3E79: 8D 3A ($56) (Debilitator)
C2/3E7B: 78 3C ($57) (Air Anchor)
  Find
Quote  
[-] The following 1 user says Thank You to seibaby for this post:
  • Gi Nattak (04-15-2024)

#2
Posts: 23
Threads: 4
Thanks Received: 1
Thanks Given: 0
Joined: Sep 2015
Reputation: 0
Status
Zombie
In FF3usME, in the "Item Editor", under "Regular Items (Advanced)", there is a chart for "Extra Effects".  The first 16 entries are:

Code:
0x00: ?
0x01: Magicite
0x02: Superball
0x03: ? (make target disappear)
0x04: ??? (Elixir, Megalixir)
0x05: Warp
0x06: Recruit Gau on Veldt
0x07: ?
0x08: ?
0x09: ?
0x0A: Steal
0x0B: Control
0x0C: Leap
0x0D: ?
0x0E: Debilitator
0x0F: Air Anchor

It seems, the first 16 entries on the item Extra Effects list are the last 16 entries of the two magic special effect tables listed.

I not completely sure why this is, but if you change the pointers in those tables of magic Special Effects, the it changes the corresponding item Extra Effect.  I know this is true because I changed one of the unused pointers to point to Blow Fish, and made potions that healed for 1000.

So, I'm wondering: is there any more information about the relationship between those?
What about the rest of the entries on the item Extra Effect list?  Where are they stored?
  Find
Quote  

#3
Posts: 1,633
Threads: 56
Thanks Received: 13
Thanks Given: 84
Joined: Apr 2014
Reputation: 12
Status
Atma
@funkydiscogod: what about the offsets?
Pretty nice stuff anyway, a bunch of ideas starting to flow in my mind  Kungfu!


THE GREATEST CHALLENGE OF ALL TIMES AWAITS:
http://www.ff6hacking.com/forums/showthr...p?tid=2593
DO YOU HAVE WHAT IT TAKES TO SLAY A GOD?
------------------------------------------------------------------------
Tenkarider's project #2 is started: FF6 Curse of the Madsiur Joke (CotMJ)
http://www.ff6hacking.com/forums/showthr...p?tid=2755
What happens when Madsiur tweaks your account? This full game hack will show that!
  Find
Quote  

#4
Posts: 281
Threads: 18
Thanks Received: 13
Thanks Given: 8
Joined: Mar 2014
Reputation: 8
Status
None
It would make sense they are they same since items are basically magic spells. No idea why the tables are reversed, though

Have a look at Sketch, listed as effect $55. In the code, Sketch is $AA. $FF minus $55 is $AA.
Code:
C2/1527: A9 AA        LDA #$AA
C2/1529: 8D A9 11     STA $11A9      (Store Sketch in special effect)
  Find
Quote  

#5
Posts: 32
Threads: 4
Thanks Received: 0
Thanks Given: 0
Joined: Mar 2012
Reputation: 0
Status
None
(06-07-2016, 11:35 PM)funkydiscogod Wrote: In FF3usME, in the "Item Editor", under "Regular Items (Advanced)", there is a chart for "Extra Effects".  The first 16 entries are:

Code:
0x00: ?
0x01: Magicite
0x02: Superball
0x03: ? (make target disappear)
0x04: ??? (Elixir, Megalixir)
0x05: Warp
0x06: Recruit Gau on Veldt
0x07: ?
0x08: ?
0x09: ?
0x0A: Steal
0x0B: Control
0x0C: Leap
0x0D: ?
0x0E: Debilitator
0x0F: Air Anchor

It seems, the first 16 entries on the item Extra Effects list are the last 16 entries of the two magic special effect tables listed.

I not completely sure why this is, but if you change the pointers in those tables of magic Special Effects, the it changes the corresponding item Extra Effect.  I know this is true because I changed one of the unused pointers to point to Blow Fish, and made potions that healed for 1000.

So, I'm wondering: is there any more information about the relationship between those?
What about the rest of the entries on the item Extra Effect list?  Where are they stored?
That is actually what I've been looking for for my own hack! Does the 'Cactuar potion' function the same outside of battle?
  Find
Quote  

#6
Posts: 281
Threads: 18
Thanks Received: 13
Thanks Given: 8
Joined: Mar 2014
Reputation: 8
Status
None
I don't think spell effects apply out of battle. But if you're interested in potions healing for more than 255, search the forum. I remember someone else was working on a hack that added a multiplier to potion damage so that you could make potions heal in increments of (whatever you set the multiplier to). I don't remember who it was, might've been @B-Run, @dn, or @m06. Not sure if they also made it work out of battle.
  Find
Quote  

#7
Posts: 378
Threads: 94
Thanks Received: 17
Thanks Given: 26
Joined: Jul 2013
Reputation: 11
Status
Charmed
It was Hatzen, and yes the potions heal correctly out of battle.


Step forward, spriters! We are also responsible to make hacks look new and fresh, we are no less important than code or ASM hackers! CHARGE!!
Quote  

#8
Posts: 32
Threads: 4
Thanks Received: 0
Thanks Given: 0
Joined: Mar 2012
Reputation: 0
Status
None
Thank you both very much!
  Find
Quote  



Forum Jump:

Users browsing this thread: 1 Guest(s)


Theme by Madsiur2017Custom Graphics by JamesWhite