Ability Data

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

use this thread to discuss ability data.

EDIT
updated ability data link

Cool, I’m glad to know you went through with this idea! Keep up the good work!

only two immediate goals for ability data:
-modify an ability or two to test what the various attack types are (like sonic wave, gaze, water wave, and so on). basically, just finish the list.
-find which byte determines which status ailments are added to the ability. i know we’ve probably already found what tells the game to add ailments (in general), i want the one that say, “add a specific ailment, such as blindness”.

of course you can do whatever you freaking want - no help will be turned away.

Byte 03 is the ability’s attack power. :slight_smile:

Also, I’m wondering if byte 04 isn’t something regarding which status is applied:

MysteryTap: 10
FlashFire: 01
Ink: 01
Selection: FF

Seems logical, I don’t think Ink or FlashFire have any additional effects beyond Blindness, MysteryTap inflicts Mess (and each use increases the level, beginning with Blue, then Yellow, then Red presumably, assuming the character doesn’t ‘shake off’ the ailment by then–but I tried this on a fairly buff party who never got past Yellow Mess before automatically negating the ailment) and Selection, AFAIK, inflicts EVERY status ailment. Slash and several others have FF, but these also do not have ‘07’ in the byte that says ‘if 07, do status ailments’. The only things is that this doesn’t immediately line up with anything we’ve seen for items and in-battle status, but that’s no reason to immediately discount this theory, methinks.

EDIT: There’s some abilities that are throwing this pattern off, but I think if we take into account what byte 0D is doing as well it may all make sense. My knee’s acting up so I’ve taken something for that…meaning I’ll be out within the hour (at most) so I’ll try to play with this more tomorrow. Lots of homework though, so…we’ll see.

EDIT2: I changed Slash’s FF at byte 04 to 00, and it now inflicts Stun with a basic sword attack. Neato! :slight_smile:

Byte 0B:

bit 0 (01): Self-targeting counters (Godless, CrossDeflect)

bit 1 (02): Must have used the abilities weapon type that round (Sword for Deflect, Punch for Swayback, Gun for TwoGun, etc.)
Barriers also have this bit set, and Gate.

bit 2 (04): Requires 2 swords (CrossDeflect, 2GaleSlash)

bit 3 (08): Only damaging Gun techniques have this set.

bit 4 (10): Inherent abilities (cannot be directly chosen–Slash, Punch, Beat); ALL Dodges have this set, as well.

bit 5 (20): ?? (IronclogShot (E0), DodgeNet, DodgeThunder, DodgeTremor, DodgeRock, DodgeGaze, DodgeDeathGrip, Kyon’sSmile, Kyon’sSmile, Kyon’sSmile (F0), Bit, V-MAX, Magnify (60))

bit 6 (40): ?? (Ironclog Shot (E0), All Dodges but Smash, Tail and Tackle (D0/F0), Bit, V-MAX, Magnify (60), AntiStone, StunNeedle, Salmonella (D0), FlashBomb, MagicStone (C0), FinalStrike (40))

bit 7 (80): ?? (Ironclog Shot, All Dodges but Tail and Tackle, Bit, V-MAX, Magnify, AntiStone, StunNeedle, Salmonella, FlashBomb, MagicStone (the one near the bottom of the list), MagicStone (the one nearer the top of the list), Shoot-All)

Posted this in the Item thread at first, wth >_<

EDIT: (to avoid triple-post blitz madness)
I was playing with Lifewave’s cost.

It did nothing.

No matter what I changed it to, the cost remained the same. I’ve tried playing with several other bytes, thus far to no avail. Oddball, indeed…

Lol, you should set LifeSprinkler to a counter attack. That would be hysterical, like someone tries to attack Gen and he’s all “Ohhh you shouldn’t have done that” lmao!

Well I tried changing byte 0B to 02, but I think it’s handled in one of these ways:

a) Another byte says, “If byte08 = 02 and the incoming attack type is matched to this byte, determine if the counter is performed.”

b) There’s a byte that determines the odds of the countermove being used.

c) Some combination of those 2.

d) ???

e) Profit?! Wait…

Points of Attack power per WP used for Sword skills. (No Alkaiser skills yet.)
All decimals are rounded down to the tenth. (So 1.25 becomes 1.2.)

First number is without mastery, second is with.
‘F’ indicates free. (0 WP)

A few things:
Bytes 04/05: I speculate these have to do with status inflicted.
Byte 09: Some abilities that seem to be more powerful than byte 03 would suggest have this at 10. (DoubleSlash, for example.) WheelSlash actually has 92 there.
Byte 0E: Could this have something to do with what stats affect damage? I have no idea, and I’m actually inclined to believe not, but still…this byte puzzles me.

Basic:
F/F Slash: 4 Atk, 0 WP, Slashing
F/F TwinSword: 4 Atk, 0 WP, Slashing
F/F Katana: 4 Atk, 0 WP, Slashing
1.5/2 Asura: 6 Atk, 4 WP, Slashing (Byte 04 = 29)

Counters:
<5/6 Godless: 24 Atk, 5 WP, All but Status
=4/5.3 AsuraRevenge: 16 Atk, 4 WP, Force/Slashing (Byte 04 = 29)
=2/2.6 Kasumi: 8 Atk, 4 WP, All but Status (byte 05 = 02)

F/F StunSlash: 2 Atk, 0 WP, Slashing, Stuns (byte 04 = 00)

3/F DoubleSlash: 3 Atk, 1 WP, Slashing (byte 09–alters damage? 10)

2/4 HardSlash: 4 Atk, 2 WP, Blunt/Slashing
2/4 CrossSlash: 4 Atk, 2 WP, Slashing (byte 09 = 10)

2.5/5.0 Thrust: 5 Atk, 2 WP, Piercing/Slashing
1.2/2.5 WheelSlash: 5 Atk, 4 WP, Slashing, AoE (byte 09 = 92)

3/6 ThunderThrust: 6 Atk, 2 WP, Electric/Piercing/Slashing
2/3 Smash: 6 Atk, 3 WP, Blunt/Slashing

3.5/7.0 SwallowSwing: 7 Atk, 2 WP, Slashing, Aerial
2.3/3.5 Heaven/Hell: 7 Atk, 3 WP, Slashing, Stuns (byte 04 = 00, byte 09 = 10)
1.4/1.7 GaleSlash: 7 Atk, 5 WP, Piercing/Slashing, Aerial vs. all enemies

1.6/2.0 BearCrush: 8 Atk, 5 WP, Blunt/Slashing
1.3/1.6 DeadEnd: 8 Atk, 6 WP, Piercing/Slashing, Instant Death (byte 04 = 07, byte 09 = 10)
1.1/1.3 TripleThrust: 8 Atk, 7 WP, Piercing/Slashing (byte 09 = 10)

1.8/2.2 2GaleSlash: 9 Atk, 5 WP, Piercing/Slashing, Aerial vs. all enemies
1.2/1.5 TurbidCurrent: 9 Atk, 7 WP, Slashing
1.0/1.1 Haze-to-Wheel: 9 Atk, 9 WP, Slashing, Vs. all enemies

2.5/3.3 WillowBranch: 10 Atk, 4 WP, Piercing/Slashing
2.0/2.5 HeadWind: 10 Atk, 5 WP, Slashing (byte 09 = 10)
1.6/2.0 Blizzard: 10 Atk, 6 WP, Cold/Slashing (byte 04 = 02)

1.5/1.8 NoMoment: 11 Atk, 7 WP, Blunt/Slashing
1.5/1.8 RisingNova: 11 Atk, 7 WP, Heat/Slashing

1.7/2 Still Stream: 12 Atk, 7 WP, Slashing
3.0/4 ShadowCounter: 12 Atk, 4 WP, Slashing (byte 09 = 10)

1.6/1.8 RosarioImpale: 13 Atk, 8 WP, Piercing/Slashing

3.5/4.6 MoonlightCut: 14 Atk, 4 WP, Slashing

1.6/1.7 LifeSprinkler: 16 Atk, 10 WP, Slashing (byte 09 = 10)

2.6/3 Tres Flores: 24 Atk, 9 WP, Slashing

Skills that stand out (something of a personal analysis, your mileage may vary.):

Tres Flores: No wonder it doesn’t combo well.

MoonlightCut: Excellent WP efficiency, even without mastery. With mastery, SwallowSwing is even better, though.

RosarioImpale: The most outright powerful Piercing sword move. By no means the most efficient, but for those occasions when Piercing is better, it looks promising.

ShadowCounter: Very efficient WP-wise, and although it doesn’t have the Aerial byte set it still acts as a long-range skill…so there’s something to look into.

RisingNova: Need Heat damage from a Sword? Here you go.

NoMoment: Need Blunt damage from a Sword? This is the biggest Atk of the lot, and just as cost-effective as RisingNova…which isn’t very, but hey.

Blizzard: Not quite as powerful but more cost-effective than RisingNova. Oh, and it’s Cold damage instead of Fire.

Headwind: Fairly efficient.

WillowBranch: A quite-efficient Piercing-style Sword move.

Haze-to-Wheel: Unless there’s more to damage than we’ve seen, it’s kinda meh. It is, apparently, long-range, though.

2GaleSlash: Seems to be the best attack-all for Swords, being cheaper than H2W. Plus it’s Piercing AND Slashing, for when that helps.

DeadEnd: Piercing, but not very cost effective for that. Instant Death is nice, though.

GaleSlash: The poor man’s 2GaleSlash. … Weaker than H2W but more cost-effective.

Heaven/Hell: StunSlash is free, but w e a k. Heaven/Hell is pretty efficient, and hits harder than StunSlash. And it stuns. Pure Slashing.

SwallowSwing: Wow. THE most cost-effective move in the game if you go with physical mastery. Plus, long-range means you avoid barriers. Pure Slashing, which may be its only weakness.

ThunderThrust: Not as powerful, but more WP-smart than WillowBranch. It’s also the go-to move for Swords to deal Electric damage. And for Piercing it’s even more cost-efficient than Thrust!

WheelSlash: AoE, and more cost-efficient than Haze-to-Wheel, but then H2W hits all. It’s not horrible, but there’s shinier.

HardSlash: The most cost-efficient Blunt damage for Swords.

DoubleSlash: Something has to be off here, because we know that DoubleSlash is stronger than a normal attack. Hence my looking at byte 09, but that’s just a hunch. But it’s a sweet skill regardless. ^^

Godless/Kasumi: No wonder! They basically hit your opponent’s weakest point, in addition to being outright strong to begin with.

AsuraRevenge: In a solo fight where you know you’ll get this off, it would be superb. But Asura’s regular strike isn’t hugely powerful against bosses (it does some instant death thing, doesn’t it?) and it’s not that cost-effective either.

CrossShot also has an odd WP quirk–it says ‘01’ but clearly costs 4.

Also, byte 03 (Attack power) for CrossShot is 00. Interesting, to say the least.

EDIT: No, that’s my fault. I had switched the values for CrossShot and StunShot. So that actually fixes that altogether.

EW: You’ve identified byte 03 as “Attack Power”–is that correct?

Regarding ShadowCounter: there’s a difference between Anti-Air and Non-Contact (aka long-range). Anti-Air is bit 01 in byte 06 and means “does extra damage to aerial targets”. I haven’t found where Non-Contact is set yet, but it means “avoids barriers”.

Some other things we should look out for:
-Combo data.
-Ammo used.
-Ability speed modifier
-[Non-]Contact. (e.g. all throws, all gun techs, SwallowSwing) Could be a bit for Non-Contact OR a bit for Contact; don’t know which.
-Anti-Undead. (e.g. SunRay, CrossShot, SacredSong)
-Anti-Mec. (e.g. MagneticStorm)
-Unblockable. (e.g. NoMoment, BoundShot, TimeEclipse)
-Never Miss? (e.g. Missile?)
-HP Drain? (e.g. HPDrain, Bloodsucker, FireKiss)
-various stat [de]Buffs?

Based on how Romancing SaGa: MS (PS2) does Combo Data, I would expect there to be a number of Combo Characteristics (e.g. Dashing, Non-Dashing, Ascending, Descending, etc). Each ability that can combo is set to Send and/or Receive some of those Characteristics. If Ability A goes immediately before Ability B, and Ability A Sends at least one Characteristic that Ability B Receives, then a Combo is formed between them.

In RS:MS, there were 16 Combo Characteristics. I would hazard a guess that each Ability devoted 4 bytes to them–2 bytes for Characteristics Sent, and 2 bytes for Characteristics Received, with one bit for each Characteristic in each case.

Unfortunately, I don’t know how many Characteristics there are in SF, nor what they are, what bytes control them, or how the Characteristics and Sending/Receiving would be situated across those bytes. If, for example, there were also 16 Characteristics in SF, we could hope that their data would be contained within four adjacent bytes, but based on the item defense data, they may not be adjacent. In fact, if EW has correctly ID’d byte 03, then there AREN’T four adjacent bytes left. Further, while I personally would organize the data such that the first byte held Send data for the first eight Characteristics, the second byte held Send data for the rest, the third byte held Receive data for the first eight, and the fourth byte held Receive data for the rest, it could well be done differently. Perhaps they would instead alternate Send/Receive between bytes (e.g. 1 & 3 Send, 2 & 4 Receive). Or Receive could come first. Or they might do both Send and Receive for only four characteristics per byte. Or there might be 8 characteristics total. Or 32…or who knows? I’ve tried looking for patterns, similarities, differences, etc. between known self-comboers and non-comboers, but so far I haven’t had any luck. It should get easier as we narrow down the possible bytes, though.

I’d been thinking Ammo Used would be a whole byte, but if the only options are “1” and “5”, it could be just 2 bits in a byte with other stuff…?

I’m virtually certain there must be a value for Ability speed modifier (not necessarily in this data), and it must be more complex than “1 bit if always first, 1 bit if always last”. As a sloppy example, BJ&K and Rabbit using HypnoFlash go before Kraken (QUI=54) using Maelstrom, who goes before EngineerCar (QUI=85) using TigerRampage, who goes before the last two characters doing whatever. Focusing on just one aspect, TigerRampage must make EngineerCar slower than Kraken, but not automatically last; ergo abilities must be able to precisely modify speed.

Rock on! With your permission, may I update the wiki with this info?

Two things, though:

  1. No information for the Kusanagi = :(, although if I had to take a guess, I’d say Slashing and Force. Could you verify that?

  2. Are you sure that those attack power numbers are correct? While a lot of those make sense, a few of them absolutely baffle me, like MoonlightCut/ShadowCounter being stronger than TripleThrust, and I’m POSITIVE I’ve never gotten TresFlores to deal more damage than LifeSprinker - it’s a big part of why I stopped using Katanas to begin with.

Hmmm…while I will agree that byte 03 seems strongly related to attack power roughly 80% of the time, I really can’t agree that the relationship is as simple as “byte 03 always = attack power”.

First, there are numerous non-damaging abilities with non-00 entries in byte 03. CharmGaze is 02 while the other Gazes are 00. CounterFear is 01. Da-Dum is 04. BattleSong is 08 while SadSong is 00. Macumba is 81. PsychoArmor is 08. Fascination is 02. Awakening is 08. 9 of the 18 Dodge[X] abilities are non-00. AntiStone is 0A.

Second, there are quite a few cases in which these numbers don’t match what we know. HeadWind is 0A while NoMoment is 0B yet does significantly less damage. DSC is merely 0E while SkyTwister is 14. GaleAttack and GroundHit are both 04, yet clearly, GroundHit does much more damage.

While some of these cases might be explicable by differences in elements or possibly which stats are used, others are not. There must be more to determining attack power than just byte 03.

Also, I’m reading 00 in byte 03 and 01 in byte 11 for CrossShot and 04 in byte 03 and 04 in byte 11 for StunShot. EW, when you say you “switched the values for CrossShot and StunShot”, do you mean that all values for all bytes for CrossShot and StunShot in the ability dump should be switched?

I also just remembered:

Besides missing the info for Kusanagi, were you able to find any information on the innate sword techs? I’ll list them here for quick reference:

MillionDollers (CometBlade)
FinalStrike (FiendRog, TwiggyRod, Glirandy)
DirtyFang (JackalSword)
BraveHeart (Lordstar)
ShadowHold (ShadowDagger)
SilverFang (SilverSpread, user must be equipped with Arcane Magic “Fool”)
ElementDissolve (SplashSword)

Having info on these would be the dopest.

Zarak: Yes, the stats are in the right order but the names aren’t. Just switch those around and it’s all jim and dandy. Also, I myself have been debating what else influences attack power. StunSlash is most definitely weaker than a normal sword swing, but DoubleSlash is significantly stronger. Unfortunately, byte 09 doesn’t seem to have any effect on that, unlike I’d thought before. Also, don’t Gazes attack vs. Status defense? If so that explains why they have attack power.

Skankin’: I haven’t gotten around to all those yet, but I do have some info here that might be quasi-interesting. ^^

Here’s a breakdown of what I’ve found ability byte 04 will do. Note that anything with a ?? for its effect may be blatantly obvious, but just changing byte 04 in DoubleSlash didn’t make it happen, so with some skills there is another byte that handles that.

If there is ‘also Skill’ listed, it means that Skill may not inflict what byte 04 suggests, due to another (presently unknown) byte, I’d wager.

Ability byte 04:
FF: None (many many skills)

00: Stun (also Gold, Magician, Fool)
01: Blind (also DeathGaze, DeathTouch, SphinxRiddle, Ectoplasnet)
02: Palsy (also StunShot)
03: Venom (PoisonGas, also Yell)
04: Instant Death? (Stone? Petrify, StoneGas, DeadlyMoss, Cockatrice–Doesn’t show as such in the status byte, though.)
05: Venom (Nightmare)
06: Angry (TripGas)
07: Instant Death (DeadEnd, Implosion, Reaper)
08: (Blue) Mess (also Flash)
09: ?? (EnergyChain)
0A: Instant Death? (LightningWeb–also Kylin’sSong, Thunderbolt)
0B: ?? (Tackle, GhostCannon)
0C: ?? (PoisonMist, Call)
0D: Turn around (Hidebehind)
0E: Instant Death (RunAway) (enemy runs away, I guess)
0F: Charm (FireKiss, also Possession)

10: STR Down (PowerGrab, also MysteryTap)
11: QUI Down (GasFlame, BeetleJuice, SpiderNet, HeatWave)
12: INT Down (BrainCrush)
13: WIL Down (Grasp, StinkGas, ElfShot)
14: PSY Down (GhostTouch)
15: VIT Down (GoldHand, Solvent)
16: Dispel (DarkSphere, Vortex, Grail)
17: Skip turn (TimeLeap)
18: WEA Up (VictoryRune)
1A: DEF Up (Shield)
1B: DEF Down (AcidBreath, also Assist)
1C: Instant Death (CounterMagician)
1D: ‘Evaporate’ (Evaporate, HideRune)–but see below
1E: VitalityRune (VitalityRune)
1F: Null regeneration? (DirtyFang, Jackal, SilverFang)

20: ?? (Hypnotism, SleepGas)
21: (WallRune)
22: Target uses RavaBarrier at turn’s end (RavaBarrire)
23: Inflicted Awakening? (PowerSave, also IronPole)
24: SoulRune (SoulRune)
25: V-MAX (V-MAX)
26: Instant Death? (FierySpirit, also V-END)
27: Gives extra turn (TimeTwister)
28: Instant Death? (TimeEclipse)
29: ?? (Asura, AsuraRevenge, KO Swing, DragonSwing, GiantSwing, MysticSword)
2A: FireBarrier? (DodgeDrain)
2B: FireBarrier (FireBreath, FlameBlast)
2C: IceBarrier? (DodgeTouch)
2D: IceBarrier (ArcticBreath)
2E: BoltBarrier? (DodgeGale)
2F: BoltBarrier (BoltBreath, BoltBlast)

30: ?? (PsychoArmor, Defense)
31: Instant Death? (Maelstrom)
32: ?? (Supersonic)
33: Blind, Venom, Charm, ?? (HyperGaze, Drunk)
34: ?? (MysticalChange)
35: ?? (WaterCannon)
36: ?? (SpaceContact) (Made DoubleSlash do about half damage)
37: Target uses Revolution9 at round’s end (Revolution9)
38: STR, WIL Down (SadSong)
39: ?? (3Mistresses)

40: ?? (StunGaze, StunTouch, ShadowNet, SpellBound, ShadowHold)
44: ?? (Salmonella)

7C: ?? (Heal, MagicHeal)

80: ?? (StoneGaze)
84: ?? (AntiStone)

E0: ?? (FreedomRune)

FC: ?? (MindHeal)

*When I change byte 04 of DoubleSlash to 1D, I effectively reduce the Pickbird enemy to a shadow–I can’t see its graphic, but can see its shadow, and can select no commands (all are greyed out, as if I lack the WP to use them) but the fight is technically still on. ^^

I’ll scope out those others Skankin’ mentioned presently.

MillionDollers: 12 Atk, 7 WP, Heat/Piercing/Slashing, Vs. all enemies
FinalStrike: 7 Atk, 10 WP, Force/Heat/Slashing, Breaks weapon
DirtyFang: 3 Atk, 2 WP, Slashing, Nulls regen (bytes 04/05: 1F 01)
ShadowHold: 0 Atk, 1 WP, Status, Inflicts Palsy
SilverFang: 6 Atk, 5 JP, Slashing, Nulls regen (bytes 04/05: 1F 01)
ElementDissolve: 0 Atk, 5 WP, Status, Removes enemy from battle (bytes 04/05: FF 01)
Kusanagi: 4 Atk, 3 WP, Electric/Slashing

BraveHeart: 0 Atk, 5 WP, Status, User WEA up (bytes 04/05: 00 00)

Excellent! So, do I have permission to post this? I’ve got the table ready to go if I have the green light.

I, Eroneous “Lee” Waylay, heretofore do give permission to Skankin’ Garbage and other affiliated contacts involved in the Saga Frontier community to repost any information uncovered, clarified, or spanked squarely upon the buttocks by me to the Saga Frontier Wiki.

Notarized, signed, attested, and weathered on Sunday 08 March 2009.

Also, I’ve got the most kickass hot sauce right here. Man! I love me some habanero, to be sure.

EW: My point about Gazes was that their byte 03 values are inconsistent. Most of them DON’T have a value there–CharmGaze was the only one that DID. If it was a matter of byte 03 being their “attack power” versus status defense, then they would ALL need a non-00 entry, not just CharmGaze.

For byte 04, value 09 could be another Palsy, since EnergyChain can cause that. Perhaps it is distinct from the 02 Palsy in that the high-WIL version of EnergyChain is required in order to cause the effect. This might explain why it didn’t work with DoubleSlash merely by modifying byte 04–changing some other byte is probably necessary to create a high-WIL version of the ability and thereby satisfy the requirement to cause Palsy.

Regarding “28: Instant Death? (TimeEclipse)”. TimeEclipse actually causes Petrification, not Death. This is why it works against Dullahans–Petrification is just about the only ailment their SkeleMail doesn’t make them immune to.

For 29 in byte 04, this is probably an Instant Death. All of the abilities you list can cause ID, with the possible exceptions of KO Swing and DragonSwing (not to be confused with KOThrow and DragonTurn), which I’ve never seen.

I’ve attempted to reproduce your results in modifying DoubleSlash byte 04->1d using the following code: 3002b5bb 001d (DoubleSlash’s YYYYY value + 04). So, far, I’ve had no success. I don’t have access to Pickbirds anymore, so I’m trying it on Krakens. I also tried 3002b5bb 0002 to cause Palsy, since I know that works on Krakens, but had no success with that either. Have I misunderstood the addresses listed in the ability dump? What codes are you using?

Of the addresses listed in the ability dump, the leftmost is in the PS-EXE, the next is in a .psv save state.

However, RAM is offset somewhat differently than the save state. Subtract 2B0h from the .psv address and you should get the address you’re looking for in RAM.

e.g. Slash is listed as being at 2B593h; in RAM it is actually at 2B2E3h, a difference of 2B0h.

Interestingly the offset for items is different–subtract 280h instead of 2B0h.

EW: Many thanks! That’s what I was missing. Excellent; now I can really start testing things.

I’ve now gotten DoubleSlash to inflict both Hide and Palsy on Krakens (not at the same time).

It’s worth noting with Hide (1D) that not all of your characters’ abilities become greyed-out–only those which require targeting on a specific enemy. Abilities which target all enemies and those which are used on allies remain selectable.