News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: Final Fantasy VI hack: "Fair Hit"  (Read 5527 times)

Spooniest

  • Hero Member
  • *****
  • Posts: 3143
  • Ain't got no berf cer-fi-ti-cate on me now
    • View Profile
Final Fantasy VI hack: "Fair Hit"
« on: March 26, 2013, 09:27:42 am »
I'm unable to get this to function with the 1.0 version...it says the patch is version 1.1...am I supposed to apply it to version 1.1? There are no instructions.

Is there a way to introduce functional enemy evade into Final Fantasy III v1.0? With Terii Senshi's Evade Bugfix, the monsters still just sit there and take it, unless you're blind.

I don't care if you're Annie Oakley. You've got to miss your target sometime. I'd like it if Special Attacks weren't unblockable either.
I never wanted to work in a pet shop, you know. I wanted to be...a lumberjack.

Bregalad

  • Hero Member
  • *****
  • Posts: 2641
    • View Profile
Re: Final Fantasy VI hack: "Fair Hit"
« Reply #1 on: March 26, 2013, 10:33:07 am »
The version of the patch is not releated to the version of the game.

Also I'm pretty sure changes between Final Fantasy III (U) v1.0 and Final Fantasy III (U) v1.1 are minor. It could be patch breaking, but it is also very likely that a patch would work fine with both of those.
What is patch breaking, though, is the endless SNES header/non header issue.

Spooniest

  • Hero Member
  • *****
  • Posts: 3143
  • Ain't got no berf cer-fi-ti-cate on me now
    • View Profile
Re: Final Fantasy VI hack: "Fair Hit"
« Reply #2 on: March 26, 2013, 01:01:22 pm »
I finally got it to work (it requires a header). I'm not noticing any difference in the hit determination at the beginning of the game...have you played this? Where in the game do you start noticing it, if at all?
I never wanted to work in a pet shop, you know. I wanted to be...a lumberjack.

Kiyoshi Aman

  • RHDN Patreon Supporter!
  • Hero Member
  • *****
  • Posts: 2261
  • Browncoat Captain
    • View Profile
    • Aerdan's Blog
Re: Final Fantasy VI hack: "Fair Hit"
« Reply #3 on: March 26, 2013, 07:34:01 pm »
Did you somehow miss the PDF contained in the archive?

HatZen08

  • Jr. Member
  • **
  • Posts: 20
    • View Profile
Re: Final Fantasy VI hack: "Fair Hit"
« Reply #4 on: March 27, 2013, 09:48:42 am »
The enemies database contains fields for physical and magical evasion. Unfortunately, many enemies have zero as evasion, for both physical and magical. For them, you won't notice any difference because their evasion is null.

In general, the majority of the enemies have null or low evasion. In practice, it will make you occasionally miss a Fight command in battle, but the majority of the attacks will hit. However, you will find specific (and few) enemies with noticeable physical evasion.

The Mt Zozo area has enemies with high physical evasion. It is the area where you find Cyan and fight the Wind Dragon. The majority of physical attacks will miss against them.

The Brachosaur enemy, in Dinosaur Forest, also has noticeable physical and magical evasion.

If you are curious about enemies evasion, you can use Final fantasy 3 Multi Editor to inspect the enemies database. If you only want to test the patch, you can arbitrarily edit a specific enemy evasion and test it in battle.

Spooniest

  • Hero Member
  • *****
  • Posts: 3143
  • Ain't got no berf cer-fi-ti-cate on me now
    • View Profile
Re: Final Fantasy VI hack: "Fair Hit"
« Reply #5 on: March 27, 2013, 09:51:36 am »
The Mt Zozo area has enemies with high physical evasion. It is the area where you find Cyan and fight the Wind Dragon. The majority of physical attacks will miss against them.

The Brachosaur enemy, in Dinosaur Forest, also has noticeable physical and magical evasion.

Both of these are already true of Terii Senshi's Evade Bugfix.

I guess what I'm asking is "how is this functionally different from the Evade Bugfix?"
« Last Edit: March 27, 2013, 10:00:58 am by Spooniest »
I never wanted to work in a pet shop, you know. I wanted to be...a lumberjack.

Bregalad

  • Hero Member
  • *****
  • Posts: 2641
    • View Profile
Re: Final Fantasy VI hack: "Fair Hit"
« Reply #6 on: March 27, 2013, 10:52:48 am »
I find it funny that a Magical Evasion status is present, because I don't think spells can miss. Or is it for status-affectation spells like sleep, confuse, etc... ?

Also, is the bug where Magical Evasion is used as Physical Evasion present only for your party or also for enemies ? HatZen08's answer make me think the bug only is here for your party.

Lilinda

  • Hero Member
  • *****
  • Posts: 4539
    • View Profile
Re: Final Fantasy VI hack: "Fair Hit"
« Reply #7 on: March 27, 2013, 11:21:59 am »
Physical Evade is 100% non-functional in the stock unpatched(Or not GBA version) game, no matter who has it. That's all there is to it, and that's all there will be to it.
Retired moderator/staff member as of July 14th 2016

HatZen08

  • Jr. Member
  • **
  • Posts: 20
    • View Profile
Re: Final Fantasy VI hack: "Fair Hit"
« Reply #8 on: March 27, 2013, 06:05:08 pm »
The original hit system has the magical block bug. All attacks, physical or magical, will use only the magical evasion. Physical evasion is ignored. Monsters technically have physical and magical evasion in their database. However, it is ignored or ineffective.

Terri's Bug Fix corrects the magical block bug. It will use the correct physical or magical evasion, based in the type of attack. It also activates a unused code, hidden by the bug. In physical attacks, it will raise or lower the hit rate based in status. As example, hit rate is cut by half if the attacker has Blind status. His page describes the hit rate changes:

http://www.rpglegion.com/ff6/hack/evade.htm

I believe it doesn't fix monsters evasion. A character may miss a monster only because his hit rate was lowered because of a status, like blind. Otherwise, it behaves like the original code. It should be checked for better accuracy.

The Fair Hit patch is a reimplementation of the hit system. It is a different algorithm from the original and produces different results, for the better or the worse. It uses the correct evasion for physical and magical attacks and it works for monsters and characters.

In the patch archive, there is the source file and a documentation for better details.

In summary, Terri's patch is a bug fix and Fair Hit is a reimplementation. If you prefer to stay close to the original concept of the hit system, use Terri's Bug Fix. Otherwise, you can use the Fair Hit patch. Both of them corrects the magical block bug, in different ways.

About the monsters evasion, I believe only the Fair Hit patch corrects them. You can test Terri's patch to see if altering the monsters evasion make practical difference in battle.

Spooniest

  • Hero Member
  • *****
  • Posts: 3143
  • Ain't got no berf cer-fi-ti-cate on me now
    • View Profile
Re: Final Fantasy VI hack: "Fair Hit"
« Reply #9 on: March 27, 2013, 06:37:47 pm »
I raised the evasion of the bulldog-type enemy that appears in the Empire to 100%. This made him extremely difficult to hit, so evade does function with Terii's patch.
I never wanted to work in a pet shop, you know. I wanted to be...a lumberjack.

Bregalad

  • Hero Member
  • *****
  • Posts: 2641
    • View Profile
Re: Final Fantasy VI hack: "Fair Hit"
« Reply #10 on: March 28, 2013, 07:57:51 am »
Quote
The original hit system has the magical block bug. All attacks, physical or magical, will use only the magical evasion
Again, I don't think that for example "Fire" can miss, ever. This is why I don't get the magical evasion thing.

Also, this means that "Blind" has no effect in the original FF6 ? It only has a psycological effect of your characters being affected by a status change^^

HatZen08

  • Jr. Member
  • **
  • Posts: 20
    • View Profile
Re: Final Fantasy VI hack: "Fair Hit"
« Reply #11 on: March 28, 2013, 01:42:50 pm »
Spooniest:

Interesting. Looks like the two patches fix the magical block bug and enemies evasion. I guess, now, it is only a matter of personal preference between the classic or alternative approach.

Bregalad:

Note: The subject only applies to the original game (SNES version) without patches.

The enemies database contains fields for physical and magical evasion. However, it is somehow nonfunctional in the original game.

Monsters effectively don't have evasion, physical or magical. All common attacks will hit against them, except for special status effects like Image, Vanish or Reflect.

Characters will use the magic block evasion for both physical and magical evasion. Monsters, however, don't use evasion at all or it is null.

About the Blind status, in the original game, his only effect is to stop Strago from learning Lores. Nothing more.

Spooniest

  • Hero Member
  • *****
  • Posts: 3143
  • Ain't got no berf cer-fi-ti-cate on me now
    • View Profile
Re: Final Fantasy VI hack: "Fair Hit"
« Reply #12 on: March 29, 2013, 02:05:04 am »
Is this evidence that Squaresoft ran out of time to work on a feature of the game?

Because if it is...!

Somebody's got to @#$ing do it!
I never wanted to work in a pet shop, you know. I wanted to be...a lumberjack.

KingMike

  • Forum Moderator
  • Hero Member
  • *****
  • Posts: 6918
  • *sigh* A changed avatar. Big deal.
    • View Profile
Re: Final Fantasy VI hack: "Fair Hit"
« Reply #13 on: March 29, 2013, 12:50:13 pm »

Monsters effectively don't have evasion, physical or magical. All common attacks will hit against them, except for special status effects like Image, Vanish or Reflect.

Are you saying those don't work on enemies in the unpatched SNES version?
Because I know Vanish and Reflect do.
That's part of the reason for the infamous "Vanish Doom" bug. (Using a spell on a Vanished enemies ignores status resistance. I only know it was corrected in the GBA version.)
"My watch says 30 chickens" Google, 2018

HatZen08

  • Jr. Member
  • **
  • Posts: 20
    • View Profile
Re: Final Fantasy VI hack: "Fair Hit"
« Reply #14 on: March 29, 2013, 05:35:05 pm »
Any attack in Final Fantasy 6 has its own internal structure. It includes many flags which determines the attack behavior.  The short version of the structure can be viewed at Data Crystal, in the Attack subsection:

http://datacrystal.romhacking.net/wiki/Final_Fantasy_VI:RAM_map

The hit system uses that structure to determinate if the attack hits or fails in battle. The algorithm has fixed priorities over the flags. Status are considered by the algorithm, and they have fixed priorities with the attack flags.

I was talking about the effect of status in the hit determination. I wasn't talking about the spells themselves.

I agree with the “Vanish Bug”. In summary, if you cast Vanish and Doom in the target, the Doom spells always hits and kills the target.

The Doom spell, however, isn't a common attack. It has the “Defense based in stamina” flag.

The Vanish status is considered by the algorithm. If the target has Vanish status, all physical attacks against the target will miss. However, all magical attacks will hit.

If you use the Doom spell against the target and the target doesn't have the Vanish status, the “Defense based in stamina” flag has priority. It has priority over the default behavior of the algorithm, like a special case. In this special case, the spell can miss the target.

If you use the Doom spell against the target and it has the Vanish status, the “Vanish status” case has priority over the “stamina based” flag. In this case, all magic attacks must hit, and Doom is a magical attack. It is the source of the bug.

When I said that common attacks always hits against monsters, I used the word “common” as attacks without special flags. As example, the spell “Fire 2” doesn't have special flags. If a monster uses “Fire 2” against a character, the character can block the attack based in his magical block. However, if the character uses the spell against a monster, it will never dodge it based in its magical evasion alone.

The hit system algorithm is based in many attack flags and status conditions. It has complex and sometimes questionable priorities over themselves.

I will list only the relevant flags and status which can make a target hit or miss in battle:

Flags:
  • Miss if target immune to death
  • Only target dead or undead monsters
  • Stamina is used as defense
  • Can't dodge attacks
  • Lv X spells
  • Miss if target is immune to inflicted status

Status:
  • Vanish: Physical attacks will miss and magic attacks will hit.
  • Image: Physical attacks will miss.
  • Sleep, Stop, Freeze: All attacks will hit against the target, but I am not sure about their  priorities with the other flags or status.
  • Reflect: Magic attacks will miss and be reflected.

As a note, the attack structure has the special effect field, namely the $11A9 variable. In short, it is used as a index for a table of pointers. They practically can alter anything in the attack structure and related structures, without restrictions. It includes the determination if the attacks hit or miss, based in his own code referenced by the pointers.
« Last Edit: March 29, 2013, 05:46:02 pm by HatZen08 »

assassin

  • Full Member
  • ***
  • Posts: 140
    • View Profile
    • My Barren Webpage
Re: Final Fantasy VI hack: "Fair Hit"
« Reply #15 on: March 29, 2013, 10:02:40 pm »
Quote
However, if the character uses the spell against a monster, it will never dodge it based in its magical evasion alone.

sure, it will.  just find a monster that actually *has* a nonzero MBlock stat.  there aren't many.  try Cactrot as an extreme example.

EDIT: Brachosaur, Pug, and WoB Guardian are other examples.  there are 13 more monsters with MBlocks above 0, but none are high enough to overcome the hefty 150 Hit Rates of the 9 Fire/Ice/Bolt spells.  however, there are some "common" Magic spells with lower hit rates that can miss against monsters with lower MBlocks.  see Master ZED's Attack Guide for the spell data.
« Last Edit: March 29, 2013, 11:18:34 pm by assassin »

HatZen08

  • Jr. Member
  • **
  • Posts: 20
    • View Profile
Re: Final Fantasy VI hack: "Fair Hit"
« Reply #16 on: March 30, 2013, 02:18:15 pm »
My apologies. I do tests and I was wrong.

The hit system algorithm is complex and involves special cases, status conditions and attacks flags. It is difficult to understand and it has bugs. I tried to follow the algorithm logic and I misunderstand it.

In the tests, the magical evasion of enemies is considered. High values for magical evasion will make common spells miss against the monster. Like characters, monsters will use only magical evasion for both physical and magical evasion.

As a player, I never missed the Fire, Ice or Bolt family of spells against the majority of the monsters in the game. I associated the few monsters which can dodge magic spells as a special monster characteristic, unrelated to the magic evasion.

I believe, now, characters and monsters will use his magical evasion for both physical and magical evasion.

Without the interference of attack flags and status conditions, the major values which determinate if the spell hits are the hit rate value and the magical evasion.

In the original game, the hit rate value for the spells are too high and the magic evasion of monsters is zero or low. Because of it, the majority of common attack spells against monsters will hit, with few monsters exceptions.

I agree with you, assassin. If the magical evade is high and the attack hit rate is low, the spell can miss against a target. However, because of the original data for spells and monsters, it is unlike to happen, except for specific enemies with good magical evade and attacks with low hit rate.