Ability Data

I’ve done some testing by modifying BoundShot, a known self-comboer. My goal is to find the Combo Data, but I’m learning some other interesting things as well.

Here’s BoundShot’s unmodified data:
XXXXXXXX-YYYYYYYY-00-01-02-03-04-05-06-07-08-09-0a-0b-0c-0d-0e-0f-10-11-Ability
__0000BFF3-0002baa3-05-B4-00-08-FF-01-00-40-72-00-90-08-00-01-1F-00-E0-05-BoundShot

Prior to modification, Characters using BoundShot with TwoGun did ~4100 dmg 7/10 times and ~1250 3/10 times if not involved in a combo. When all five characters added QuickDraw and used BoundShot against a lone Dullahan, they formed 10/10 Lv5 Combos. They totalled just under 25,000 damage 8/10 times, and did ~22,000 damage 2/10 times.

I began by changing all of BoundShot’s bytes’ values ->00. Even after this, Ammo used remained 1, so Ammo Used probably isn’t in this data. Characters could only target themselves, and so (amusingly) shot themselves in the face.

After returning byte 08 (targeting) to normal (=72), characters did not combo, did not use TwoGun, shot the target directly with no ricochets, did ~200-600 damage dependent upon character STR(!), used 1 Ammo from only the primary gun, and spent 0 WP/JP. They did, however, gain the ability to occassionally inflict Stun (as we would expect from byte 04 = 00). Between my characters’ high QUI and BoundShot’s new ability to Stun, I was unable to determine whether they were still using QuickDraw, as Dullahan never managed to act. BoundShot also remained Unblockable. It is also interesting that BoundShot retained its tendancy to occassionally do ~1/3-1/2 its “normal” damage, even after the variation due to character STR was accounted for. As a side note, my characters’ damage from a basic Shot attack without TwoGun was ~200, so BoundShot was still doing more damage than that, even though Shot has a byte 03 (Atk Pwr?) value of 04, which is obviously greater than 00. However, the difference could still be due to Shot being Piercing element, while this modified BoundShot has 00 in byte 07 (elements). All my characters have WIL comparable to or in excess of STR, so I don’t think that’s responsible for the difference.

After also returning byte 04 (ailments?) to normal (=FF), BoundShot no longer caused Stun, but my characters still always went before Dullahan (which they had also done before modification, even without QuickDraw), so I still can’t determine whether they are using QuickDraw.

After also returning byte 07 (elements) to normal (=40), damage decreased to ~100-400. I would guess, therefore, that a value of 00 in byte 07 bypasses the target’s Defense. The damage decreased when byte 07 was returned to 40 and Dullahan’s Piercing Defense was allowed to kick in. I’d also note that the average damage here is still higher than that of Shot, despite this BoundShot still having 00 in byte 03. This may form further argument against the idea that byte 03 = Attack Power. Finally, this change also removed BoundShot’s tendancy to occassionally do 1/2 normal damage…which doesn’t make any sense, since it should be becoming MORE like the normal BoundShot, not less.

After also separately returning each of bytes 02, 06 (special properties), 09 (Area of Effect), 0C, and 0F (break weapon) to normal, no further changes were observed, which is not surprising, since they were 00 to begin with.

After also returning byte 11 (WP/JP Cost) to normal (=05), WP Cost returned to 5, as expected. BTW, when this byte is changed, the change is visible both in battle and in the Equip Abilities menu.

After also separately returning each of bytes 00 (=05) and 01 (=B4) to normal, no further changes were observed.

After also returning byte 03 to normal (=08), damage increased to ~275 or ~900, still based on character STR (2 of my characters have 9 and 13, the other three have 69, 74, and 84). Despite my previous leanings, this clearly confirms that byte 03 is related to damage output.

After also separately returning each of bytes 05 (=01) and 0A (=90) to normal, no further changes were observed.

After also returning byte 0B to normal (=08), the characters began to show two guns and use 1 Ammo from each of their guns, but still only visibly fired one shot and damage was unchanged.

After also returning byte 0D to normal (=01), the characters began visibly firing two shots, and damage and ricochets returned to normal, including being based on WIL and occassionally being 1/3 normal.

After also returning byte 0E to normal (=1F), no further changes were observed.

Finally, after also returning byte 10 to normal (=E0), the characters immediately began comboing again.

So that gives us the following byte functions (* if new info):
00: ??
01: ??
02: ??
*03: definitely influences damage
*04: even on its own, sufficient to cause at least some ailments
05: ??
06: still special properties, but BoundShot doesn’t have any.
*07: damage elements, as we already knew, but we may have learned that 00 bypasses all Defense.
08: targeting, as we already knew.
09: Area of Effect; again, we already knew that.
0A: ??
*0B: necessary for TwoGun
0C: ??
*0D: appears to either determine stat upon which damage is based, or reference a damage formula which determines that. More likely the latter, based on other abilities.
0E: ??
0F: break weapon if FF, which we knew
*10: definitely Combo Data, though not necessarily the only byte for it.
11: WP/JP Cost, as we knew.

And yes, I cleared all modifications from RAM between each change in the modifications, so there were no unintended holdovers.

I’m not done testing BoundShot modifications yet, but this is probably more than enough for one post.

Testing BoundShot again.

This time I’ll change only one byte at a time -> 00, then return it to normal and change only the next byte -> 00.

Results:

00 (was 05): No changes observed.

01 (was B4): Missed 3/25 times. Had never missed before. Fluke? Or is this an Accuracy modifier? SharpShot is FA, and it supposedly never misses…

02 (was 00): Already 00.

03 (was 08): Lv5 Combo damaged reduced to: 7808, 9095, 9123, 9053, 7541. Based on that, ability damage at 00 may be increased by (1/3 * value). I’ll test that further, later.

04 (was FF): No changes observed unless I only allow one character to fire, in which case we can see that Stun is sometimes inflicted. If all characters fire, Dullahan is utterly destroyed before that can happen.

05 (was 01): No changes observed.

06 (was 00): Already 00.

07 (was 40): 10/10 combos did ~25,000 damage; none did the expected occassional ~22,000. Fluke? Anyway, I was expecting an increase in damage (from bypassing Defense) that didn’t happen. Weird.

08 (was 72): Characters shoot selves in face; hilarity ensues, then death.

09 (was 00): Already 00.

0A (was 90): 3/5 combos did ~22k, 2/5 did ~25k. Not the expected ratio, but probably a fluke?

0B (was 08): Characters showed only one gun, visibly fired only one shot, did not use Ammo from secondary gun, and combo damage was reduced to: 2/5 ~14.2k, 3/5 ~12.6k. In other words, TwoGun didn’t work.

0C (was 00): Already 00.

0D (was 01): Showed two guns and used ammo from both, but visibly fired only one shot directly at target with no ricochets. Combo damage reduced to: 7912, 7236, 7931, 7233, 7869. Individual damage appears based on STR. So it used a different damage formula, as expected.

0E (was 1F): Characters no longer form combos. Damage otherwise normal. This byte is definitely Combo Data, along with 10.

0F (was 00): Already 00.

10 (was E0): Again, no combos, but damage otherwise normal.

11 (was 05): WP Cost becomes 0. No surprise.

So byte 01 might be Accuracy, 00 in byte 07 didn’t increase damage this time, and both bytes 0E and 10 are Combo Data.

who are you? are you jesus?

lol! Naw–my BAC isn’t high enough for that to be PURE wine in my veins.

updated!

i’ll put the RAM addresses in the next update

about the data you listed for sword techs (atk pwer and atk type)… i think the attack power you listed is used in the damage formulas, and you should list the formula bytes with that data too, for comparison purposes.

i can’t remember where it is or who did it, but there was a list of sword techs with the attack power and attack type (blunt, electric,…)

Looking through the Ability Data, byte 01 generally seems to correspond to Ability Accuracy, with higher values being less likely to Miss. There are some exceptions (notably Missile is 00 but supposedly never Misses unless ECM-ed; I expect that “Never Miss” is probably controlled by a bit somewhere else), but the pattern fits pretty well. I’ve been testing this theory, however, and it doesn’t seem to be holding up…

I’ve been doing my testing on byte 01 by changing it to different values for the ability Beat (version 7B) with the code: 3002BB8A 00##. For my shield thread, I compiled a lot of data on Block and Miss Rates for Beat when used by Kraken, and I’m comparing that data to what I get when I change Beat byte 01 to each tested value.

For anyone curious about how I calculate Miss percentages, it’s (#Miss)/(#Miss+Block Ratio denominator). In other words, I divide the number of Misses by the total number of attacks, which includes Blocks, Hits, and Misses. The Block Ratio denominator is only Blocks + Hits, with Misses not included, since I don’t know in which order the game checks for Blocking vs. Missing.

First, the data for unaltered Beat:

Test 9(Aggregate of 9 and 9b): ExcelShield only vs. Kraken’s Beat (Blunt element only):
Beat Blocked: 130/234 (56%), with 47 Misses (17%) not included.

Next, I changed Beat’s normal byte 01 value of 78 to each of 00, FF, 01, 14 (the lowest value of any damage-dealing Ability, RandomBaz), and 64.

Test 12: ExcelShield Only vs Kraken’s Beat(Byte 01:78->00)
Beat Blocked: 48/141 (34%). No Misses.

Test 13: ExcelShield Only vs Kraken’s Beat(Byte 01:78->FF)
Beat Blocked: 49/118 (42%). No Misses.

Test 14: ExcelShield Only vs Kraken’s Beat(Byte 01:78->01)
Beat Blocked: 56/132 (42%). No Misses.

Test 15: ExcelShield Only vs Kraken’s Beat(Byte 01:78->14(RandomBaz))
Beat Blocked: 29/57 (51%). No Misses.

Test 16: ExcelShield Only vs Kraken’s Beat(Byte 01:78->64)
Beat Blocked: 45/80 (56%), with 12 Misses (13%) not included.

So 00, FF, 01, and 14 all resulted in Beat apparently never missing, despite the fact that they’re pretty different values. I finally tried 64 because it was a value belonging to many Abilities which I think tend to Miss “more than usual”, yet was close enough to 78 that I hoped it would function more similarly. It did, but Beat still missed less (13%) than at 78 (17%), which was the opposite of what I expected. It’s quite possible that my sample size isn’t large enough to be accurate, though.

Here’s some miscellaneous data about Kraken’s other Blockable attacks for comparative purposes:

Since nothing about these attacks was changed between these tests:
Aggregate of Tests 9 and 12-16: (All are Blunt element only)
Coils Blocked: 51/97 (53%), with 13 Misses (12%) not included.
Feeler Blocked: 12/124 (10%), with 4 Misses (3%) not included.
MightyCyclone Blocked: 10/27 (37%). No Misses.

Byte 01 values are:
Coils: 78
Feeler: 8C
MightyCyclone: 6E

So we’d expect Feeler to be more Accurate than Coils, which it is, but also expect Coils to be more Accurate than MightyCyclone, which it isn’t. However, since I’ve NEVER seen MightyCyclone Miss in these tests, it’s possible it might have my theoretical “Never Miss” bit set (It’s also possible that a meager sample size of 27 is too small to rely on). We’d also expect Coils to Miss about as often as Beat, which it might–at 13% vs 17%, they’re different, but not so much so that it couldn’t be due to random variation.

Because the Miss Rate for Beat DID change when I altered byte 01, I am reasonably certain that byte 01 (at least partly) determines Accuracy. However, I am not as sure that the relationship is “higher value = more Accurate”. Since changes to byte 01 also appeared to affect the Block Rate, it may determine both Accuracy and “Blockability”. I just don’t know how or what the values actually mean. I may eventually try testing some more values, but I’ve had enough for now.

Anybody else see a pattern in byte 01 that I’m missing?

maybe byte 01 is an X value in a formula that’s determined by another byte? that’s just a guess based on what’s known about final fantasy tactics.

EDIT:
ability accuracy: either it’s part of a formula determined by another byte, or it uses some kind of bit toggle… you might have more dramatic results with a smaller range:
78->77
78->76
78->75
78->74
78->73

78->79
78->80
78->81
78->82
78->83

FROM ABILITY DATA:
0d - I think this has something to do with the damage routine called up when a move is used. appears to either determine stat upon which damage is based, or reference a damage formula which determines that. More likely the latter.
07 = status effect?
08 = missile moves
09 = ‘positive’ buffs
0A = inherent to heavy weapons?
0B = enemy removal from battle, maybe instant death
0D = hp stealing moves
17 = increased damage to undead [verified. sunray, flashfire, ghost cannon, cross slash,…]
18 = healing moves
19 = single target healing moves
1C = increased damage to mecs
36 = sword counter moves
38 = TestShot
39 = centipede crush
3C = QuickDraw and TwoGun

Kraken’s Beat has 02 in byte 0d…
other abilities that also have 02 in byte 0d:
-Magin Rampage
-all marital arts counters except counter swing, dragon suplex, and dragon swing
-bright fist, sparkling roll
-al-blaster, punch, kick, chop

wow, i got the urge to do some data analysis! I have a minor update for item data on me, but geocities is under maitenance.

BEGIN DATA ANALYSIS
0d - I think this has something to do with the damage routine called up when a move is used. appears to either determine stat upon which damage is based, or reference a damage formula which determines that. More likely the latter.

      00 = sword techs, dirty fan, million dollers, BeamSword, Hammer, PluralSlash, HammerCrush, FinalStrike [last one], 
      01 = shot, [total, trick, reaction, bound] shot, proton rocket, HE_Rocket, RandomBaz, RailCannon #1, Machine Vulcan, RangeFire, 
      02 = magin rampage, counter, counter-[chop, fist, bckfist, thrust, slice], KO [punch, kick# 1, fist, kick #2, run], dragon [beat, fist, slide, bckfist], bright fist, sparkling roll, al-blaster, shining kick, punch, kick, chop, sliding, swayback, fist, backfist, crushbeat, rotation kick, KO Throw #2, goldhand, triangle kick, ogre run, scuffle, lastshot, corkscrew, skytwister, beat, Fang, Fangcrush, Daggerjaw, beak, horn, petrify, doubleAxe, brainCrush, Beat #2, scissors, powerBeat, chop, feeler, claw, poisongrip, blade, gale attack, groundhit, heatsmash, icesmash, titas wave, thrust [monster], kick [monster], griffith scratch [monster], tail, tail hit, spin attack, stinger, poison needle, minion strike, coils, tackle, dash, headbutt, stampede, wing, gliderspike [monster], seed vulcan, needles, kusanagi, ink, rock, poison gun, boomerang hook, starlight shower, Shock Soldier, Pop_Knight, CosmicRave, MysticSword, Needle, Lance, Blade, HeatSmash, GriffithScratch [mystic], MysticGlove, Poisonous Blow, Feeler {ran out of room here!}, HellWing, GrapeShot, IceSmash, TigerRampage [2d60f], TigerRampage, [2d621], Mystic Boots, PowerKick, Spiders, Assasinate, TitasWave [2d71d], Vulcan [2d7e3], ChainHeat, IronBall, StunNeedle, HeavyRailCannon, 
      03 = KO swing, dragon suplex, dragon swing, airthrow, rolling cradle, giant swing, babel crumble, locomotionG, Dragonturn, swingDDT, VandalFlip, PowerBomb, mighty cyclone, 
      04 = oscillation, spore, solvent, fire barrier, ice barrier, bolt barrier, water cannon, beetle juice, acid breath, blade net, thunderbolt, pain powder, windblast, tornado, heatwave, maelstrom, supersonic, scream, siren, lightball, tremor, quake, quicksand, silf, ignis, mega windblast, kyon's smile #1, salamander, kyon's smile #2, dark sphere, vapor blast, reverse gravity, time eclipse, energy chain #1?, implosion, vermillion sand, rava shot, saber, tower, black cat, nightmare, jackal, cockatrice, reaper, silver fang, vulcan, MecSonata, Graviton, Oscillation, WaterCannon [mystic], Deadly Powder, SpreadBlaster, ThunderBall, BladeNet, Tremor, QuickSand, ThunderBolt, HyperBazooka, 
      05 = judgementX, sonic wave, graviton, lifewave, enemy fire, Retribution, 
      06 = dodge needle, dodge tackle, dodge wing, Repair Pack, AntiStone, 
      07 = status effect?, cross shot, shock, stungaze, charmgaze, stonegaze, hypnotism, psychout, stun touch, feint, counter-fear, sleep gas, deadly moss, flash, poison mist, illstorm, lullaby, shadownet, macumba, fascination, selection, spell bound, sharp pain, shadow hold, dodge thunder, dodge rock, paralyzer, Hypnoflash, Hypnotism, PsyNet, Flash, Psych out, Sweep, MysteryTap, Hypnotism [last], Smile, Salmonella, FlashBomb, 
      08 = missile moves, Missile, AT_Missile, MicroMissile, 
      09 = 'positive' buffs, kylin's song, assist, da-dum, battle song, psycho armor, yell, dodge tail, dodge seduction, Portrait #1, Da-Dum, Assist, Portrait #3, PowerSave, 
      0A = inherent to heavy weapons? [destruction beam, blaster, blaster sword, sonic blaster, water cannon [mec], beam cannon, magnablast, bolt cannon, flame thrower, bolt thrower, plasma bullet, "Laser", Magnify, 
      0B = enemy removal from battle, maybe instant death, deathgaze, death touch, sphinx riddle, ectoplastnet, flash flood, vanish, element dissolve, Suffocation, 
      0C = deathgrip, 
      0D = hp stealing moves, bloodsucker, grasp, ghost touch, firekiss, HPDrain, powergrab, BloodSucker, Lord's Dinner, 
      0E = sweep, spidernet, hide behind, delay order, timeleap, gate, broken glass #1, dwarf rune, sacrifice, counter magician, dodge drain, dodge touch, dodge gale, evasion laser, evasion rocket, evasion bullet, virus, kyon's smile #b4, shooting mastery, combat mastery, tiger program, dragon program, maxwell program, self repair, Jammer, Call, Runaway, 
      0F = clawbit #2, Bit, 
      10 = clawbit #3, Bit [last one], 
      11 = PoisonDamage, 
      12 = trample, gasflame, fire breath, flame blast, artic breath, bolt breath, bolt blast, stink gas, poison gas, stone gas, trip gas, diving press, FireBreath, ArcticBreath, Crystalizer, Trample [last one], 
      13 = stasis rune, 
      14 = clawbit #1, hypergaze, lightning web, Intercept System, BervaCounter, MoonScraper, GodHand, LordCannon, Carnage, BusterLauncher, 3Mistresses, Saber, 
      15 = focus shot, CrossHair, 
      16 = stun shot, 
      17 = increased damage to undead [verified.  sunray, flashfire, ghost cannon, cross slash,...], flash turn, sacred song, elf shot, sunray, flashfire, awakening? [wtf?  maybe lifewave and awakening are reversed?  is this my mistake, or a saga programmers mistake?], GhostCannon, 
      18 = final crusade, life rain, reviva, 
      19 = heal, magic heal, starlight heal, mind heal, dodge smash, Kyon's Smile #d1, MagicHeal, 
      1A = pain doubler, 
      1B = MagiDefense, 
      1c = gremlin touch, magnetic storm, Logic Bomb, GremlinEffect, 
      1D = sharpshot, 
      1E = suplex, 
      1F = Seduction, Pheremone, 
      20 = phantasm shot #1, phantasm shot #2, 
      21 = KAMIKAZE_Crush, 
      22 = gold, 
      23 = kyon's smile #b3, Energy Supply, 
      24 = light sword, 
      25 = dodge powder, 
      26 = psychic prison, 
      27 = backfire, 
      28 = shadow servant, 
      29 = glass shield, 
      2A = broken glass #2, 
      2B = overdrive, 
      2C = Satellite beam, 
      2D = Mirror shield, magician, 
      2E = mad attack, 
      2F = death curse, death, 
      30 = regeneration, 
      31 = reviva, 
      32 = freedom rune, dodge gaze, 
      33 = revolution 9 #2, rava barrire #2, 
      34 = possesion, 
      35 = shoot all #2, 
      36 = kasumi, godless, asura revenge
      37 = chaos stream, 
      38 = test shot, 
      39 = centipede crush, 
      3a = light shift, dark shirt, fool, ECM, CounterECM, 
      3b = alkaiser change, 
      3c = cross deflect, clawbit #4, quickdraw, twogun, mystical change, contact, touch, psy-reflector, sad song, photosynthesis, deathsynthesis, firey spirit, vortex, time twister, revolution 9 #1, evaporate, iron pole, drunk, rava barrire #1, shield, grail, victory rune, vitality rune, hide rune wall rune, soul rune, dodge riddle, dodge net, dodge tremor, dodge death grip, kyon's smile #b2, V_MAX, V_END, Shoot_ALL, Portrait #2, SpaceContact, Defense, 
      3d = spoil, dodge flash, Spoil, 
      3e = shadow counter, kaiser smash
      3f = al-phoenix, re-al-phoenix, deflect lance, dark phoenix, 
      40 = DSC #1, 
      41 = lifesteal [last], 
      42 = magma touch, 
      43 = ironclog shot, magic stone, MagicStone [last one], 
      44 = SatelliteLinker, 
      45 = brave heart, 

note: the various kyon’s smile attacks are the skills used in the 9 guardian rings.
note: i’m beginning to appreciate the way squeenix organized this games abilities. everything’s out in the open. it’s a lot easier to hack than FFT… i don’t see any need to try asm hacking yet, thank god.

FROM SQUIDHEAD’S OR SENOR WAYLAY’S SITE, FORGOT WHICH
[i]Skill Quirks and Related Statistics

Most of the physical attacks with fire, cold, electrical, or energy damage are powered by WILL.
This includes most if not all of the katana attacks, Rising Nova, and Crosscut.

*Breath Attacks- Effectiveness determined by HP and VIT.
*CrossSlash- Effectiveness determined by WIL and PSY
*Cross Shot- This move is dependant partially on strength.
*Dark Sphere- Has the ‘vanish’ effect on the opponent it is used on.
*Dirty Fang & PhantasmShot (Jackal) - Nullifies regeneration. Good for Kylin battle.
*Logic Bomb- Effectiveness is probably determined by INT.
*Magical Heal- The Mystic version cures petrification. The Monster version removes status ailments.
*Pain Doubler- Target’s Max HP is reduced by amount of damage inflicted.
*Phantasm Shot- The higher the caster’s INT, the better the chance of summoning a more advanced beast. At 80+ INT, the caster will summon cockatrice or death 9 out of 10 times.
*Self Control- Powered by INT and WIL.
*Self Repair- The healing formula is 7+VIT. Engineer Car’s formula is 16+ VIT, and Leonard’s is 8+VIT.
*Shield Card- Effectiveness is determined by WIL and INT.
*Shooting Mastery&Combat Mastery- Increases attack power by 1.5 times.
*Sphinx Riddle- Effectiveness determined by INT
*Starlight Heal- The effectiveness is dependant largely on INT and CHA. At 90 INT and CHA, Starlight Heal recovers over 600 damage.
*Vitality Rune- The formula for regeneration is Max HP/16 + VIT+1.
Thunder Thrust
Fist
Godhand
Triangle Kick
Sky Twister
Rising Nova
All four Katana moves
Blizzard can cause Palsy

Victory Rune & Braveheart - Increase the effectiveness of weapons and healing items/equipment.
Possibly other Mec bodyparts/equipments.

SacredSong(Magatama) is better with high WILL

For Mystic (and possibly Monster) moves:
Maelstrom
Flame Breath
Arctic Breath
Crystalizer
Tremor
Quicksand
Heat Smash
Ice Smash
Thunderbolt probably Psy
Net
Oscillation
probably Flash
Deadly Powder
Spreadblaster
Magical Heal
Tiger Rampage
Thunderball
Lightball
Assist
Spoil
Bladenet
MysteryTap probably uses CHA
The rest all have only physical components.
Liferain is based on max HP.
Tiger Rampage possibly use STR, QUI and VIT

Programs AKA MecSkills

Virus- probably CHA.
Self Repair- 7+VIT. For Engineer Car, 16+VIT. For Leonard, 8+VIT.
Unaccompanied Sonata- magic stats. (Rough Japanesse translation)
Kamui Crush- Magic stats. Power increased by Conbat Mastery.
Shock Soldier- Phys. stats. Power increased by Combat Mastery.
Sattelite Linker- WIL and MAYBE other magic-related stats. Increased by Shooting Mastery.
Logic Bomb- In all likelihood, this is powered by INT.
Jammer- magic based stats obviously, probably CHA.
Hypnosis Flash- most likely CHA.
Plural Slash- Phys stats. Combat Mastery increases power.
Crosshairs- WIL most likely.
RangeFire: WIL most likely.
Hammer Crush- Phys most likely. Combat Mastery increases power.
Laser- WIL
Bit- probably WIL.

Logic Bomb and Sphinx Riddle possibly use INT

Healing Spells use CHArm

PSYchic/CHArm/INT are probley the stats used to inflict status afflictions (Poison, Mess, ETC)

For Mystics, GriffithScratch is slightly stronger than TigerRampage. It is also cheaper WP and
causes Stun. TigerRampage self-comboes so choose carefully. For monsters, MightCyclone is cheaper
than GriffithScratch, does more damage, and self-comboes.

The “ElementDissolve” ability on a SplashSword works like the spell Vanish; it removes the enemy
from the battle, negating it’s drop.

STR
Every sword tech not listed elsewhere, Cross Shot, every fighting tech
WIL
Rising Nova, all katana techs, all gun techs
INT
All spells
PSY
Chance for processing extra effects
VIT
Defense against all damage
CHA
Defense against Charm, chance to charm
QUI
Speed in battle

Forgot the rest!

I could have sworn Will affected magic too. Correct me if I’m wrong.

  • Strength does raise the damage of every sword and fighting tech.

  • Quickness also raises the damage of all fighting techs.

  • Intelligence doesn’t seem to have a noticeable effect on damage values (maybe a slight increase
    in magic, though I haven’t tested magic extensively enough to come to a conclusion either way).
    It does however seem to increase the rate of status effects occurring.

  • Will had the most insight to offer, as I saw it as one of the more important stats before any
    of this testing. It has the most effect on status infliction (of the three mental stats). It also
    is the predominant stat figured into gun damage (I believe the only one, actually. With 99 Will
    and starting levels in the other stats, I was able to do 1664 damage with a single-gunned
    BoundShot). BoundShot’s bounces rely entirely on the Will of the character using the gun (not
    Quickness, or any other stat). On a slightly random note, the boulders that fall during TrickShot
    increase in size with a character’s Will stat (I never noticed that before, don’t know if anyone
    else has). It does not increase the damage of Katana techs, as previously thought, nor do any
    stats other than Strength. It also does not affect RisingNova damage. Will seems to be about
    equal with Psychic in importance to magic attacks, though I’ll have to find some more damage and
    healing averages to figure out which carries more weight.

  • Psychic seems to be important solely in magic damage and healing. It may help increase status
    infliction rate, but not by much.

  • CrossSlash is an interesting little bugger. When I used it with either starting stats, 99
    Quickness, or 99 Intelligence, it damaged an average of 300-400. I didn’t get a number for it
    with 99 Strength, so I’ll have to go back and try that, but here’s the interesting part: With 99
    Will, the damage shot up into the 650-750 area. Then with 99 Psychic, the damage jumped up again
    into the 950 area! I’m rather interested to see just how much damage I can do with CrossSlash
    with 99 Strength, Will, and Psychic and a top-level sword. Probably something outrageous, like up
    in the 5k+ range, all for 2 WP (1 with mastery)

Thunderbolt can also cause Stun to enemy Mecs.

GremlinEffect has “critical hit on Mecs” ala MagneticStorm

WIL is said to increase accuracy. I don’t know if that’s true, but if it is, it makes it SaGa
Frontier’s equivalent of the DEXterity stat in Romancing SaGas. QUI would be the AGI stat, since
it apparently bumps up kung fu damage too.
I’d be interested to know if the Japanese CD of SF labels WIL/QUI/INT as DEX/AGI/MAG.
I’ll second the Will = accuracy statement. After doing 99 Will and then switching to 99
Intelligence, I noticed a significant number of fighting techs missing. Admittedly, I’ve noticed
that some fighting techs miss when you’re low in Strength, but I think having almost no Will
probably hurts it much more.

Also, if you have ever Gamesharked 99 of every stat (999 HP, 250 WP/JP as well) and then been hit
by an Enemy Fire, it will do somewhere around 2112… just going off of my memory of about 5
years ago, but it seems it takes multiple stats into account. When Diva did her Retribution move
with a maxed character, it did 12000… do you know how these values come up?

INT seems to affect the probability of getting a “good” Phantasm Shot.

PSY affects Gun damage

Seems Regeneration adds a slight bonus (10%?) to effects that already provide regeneration.
(SelfRepair, 'Synthesis) [DS: The realm magic GS Spell?]
[/i]

END DATA ANALYSIS

It looks a lot better in notepad.

The possibility of byte 01 being a bit toggle crossed my mind, too, but what the heck could the bits be toggling that would give roughly similar results at both 00 (nothing set) and FF (everything set)?

It’s certainly possible that it represents the variable in a referenced formula, but again, why would 00 and FF give the same results?

The only explanation I’ve come up with for that is if setting, say, bit 80 means “subtract 256 from the value so it becomes negative.” Then FF would = -1, 00 would = 0, and 01 would = 1, which would explain why they’d produce indistinguishable results–on a scale of 256 possibilities, they’re only separated by 2 points at most. Trouble is, I REALLY don’t think the abilities with higher values in byte 01 are LESS accurate–just the opposite.

I guess one final possibility would be if FF is an aberration meaning “ignore this entry and default to 00.” Guess I should try to muster the willpower to test FE… Then again, the expectation would be that FE = massive accuracy bonus, so the expected result would be “no misses”. It wasn’t FF = no misses that was weird, it was that 00, 01, and 14 all = no misses.

Anyway…

In the ability_dump: regarding byte 06:
“80 = ground type (why is cross shot here?)”

It isn’t. For some reason, CrossShot and StunShot appear to have all their values swapped with each other (see their byte 11 WP costs to make this obvious). Unlike CrossShot, StunShot IS ground-based, because it represents shooting the ground at the enemies’ feet to shake them up a little. I guess it’s not as scary if you can fly, even though the implied threat–“next time I’ll shoot YOU”–should be.

[i posted this in the item data thread a few minutes ago. it belongs here.]

now for the news… MASSIVE updates to ability data. i did some data compiling on a few of the bytes, specifically the ability formula byte and a few of the bit toggles.

GOOD NEWS:
when i was looking at the ability formulas i realized i never actually compared the order the abilities are listed on my data to the order they’re listed in the game… it was wrong. lifewave showed 0 JP cost because it wasn’t lifewave, it was ironpole. there were a few other screwups like that in there, but i corrected them.

BAD NEWS:
because i didn’t catch those mistakes until after i finished my research on the bit toggles and formulas, there are a few mistakes in them.

it won’t be that bad, just ignore reviva, sacrifice, lifewave, awakening, ironpole, crossshot, and stunshot when looking at my research

DON’T PANIC:
the actual DATA data, the big fucking square thing made up of numbers and hexes, is fine. if anything, it’s better than before. it’s just the key, the legend, that’s a little fucked up. which can be easily corrected.

IN SHORT:
you can continue to use the ability data. just watch out for the abilities i listed above, when looking at the new information i compiled.

and i changed the links for all the crap. look at the first post in this thread, item data thread, and other data thread to find them.

Impressive. Will further analysisize at a later moment of greater being more opportunish.

Is it possible that one of the combo value data bits is the comboes into value, and the other is the comboes from value? Moves that combo into themselves will not be able to test this. The ideal setup for testing would be using two moves that can combo into each other from either direction, although you could probably get the data to confirm this with moves that only combo in one direction regardless.

Thats exactly what we think. I can’t speak for the others, but I’m busy with the real world right now. I’m pretty sure Boundshot combos with itself both ways… ask Zaraktheus.

Bound shot does combo with itself both ways, the problem is you need two different moves to test which value is the combos to and which is combos from, that way you don’t tweak both moves when you change one of the combo values. For example, modifying either of boundshot’s combo variables makes it impossible to combo boundshots together, however if you were using two different moves that combo in a similar manner to boundshot, they would still allow level 2 combos after the value is changed, and you would be able to see which moves execute first to know whether the value you changed disabled comboing to, or comboing from.

If using two moves that only combo one way, you would not get 100% positive proof that the two values are combos to and combos from values, since it’s possible the value that doesn’t disable the combo is just another set of information for combos. You would be able to test and see if the combo works with one value changed though, and if the assumption that one is comboes to and one is combos from is correct, we would be able to assume that the unchanged value controls the combos to or combos from value depending on whether the move modified was the one that starts the combo or the one that ends it.

That’s really long and somewhat repetitive terminology wise, so I’ll understand if I confused someone.

In other news, I reckon having byte 08(Or what is called 08 in the ability data.txt, Zaraktheus was calling it 09 in his analysis though, but I can’t find what he was using for 00 so that’s why it’s different) set to 10 causes damage to double or perhaps *1.8 like two gun, explaining why Doubleslash, Cross slash(Also uses a different damage formula though), Heaven/Hell, TripleThrust, and LifeSprinkler, as well as a few other sword techniques do considerably more damage than their attack power would indicate. Non 10 values are for aoe purposes. This would make the strongest sword moves in terms of raw attack power Life sprinkler > Tres Flores > Shadow Counter > Headwind > Moonlight Cut/Triple Thrust. Triple Thrust and Moonlight Cut have the same damage formula, and this strength order was based on 1.8 times damage for the 10 value, So you should test which is actually stronger to get a better idea how much extra damage the (double hit) effect adds. Also, Shadow counter uses a different damage formula than the other moves, so it’s probably not actually this high on the list.

DSC’s damage is nowhere near what it’s attack power would indicate, this is probably because of byte 0c though, since DSC is the only move with a value of 40 there, it might be fun to try changing other moves 0c to 40 to see if they do humongous amounts of damage. 0C(0D for Zaraktheus) is definitely the damage formula.

To clear up confusion on this point: since my last posts on this site, the data block for each ability has been shifted one byte back, because I determined that what was previously called byte 00 was actually byte 11 of the previous ability (thanks to Vimes raising the possibilty). That discussion was in the “Ted, etc.” thread on the GameFAQs board and never made it here. Let’s see…that was on 4/8/2009, so any posts from before then will have the old byte assignments. Just subtract one from any byte mentioned prior to that date to get what we call that byte now.

Although I think everyone already figured this out, BoundShot does combo with itself both ways, as do all abilities that I refer to as “self-comboers”. In point of fact, it is logically impossible for an ability that combos with itself to do so in only one direction–in order to send to itself successfully, it must also be able to receive from itself.

I had been holding off on posting my investigation of the Combo Data because I have yet to determine how it works, but I suppose it may be useful to post it as-is, if only to clarify some of the ways in which it does not work.

This investigation assumes that bytes 0D and 0F are the only Combo Data bytes, that all the data they contain is relevent to Combo Data (and nothing exterraneous), and that they are bit toggles, with each bit representing one combo characteristic. I have since come to suspect that any or all of these assumptions may be incorrect.

Here are the byte 0D and 0F values of the abilities on which I focused:

Some abilities that don’t combo, and therefore hopefully lack complete Combo Data:
0D-0F-Ability
1F-00-Slash
1F-00-Punch
1F-00-Shot
1F-00-QuickDraw
1F-00-TwoGun
1F-00-MysticalChange
1F-00-AlkaiserChange
7F-00-Photosynthesis
7F-00-Deathsynthesis
1F-00-Gate
1F-00-DodgeDrain
1F-00-ShootingMastery
1F-00-MysticSword
1F-00-PoisonDamage
1F-00-Defense

Some abilities that self-combo:
0D-0F-Ability
1F-E0-HardSlash
1F-E0-SwallowSwing
1F-F0-ThunderThrust
1F-60-ShadowCounter
1F-E0-CrossShot
1F-E0-BoundShot
1F-E0-Sliding
1F-E0-Fist
1F-70-Suplex
1F-70-GiantSwing
1F-E0-TriangleKick
1F-E0-Beak
7F-70-Tackle
91-E0-StoneGas
BB-70-MightyCyclone
0B-28-ProtonRocket
1F-E0-PluralSlash
1F-F4-DarkSphere
1F-60-EnergyChain

The following chart illustrates which bits are set for each of the values found in the above listing:

bits__01_02_04_08_10_20_40_80
0B=01_02____08__________
1F=01_02_04_08_10_______
7F=01_02_04_08_10_20_40_
91=__01__________10_______80
BB=__01_02____08_10_20____80

28=_____08____20
60=______________20_40
70=___________10_20_40
E0=_________________20_40_80
F0=______________10_20_40_80
F4=________04____10_20_40_80

In the following theories, I will refer to any specific value in a specific byte with the following format: “byte:value”. As an example, I would list HardSlash’s byte 0D value of 1F as 0D:1F. It’s much more concise this way. I will refer to specific bits within a byte in the same way.

Theory 1: Byte 0D Sends, byte 0F Receives. Bits correspond directly and in the most obvious manner, so 0D:01 links to 0F:01, 0D:02 links to 0F:02, etc.
Disproven by: look no further than HardSlash–values 1F and E0 have exactly the opposite bits set, but share none.
Because we are considering self-comboers, it doesn’t matter which byte Sends and which Receives, so this also disproves byte 0D Receives, byte 0F Sends.

Next, I examine a few patterns I would consider much less likely for their inscrutability.

Theory 2: Byte 0D Sends, byte 0F Receives. Bits correspond such that 0D:01 links to 0F:10, 0D:02 links to 0F:20, etc.
Disproven by: StoneGas.
Again, the reverse is also disproven.

Theory 3: Byte 0D Sends, byte 0F Receives. Bits correspond such that 0D:01 links to 0F:80, 0D:02 links to 0F:40, etc.
Disproven by: ProtonRocket.
Again, the reverse is also disproven.

This could go on forever, with the patterns becoming ever more unlikely. All I can say is that it seems highly unlikely that the relationship is as simple as “one byte Sends, the other Receives.” Time to try a different idea. Rather than Send and Receive, perhaps we should be looking for Send and Block. In order to form a combo, any bits Sent must NOT match any of the bits Blocked. This could explain HardSlash’s values having exactly the opposite bits set.

Theory 4: Byte 0D Sends, byte 0F Blocks. Bits correspond directly and in the most obvious manner, so 0D:01 is blocked by 0F:01, 0D:02 is blocked by 0F:02, etc.
Disproven by: ThunderThrust. Bit 10 is set in both bytes.
Again, the reverse is also disproven.

So, what possibilities remain? It could still be Send/Receive or Send/Block from one byte to another, but with an inexplicable pattern. Or Send/Receive or Send/Block for each characteristic could be contained within a single byte (e.g. 0D:01 Sends a characteristic which 0D:10 Receives), though in this case, who knows what the pattern of relationship between bits would be? Or maybe they’re not bit toggles at all, but instead references to a table somewhere else that lists what characteristics are Sent and Received (or Blocked!), though in this case, it seems inexplicable that there would be so few values used, but such a large numerical difference between them. And of course, there could be more bytes involved in Combo Data than just 0D and 0F, or 0D and/or 0F could also contain data unrelated to Combos, which could be muddying the waters. In short, it could be just about anything, save that the pattern isn’t obvious (at least not to me).

Videospirit: interesting find regarding 08:10. Have you been able to test at all whether setting/unsetting bit 08:10 causes abilities to change their AoE or how much damage they do? It would be interesting to know whether 08:10 is a toggle unrelated to AoE (meaning it could be set in order to ~double damage for any AoE), or whether the developers just inexplicably put a single reference value in the AoE byte that affects a single target, but ~doubles damage.

The XXXX, YYYY, and ZZZZ values given for all the abilities still need to be shifted +1 (e.g. 2B7AB -> 2B7AC) to reflect the data-block shift. Noticed it when I RAM-searched TrickShot’s byte 06 value and it was one off from where I expected it. Sorry to be the bearer of bad news.

Will do.

EDIT

Er… Can’t do.

EW can generate them with Excel, and anyone can insert the new Base Addresses with Microsoft Word. If you need the specifics, just ask me.

And EW, could you provide a visual aid for generating Base Addressed via Excel?

Figured out what’s wrong, don’t have any of the HEX/DEC/OCT/BIN2whatever functions.

So who exactly should I shake my fist at in impotent fury? Microsoft?

Just tried out openoffice, it has hex2dec. I’ll install it later and finish up (finally).

http://grand-flamingo.tripod.com/ability_data.txt

Corrected and updated.