• Welcome to Final Fantasy Hacktics. Please login or sign up.
 
August 05, 2020, 12:56:15 pm

News:

Use of ePSXe before 2.0 is highly discouraged. Mednafen/RetroArch is recommended for playing/testing, pSX is recommended for debugging.


[FFTPatcher] Ability flags explanation

Started by R999, February 21, 2010, 12:11:00 am

R999

February 21, 2010, 12:11:00 am Last Edit: May 15, 2010, 02:51:39 am by R999
This is a work-in-progress. Please give your input/corrections if need be.
The terms "Spell" and "Ability" are used interchangeably here.


1st Column - AI flags
HP = AI know that Ability changes Target's HP, whether it be healing or damage.
MP = Ability changes Target's MP, whether it increases or decreases.
Cancel Status = Ability can cancel status effects (whether it is a Dispel or Esuna type canceling).
Add Status = Ability that can inflict status (whether it be positive or negative).
Stats = Ability that can change the stats of a target (whether positive or negative). However, the AI does not check for the target's stats before casting. So if the target has 1 PA, the AI will still attempt to cast PA Break spells.
Unequip = Equipment Stolen, Broken
Target Enemies = Allows Ability to target enemies.
Target Allies = Allows Ability to target Allies.

2nd Column - Special Traits
Ignore Range? = Might have something to do with Line of Sight instead. But all full screen attacks and 0 range attacks also have this checked. The Japanese wiki says having this checked may make ability affect caster only.
Reflectable = Allows ability to be reflectable.
Undead Reverse = Ability does damage to the undead (healing spells).
Unknown AI1 = Tells the AI to check for Cast Time (not confirmed). Japanese wiki says this flag is for allowing follow-target/destination selection.
Random Hits = Ability's area effect only hits one panel, and or that the status proc is randomly selected or separately (not all)
Unknown AI2 = Ability is affected by Faith
Unknown AI3 = Ability is evadeable
Silence = Ability useable when Silenced

3rd Column - Attack Type
(blank) = ???
Direct Attack = Effect does not pass through obstacles
Linear Attack = Area of Effect hits in a line
Vertical Increase = Japanese Wiki says "Attack from range"
Triple Attack = 3 direction melee
Triple Bracelet = 3 direction range
Magic Defense Up = Magical Attack
Defense Up = Physical Attack



1. Marks ability learnable via JP (for Player I think)
2. Allows Ability name to be displayed.
3. Learn on Hit (allows person to learn the ability, if he has the skill available for learning).
4.  (blank)
5. Unknown flag A. I believe this flag marks ability as useable or learnable by the AI. Some abilities with this unchecked are Invitation, Negotiate, Steal Gil, Dragon Tame.
6. Unknown flag B. update: It appears that this is an important flag for spells meant to hit on caster, such as that of Scream, Golem, etc. Due to some strange AI behaviors without this flag checked, it might be intended for AI use only.
old: I believe this flag marks the ability as mostly "Support-type" ability. Examples: Muramasa, Kiyomori, Masamune, all Bard Songs, some summons like Moogle, Carbuncle, Golem. Strangely, Silf is marked with this flag as well, and Fairy is marked with Unknown C.  **
7. Unknown flag C. I believe this flag marks the ability as mostly "Offensive-type" ability. Examples all offensive Draw Outs, all Dances. It isn't always the case. For example, Blind 2, Confuse 2, Return 2, Sleep 2 have C marked, while Beowulf's, Oracle's respective skills do not.  **
** With exception to White Mage, Black Mage, Time Mage (and perhaps more) spells
8. Bottom Unknown flag D. Update: This determines the "miss" animation. If it is On, the target will do a "step-aside" animation.


Ability flags bottom section:


1st Column
1. (blank) = ???
2. (blank) = ???
3. Ranged Weapon = Range of the weapon equipped is used, instead of the range of the skill. This flag also makes the given skill take advantage of the Duo Wield/Two Swords bonus. The Knight's Armor Break skill would strike two times (even if you don't have any weapon equipped) if this flag is checked.  Examples: Leg Aim, Power Break. (Maybe required to trigger Hamedo)

Notes: Most skills with Ranged Weapon flagged also has Target-Self and Hit-Caster flagged, not sure exactly why. Ranged Weapon also does not respond to Effect radius; so you can't have an AoE attack that uses the Bow or Gun's weapon range.

4. Vertical Fixed = Affects targets that are on caster's vertical only** Examples: Holy Explosion, Earth Slash.
5. Vertical Tolerance = Has vertical tolerance (depends on the Vertical attribute).  Examples: Revive, Crush Punch. However, it should NOT be checked for AoE abilities that do have Vertical Tolerance, such as Chakra and Stigma Magic.
6. Weapon Strike = Uses weapon strike animation. Example: Stasis Sword, Hellcry Punch. Just not sure why Power Break does not have Weapon Strike checked.
7. Auto = update: Even with Auto unchecked, the game still lets you select a target, even with targetting off... the targetting selection seems to be independent of these flags. Even the AI behaves strangely with them.
No need to select target, usually a self target skill. Examples: Murasame, Chakra, Angel Song.
9. Target Self = Allows to target on self, but not necessarily hitting self (you have to set the HitSelf flag). Examples: Haste, Scream, Murasame, Chakra.

2nd Column
1. Hit Enemies = If HitAllies is not checked, allies in range will not be hit by the same spell. Examples that hit enemies only: Dances, Galaxy Stop.
2. Hit Allies = Similar to HitEnemies above. Examples that hit allies only: Bard Songs.
3. (blank) = ???
4. Follow Target = Allows the (charging) spell to fire on target when it finishes charging, usually a charging spell. If this flag is checked for an area of effect ability, with the Targetting flag also checked, it will let the player select to either target a panel or follow on the target. Most of FFT skills defaults this to true for most of the non-instant cast abilities. Examples: Cure, Haste.
5. Random Fire = Hit on randomly targeted panels. Examples: Space Storage, Holy Breath. It will take TargetSelf, HitEnemies, HitAllies, HitCaster, VerticalFixed and VerticalTolerance into consideration.
6. Linear Attack = Area of effect or radius becomes number of panels in front of caster's line of sight, usually a multiple panel attack. Examples: Ice Breath, Holy Explosion.
7. 3 Directions = Hits to the caster's left, right, and front facing directions simultaneously. Examples: Triple Breath, Triple Thunder.
8. Hit Caster = Allows spell to hit self. You can have spells that target Allies and or Enemies, but not hit self, regardless if self is within target range and if TargetSelf is flagged. Examples that hit self: Haste, Fire, Kiyomori.  Examples that do not hit self: Kotetsu, Lightning Stab.

3rd Column
1. Reflect = Allows this spell to be reflected (when reflect is active on target).
2. Math Skill = Allows this ability to be used in Math Skills.
3. Silence = Allows ability to be used even while caster is silenced.
4. Mimic = Allows ability to be mimic-able.
5. Normal Attack? = update: Maybe required to trigger Hamedo. Don't use for monsters.
??? No idea. The ability right after "Meteor" has this checked. It has 17D Stab Up effect. The empty Ability above Potion also has this flagged.
6. Persevere = Allows execution of ability constantly, without caster getting turns. Examples: All Songs and Dances.
7. Quote = Says a corresponding quote before casting spell, 1/5 probability.
8. Animate on miss = Still show effect animation even if it targets no one, usually a Random Fire spell. Examples: Sky Demon, Holy Breath. Don't confuse this with the standard miss animation (target standing still) that animates when you miss, like Lightning Stab. This means animation will happen even if you target an empty panel.

4th Column
1. Counter Flood = Allows target to trigger Counter Flood.
2. Counter Magic = Allows target to trigger Counter Magic.
3. Direct = If obstacles in line of sight can block this ability or not. Examples: Throw Stone, Potion, Ice Breath.
4. Blade Grasp = Allows target's Blade Grasp to work on this ability.
5. Requires Sword.
6. Requires Materia Blade.
7. Evadeable = Allows Weapon Guard, Shield Block, Mantle Evasion, and Class Evasion to proc on this ability.
8. Targeting = update: Even with this unchecked, range > 0 skills still lets you select a target.
Auto flagged skills seem to have this unchecked, like Draw Out skills, Dances, Songs. But Rafa and Malak's skills also have targetting unchecked. Examples with NO Targetting: Sky Demon, Cheer Song, etc. Every other skill has Targetting checked. ***





edit: Vanya, Jumza, thanks corrections.

Vanya

Ranged Weapon means that the range of the equipped weapon is used instead of the range set in the given skill.
  • Modding version: Other/Unknown
¯\(°_0)/¯

R999

February 21, 2010, 04:12:59 pm #2 Last Edit: February 22, 2010, 03:43:45 pm by R999
I have experienced an unexpected behavior on a certain targeting setup...

I have a spell that is intended to be casted on the caster and one target immediately in one of his four facing directions.

Range: 1
Effect: 1 (radius 1)
Linear: True (so it acts like Earth Slash, all (effect/radius) panels in front of caster will be targetted.
TargetSelf: True
HitSelf: True

What this gives me, is essentially an Earth Slash effect that also hits the caster and an extra target (so maximum target=2), if I target one panel immediately in front of me. The problem is that if I target self, it will say 00% and no animation / nothing will happen, even though it lets me target self.


Screenshots


Target one panel in front, also affects caster (100% success)


Target self, 0% success.


Probably just a side effect of having Linear flagged. Anyone else who would like to use a similar kind of targetting, I would advise you turn off the TargetSelf flag altogether. This way, at least the AI won't be wasting the skill, but will only use on allies (not on self only).

Jumza

Learn on hit just makes it so you learn it when you get hit, thats why you can make a time mage cast haste 2 on another time mage and they will learn it.
it doesnt have to change health.
  • Modding version: PSX
Check out my project ~ FFT: A Stone's Ripple : http://ffhacktics.com/smf/index.php?topic=10857.0
The demo was just released! Come check it out!
Nyzer: Alma teleports out of her own possessed body.

Kokojo

7. Quote = Says a corresponding quote before casting spell.
20% chance, if I remember right.

Also, I would like to know how to make someone stop moving as soon as he start charging... I nevver knew how....
I keep leaving, I keep coming back. Boomerang boy.

formerdeathcorps

Unknown Flag B tends to correspond to defensive spells cannot be used on enemies.
Unknown Flag C tends to correspond to offensive spells cannot be used on allies.

Ranged Weapon/Normal Attack is also the trigger for Hamedo.
Normal Attack cannot be flagged for monsters or they will not use the attack.
Hit% does not override evadable.  Just consider Beowulf's status attacks.

Something ranged that only hits one target with "0 vertical" and neither vertical box checked can hit any one target within the specified range.

EDIT:
I'm not exactly sure, but I think the last unknown box is the one that determines whether counter tackle/counter is triggered against an attack.
EDIT 2:
Someone should check this out, but Byblos' Energy and Parasite aren't flagged as actions.  Does this mean the computer is unable to use the attack?  Or does it mean that if the attacks were used, they aren't considered actions (and thus don't trigger counter abilities--easy test would be to give energy an MP cost and use it on someone with Absorb Used MP)?
The destruction of the will is the rape of the mind.
The dogmas of every era are nothing but the fantasies of those in power; their dreams are our waking nightmares.

Vanya

  • Modding version: Other/Unknown
¯\(°_0)/¯

formerdeathcorps

Let's consider the AI behavior box.

The 3rd unknown in the column is the one letting the AI know an attack is evadable.
The 2nd unknown in the column is the one letting the AI know the attack's damage or hit chance is modified by faith.
The destruction of the will is the rape of the mind.
The dogmas of every era are nothing but the fantasies of those in power; their dreams are our waking nightmares.

R999

Quote from: "formerdeathcorps"Unknown Flag B tends to correspond to defensive spells cannot be used on enemies.
Unknown Flag C tends to correspond to offensive spells cannot be used on allies.

Well, Silf has Unknown Flag B checked, but can be casted on enemies. Yes, I have also tested and made sure that the AI does cast Silf (silence summon).

Here's a quick proof of that

I have also tested checking Unknown Flag B  in new spells and the AI would still cast the spell on enemies. As for Flag C, Confuse 2, Sleep 2, etc can be casted on Allies. Nevertheless I think they are very interesting observations.

QuoteRanged Weapon/Normal Attack is also the trigger for Hamedo.
Normal Attack cannot be flagged for monsters or they will not use the attack.
Hit% does not override evadable.  Just consider Beowulf's status attacks.
Updated. I think I worded overriding evadable wrongly. What I meant to say is that the spell would still be Missable even if you don't flag Evade-able (I have removed that now).  

QuoteSomething ranged that only hits one target with "0 vertical" and neither vertical box checked can hit any one target within the specified range.
What should I change in the main post to reflect this? 0 vertical means infinite vertical.


QuoteI'm not exactly sure, but I think the last unknown box is the one that determines whether counter tackle/counter is triggered against an attack.
I'll test this one out. Update: Tested. On a 99 Brave AI character, casted a skill with this flagged 20 times in melee range, 0 Counters triggered.

QuoteThe 3rd unknown in the column is the one letting the AI know an attack is evadable.
The 2nd unknown in the column is the one letting the AI know the attack's damage or hit chance is modified by faith.

I have now labelled these boxes as AI1, AI2, and AI3. I need you to verify which of these do you mean.

formerdeathcorps

AI3 is what I called the 3rd unknown.  Similarly goes for AI2.  I'm willing to bet the strange AI behavior regarding holy sword is stemming from AI3 not being checked.
Confuse2 and Sleep2 in the original game didn't target allies.

Which damage formula did you use for testing Unknown D?  If it were only human abilities, it seems to be a fairly good fit for "boosted by martial arts" as well, but I don't think thunder soul would be boosted by it.
The destruction of the will is the rape of the mind.
The dogmas of every era are nothing but the fantasies of those in power; their dreams are our waking nightmares.

R999

Quote from: "formerdeathcorps"Which damage formula did you use for testing Unknown D?  If it were only human abilities, it seems to be a fairly good fit for "boosted by martial arts" as well, but I don't think thunder soul would be boosted by it.


Formulas I have tested for Unknown D:

Dancer formula,
PA break formula,
Life Drain formula.

This is disappointing as well. But it's not too bad I guess.

formerdeathcorps

When you mean by PA break, do you mean by power ruin or the original knight attack?  If I remember correctly, the original knight attack can be countered.

Try the test again for counter and Unknown Flag D, but this time try it in combination with:
0 effect attacks
Attacks with vertical tolerance
Attacks dependent on PA
Attacks without follow target
The destruction of the will is the rape of the mind.
The dogmas of every era are nothing but the fantasies of those in power; their dreams are our waking nightmares.

R999

I'll test out the above later...

but for now, I must say that the Auto, Targetting flags are not really what we thought they might mean. They do have a influence on the AI's part, but even with both Auto off and Targetting off, the game still lets the player manually select a target or targets, before the "execute command" dialogue comes up. I am guessing that these flags might have been mislabeled for something else. There's no clear cut explanation as to what Auto and Targetting really means. Targetting at least, seems to have a big influence on the AI's part.

Target selection is also calculated by the combination of the ability's Range, Effect, Target Self, Hit Allies, Hit Enemies, and or Hit Caster.  Only in the scenario where it is a self target spell and that you have Auto unchecked will let you skip the target selection part. However, if this spell has a charge time, the AI will only cast it on the panel it is standing. With targeting checked, the AI will not move away until the spell is finally cast.

formerdeathcorps

Auto will always set the target to be the player.
If I remember correctly, if you check targeting, both AI (and?) your unit cannot switch targets if the unit gets a turn in the middle of the charge.

If you want the AI to function properly,

If you are using an attack that hits a non-zero radius emanating from your character, you should check auto, but not targeting.  Hit caster must always be flagged.  If you don't want to hit yourself, unflag hit allies in the lower box.
If you are using an attack that doesn't hit everything in range and doesn't include your character as the epicenter, and your skill has a charge time, you should check targeting, but not auto.  Everything else will be determined by the attack at hand.  Other attacks don't need this, but there may be other effects involved.
If your skill only affects yourself, you should check both, or there will be a glitch when you try to move your character away.  Hit caster and allies must always be flagged.
The destruction of the will is the rape of the mind.
The dogmas of every era are nothing but the fantasies of those in power; their dreams are our waking nightmares.

R999

March 04, 2010, 05:25:42 am #14 Last Edit: March 15, 2010, 07:14:21 pm by R999
The biggest problem is with having the combination of a self target ONLY spell that has a charge time. I have documented some bugs about this on the other thread. There is only one way to get the AI perform these kind of skills without doing glitchy things (like casting into empty panel, moving out of range of enemies or allies, and or never ever use the Move command and stuck there casting the said ability).

The only way that I have come across that fixes at least the AI problem, is by the combination of having Target Self On, Auto Off, Targetting Off, Hit Self On, Hit Allies Off.  Only problem with this setup is that the Player will still have to manually target himself for this self cast ability.

Screenshot:

formerdeathcorps

Why not just have instant self-target spells that cost MP (with charge times less than 3 since no one is likely going to have effective speed greater than 33)?  As long as you're not doing that on the samurai or geomancer class, such a cost will always be valid.
The destruction of the will is the rape of the mind.
The dogmas of every era are nothing but the fantasies of those in power; their dreams are our waking nightmares.

R999

Found this on the Japanese FFT cheats wiki. I would like to incorporate some of this data to what I have written above. There are a few interesting things to note.

Here's my attempt to translate the Japanese, my Japanese reading is only at novice level so I used some help from Google. Overall though I am pretty sure that majority of them should be spot on. If something is off, it won't be far off.

Quotehttp://www23.atwiki.jp/fft_cheat/pages/14.html

開始アドレス:4C430h
データ長:08h
データ数:200h

00h:必要Jp  JP Required
01h:必要Jp  JP Required
02h:ラーニング確率、敵が習得している確率 Probability of Learning, Probability useable by Enemy

03h:ラーニング情報 Learning Section
+01h:特殊コマンド(? Special Command 1
+02h:特殊コマンド(? Special Command 2
+04h:特殊コマンド(? Special Command 3
+08h:サポート、ムーブアビリティ(? Support Mubuabiriti
+10h:
+20h:ラーニング可能 Learning Possibility
+40h:
+80h:ラーニングのみ Learning Visibility

04h:CPUアビリティ識別 CPU ID
+01h:味方に使用 Use on Ally
+02h:敵に使用 Use on Enemy
+04h:装備盗み、ブレイク系 Equipment Stolen, Broken
+08h:能力変化(Ct,Lv,Br,Fa) Changes Stats
+10h:ST変化 Status changes
+20h:ST解除 Status cancels
+40h:Mp
+80h:Hp(Hpが変動する行動) Behavior of AI depend on HP

05h:
+01h:沈黙時使用不可 Useable when Silenced
+02h:回避可能(? Evadeable
+04h:Fa依存(? Faith has influence
+08h:効果範囲内一箇所(? Hits only on a single panel
+10h:対象指定可能 Allow target selection
+20h:アンデッド時効果逆転 When Undead, effect is reversed
+40h:リフレク可 Reflectable
+80h:効果自分のみ(? Can affect self

06h:攻撃タイプ Attack Type
+01h:物理攻撃 Physical Attack
+02h:魔法攻撃 Magical Attack
+04h:3方向貫通 3 direction
+08h:3方向近接 3 direction nearby
+10h:直線非貫通 Straight, non linear pass through
+20h:直線貫通 Straight, Linearly pass through
+40h:遠隔攻撃 Use in distance, cast from range
+80h:

07h:その他 Other
+01h:
+02h:
+04h:
+08h:
+10h:
+20h:敵のみ Ally only
+40h:味方のみ Enemy only
+80h:

I will try to combine the data later...
edit: I combined the data. Refer to the first post of this topic.