øAslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&topic=2335.msg27089e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/index9ab0.htmlslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&action=profile;area=showposts;u=33e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/index9ab0.html.zxçFh^ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÈ z ¡(OKtext/htmlISO-8859-1gzip@øÕ¡(ÿÿÿÿÿÿÿÿWed, 11 Mar 2020 02:19:43 GMT0ó°° ®0®P®€§²ð®æFh^ÿÿÿÿÿÿÿÿÕ2¡( Too many in-Battle Loopholes

Author Topic: Too many in-Battle Loopholes  (Read 3056 times)

Jorgur

  • Moderator
  • *
  • Posts: 437
  • Gender: Male
    • View Profile
Re: Too many in-Battle Loopholes
« Reply #15 on: February 22, 2017, 09:38:19 AM »
It's a simple one byte hex edit, but I'm not familiar with the coding of fractional M so I can't tell you where it is. noisecross would know.

Quote
Not really ... we had that discussion like a year ago.
Not sure what you are referring to. We did have a heated discussion on the knife formula used by standard fractional M.

Squall

  • Dark Dragon
  • *
  • Posts: 486
    • View Profile
Re: Too many in-Battle Loopholes
« Reply #16 on: February 23, 2017, 03:11:25 AM »
Quote
Sorry, but I think you misunderstood me completely.
Not at all :)
You want to use so called 'Alternate knife formula' to apply for Chicken Knife, right?

BUT
You think that is a good formula. What I explained to you that is NOT. Using Str as main component will always lead to dis-balance - it could be overpower, under-power, ... it always will be wrong, it would always require extra fix (a fix to a fix). Realizing this and trying to solve this dis-balance Square had made a sloppy solution what some call 'bug'.

After that I explained to you that a really good formula would require Agi based formula, like: M=LV*AGL/128 + 2 + something

assassin

  • Bane of Retards
  • *
  • Posts: 1,033
  • space bears are not gentle!
    • View Profile
    • My Barren Webpage
Re: Too many in-Battle Loopholes
« Reply #17 on: February 23, 2017, 03:34:20 AM »
oh, it's a bug.  unless you actually believe Square was trying to L? Pearl-ize or Ogre Nix-ize Knives (to borrow FF6 terms).  and if they were truly going for what amounts to a random roll, why wouldn't they be creative and take it from some other input value?

while the discussion did get spirited, i don't think the fact that Square mucked up was ever a point of contention.  rather, it was whether if had they done the more sensible, coherent thing formula-wise, would the resulting damage had been deemed suitably balanced if and when they observed it in play testing?

Xardas

  • Siren
  • *
  • Posts: 75
    • View Profile
Re: Too many in-Battle Loopholes
« Reply #18 on: February 23, 2017, 09:15:34 AM »
You think that is a good formula. What I explained to you that is NOT. Using Str as main component will always lead to dis-balance - it could be overpower, under-power, ... it always will be wrong, it would always require extra fix (a fix to a fix). Realizing this and trying to solve this dis-balance Square had made a sloppy solution what some call 'bug'.
The Chicken Knife was never bugged. It was OP because it was not bugged. None of the patches adjust the Chicken Knife M to the M of every other Knife. That's why my opinion is "It would be a nice update for Fractional M patches". I mean, why changing the other knives/whips/bows to something feasable while leaving the Chicken knife overpowered?
Also, why do you say "STR as main component"? With M=[LV*(AGL+STR)/256]+2, STR will be as important as AGL, and not the main component.
Quote
After that I explained to you that a really good formula would require Agi based formula, like: M=LV*AGL/128 + 2 + something
I disagree with that, because when you make those wepons only dependable by agility, then the STR stat will be completely worthless for many jobs (eg. Ninja, Thief, Dancer, Hunter, Trainer...). AGL already is important for any job due to ATB. If you remove STR completely, you will only focus an AGL on too many jobs.
However, I also do not want to remove AGL completely. Therefore, M=[LV*(AGL+STR)/256]+2 is a good solution to me.
But I do not say that all of my arguments are facts, they are also opinions, partially. I will just give a brief summary why I think Alternate Formula is the best:
  • Just fix the Knife Bug by using M=[LV*(AGL+STR)/128]+2 (I think this opinion is unpopular here due to OP knives. I also do not like this)
  • Do not touch the (bugged) Knife formula at all (I do not like the randomness of +0/+1)
  • Use the Formula from the first patch: If Strength > Agility: M = (Strength*Level/128) + (Agility*Level/256) + 2 | Otherwise: M = (Strength*Level/256) + (Agility*Level/128) + 2 (Not too bad, but still to powerful imho, because M will be always higher than swords' M)
  • Use Alternate Formula for Knives M=[LV*(AGL+STR)/256]+2 (involves STR and AGL without the possibility of overpowering)
  • Use Jorgur's Formula M=[LV*STR/128]+2 (better than the bugged formula, but I personally want AGL to be involved too)
  • Use M=[LV*AGL/128]+2 as suggested by Squall (I do not like this because STR will become completely irrelevant on too many occasions)
Listen, my aim is not convincing all of you to think "Alternate Knife Formula is the best" - not at all. Squall probably also has his reasons why he thinks M=[LV*AGL/128]+2 is the best.
BUT my point is, that the Chicken Knife in the patch with Alternate Knife Formula does not use the Alternate Formula (still uses the OP M=[LV*(AGL+STR)/128]+2). Do you at least agree, that the Chicken Knife should have the same M as every other Knife, Squall? ^^ (No matter which M, just the same M as every other Knife)
Same for Jorgur's formula - I think the Chicken Knife in this patch also uses the OP M=[LV*(AGL+STR)/128]+2 rather than Jorgur's M=[LV*STR/128]+2

Squall

  • Dark Dragon
  • *
  • Posts: 486
    • View Profile
Re: Too many in-Battle Loopholes
« Reply #19 on: February 24, 2017, 08:02:07 AM »
Quote
my point is, that the Chicken Knife in the patch with Alternate Knife Formula does not use the Alternate Formula
Of course not! I wanted to say very early but the conversation kind-a went in other direction. Chicken Knife uses its own subroutine different from common bow/knife. So fixing or changing knives doesn't change Chicken and vise verse.

so answer to:
Quote
Do you at least agree, that the Chicken Knife should have the same M as every other Knife, Squall? ^^ (No matter which M, just the same M as every other Knife)
In general ... yes I agree 100%. BUT because Square used 2 different subroutine I tend to think that its there intention to work differently ...

Quote
Squall probably also has his reasons why he thinks M=[LV*AGL/128]+2 is the best.
I never said that. It seems to me that you read only half of the sentence :)
I said: M=LV*AGL/128 + 2 + something
If you have read carefully the whole, in the first post I explained that something should be a function of Str but taken in much lower magnitude like Str/4 or Str/8. Since Square way to take a stat in account is Level*Stat/128 , then a good formula should look like:
M = Level*Agl/128 + Level*(Str/4)/128 +2

Let me just say this and I will stop:
I can probably write a whole book explaining why Agi for knives. But big game studios (in RPG genre) have explained it much better by using it in their games. A good example is "Dragon Age" - the rogue class uses pure Agi formula. Personally I would prefer + something (Str) but still excellent game.

P.S.
Quote
oh, it's a bug.
That is speculation :laugh:

Jorgur

  • Moderator
  • *
  • Posts: 437
  • Gender: Male
    • View Profile
Re: Too many in-Battle Loopholes
« Reply #20 on: February 27, 2017, 08:11:22 AM »
Here we go again.

Xardas

  • Siren
  • *
  • Posts: 75
    • View Profile
Re: Too many in-Battle Loopholes
« Reply #21 on: February 27, 2017, 01:12:30 PM »
Here we go again.
Yes, it's too much already. Not that I'm against that discussion, but my question will be "drowning" in the flood of theories and arguments.
So just to make it short, I just repeat my problem:
I want Chicken Knife to use the multiplier of the alternate knife formula:
M=[LV*(AGL+STR)/256]+2 fractional!
I would be grateful if somebody can tell me what I have to do.

assassin

  • Bane of Retards
  • *
  • Posts: 1,033
  • space bears are not gentle!
    • View Profile
    • My Barren Webpage
Re: Too many in-Battle Loopholes
« Reply #22 on: February 27, 2017, 04:25:54 PM »
Quote from: me
oh, it's a bug.
That is speculation :laugh:

good sir, i would take deduction based on facts and reasoning over blind faith any day.  :terrydia:

what possible purpose would there be to ignoring the most significant byte of a stat?  while you see "speculation", i see borderline infatuation with Square.  if they'd spilled sake on their keyboard during development, would you worship the stain 15 years later?

Quote from: Jorgur
Here we go again.

i don't recall this aspect being argued here before.  in fact, it seems to have been agreed upon as a bug from the 2004 GameFAQs threads forward.  :eek:

=======================

Xardas:

download this patch and document if you haven't already: http://slickproductions.org/forum/index.php?action=dlattach;topic=2179.0;attach=1787

so with that patch applied, do this: at C2/862D, put "JMP $80E9" (4C E9 80).  done.

OR paste the new Knife code into the relevant part of the Chicken Knife function, which starts at C2/8626.  like you said:

Quote
So is there any possibility to copypaste the M from knife formula to Chicken Knife formula? Since the speacial part of Chicken Knife lies in Attack Power, not the multiplier.

that'd involve copying the 18 bytes at C2/810B (in "Delta 3 to Fractional M.txt") to C2/864F.

that said, an issue:
1) that alternate patch apparently uses my idea of flooring of M at 128, even though we'd agreed that Jorgur's method of doing away with Minimum M was better.  probably a copy+paste mistake from older patch versions, or being lenient on how "alternative" the patch is.

to remedy it, i recommend opening "Fractional M 1.2.txt" (found inside http://slickproductions.org/forum/index.php?action=dlattach;topic=1975.0;attach=1312), and pasting:
a. C2/8A0D , 9 bytes
b. C2/940C , 8 bytes

(use the bytes that include NOPs)
« Last Edit: February 27, 2017, 04:50:36 PM by assassin »

Xardas

  • Siren
  • *
  • Posts: 75
    • View Profile
Re: Too many in-Battle Loopholes
« Reply #23 on: February 28, 2017, 05:34:33 PM »
Thanks for your help. I tested the Chicken Knife and compared it with another knife with the same power. Chicken Knife's damage output was exactly the same as the weakest of the 4 possibilities of the other knife, as it should be.
I also tested the M<1 code (with the very Nut Eater which was Jorgur's example back in that day^^) - worked as well.

LightPhoenix

  • FF5 Hacker
  • *
  • Posts: 130
    • View Profile
Re: Too many in-Battle Loopholes
« Reply #24 on: March 15, 2017, 10:51:16 PM »
Mirage Vest: Free Image status every turn as long as you got the Item command.
Solution: No clue, but it won't be that bad in my mod, because you will not be able to get 4 of them without cheating (sorry for the Spoiler^^)

In short, this is a bug in how the battle code handles re-calculating stats.

It's a bit much to go into a lot of detail, but essentially the recalculation code is shit and results in a number of bugs.  The Berserker/Thornlet "Underflow" bug is because of this code, as well as bugs with Chemist abilities (Elemental Defense), and various "re-equip" bugs including the Mirage Vest.  Goblin Punch also is tangentially related here.  It's a god damn clown fiesta.

The honest solution is rewriting the entire thing (something I was working on before my long break).

The dirty solution I used for Mirage Vest was checking if the player is re-equiping, and if so don't apply Image.

The quick solution would be to change Mirage Vest to give a different, non-nullifiable status.

Praetarius5018

  • Vargas
  • *
  • Posts: 88
    • View Profile
Re: Too many in-Battle Loopholes
« Reply #25 on: June 25, 2017, 08:39:57 AM »
Note: these responses are written taking the GBA version in account, and assuming that the SNES version behaves the same way.

Lv5 Death (Lv2 Old as well): One of the pesky ones because it ignores heavy and immunity. Plus you can use Black Shock to make some bosses vulnerable to it.
Solution: I may have overlooked something at the algorithms guide, but if I'm not mistaken, then the enemy level is not really important for both your and the enemy's damage output respectively. Therefore, I can just change the levels of bosses and heavy enemies into something like 1, so Lv5 Death and Lv2 Old will never have a chance. On top of that, I can disable the option to target enemies with Samson/Dragon Power.
EDIT: I forgot about enemies's magic attacks. So I cannot simply change the levels. I have to remove the ignorance of immunities.
You can't fix the level X spells unless you fix Chemists because they have a mix that boosts the level of any target by 10/20, and levels cap out at 255 so it's not challenging to set a target's level to any number you want with sufficient mixing.
There's a very stupid solution for this:
cap the level at 239 instead of 255.
239 is immune to Lv2,3,4 and 5
half it via black shock and you get 119 which is likewise immune
half it again: 59, still the same
half it again: 29, still immune
half it again: 14, now Lv2 old works
but you know what? at this point you've wasted so many turns and ressources with !Mix and black shock, you could easily have killed the target by pure damage.
About 7-12 mixes and 4 black shocks - which can miss - so 11-16 turns, if those would be only 9999 damage each you'd have killed everything twice over.

There'll obviously still be per-boss solutions but those have to be tailored to the level instead of feeding mixes until 255 then Lv5 death, the end.
« Last Edit: June 25, 2017, 08:45:29 AM by Praetarius5018 »

samurai goroh

  • FF5 Hacker
  • *
  • Posts: 221
  • Gender: Male
    • View Profile
    • My page
Re: Too many in-Battle Loopholes
« Reply #26 on: June 25, 2017, 10:37:54 AM »
Immediate Dark Shock is not the only thing you can do, you know? There's Sampson Power (level +10) and Dragon Power (level +20) to fall out the loop.
239 / 2 --> 119
119 + 10  --> 129
129 / 2 --> 64

But of course, in the first place for the Dark Shock to work on a monster with level 239, you would need to be at least on level 174...:
(Hit% = Spell Hit% + Attacker Level - Target Level = Lv + 66 - 239 = Lv - 173)

Also, you could have assigned a really high magic evade (points to the Magic Pot) and make the spell fail pretty much any time unless you use one that Always Hit... (So you can modify the Lv Magic to hit 99-100% instead of Always)
I'm the best in the universe! Just remember! [F-zero X]

Praetarius5018

  • Vargas
  • *
  • Posts: 88
    • View Profile
Re: Too many in-Battle Loopholes
« Reply #27 on: June 25, 2017, 02:54:53 PM »
Sure, you can always reach somehow a Lv5 compatible level, the question is just how much effort is needed.
Any combination that required over 15 turns is ok in my book since those same turns can be enough to kill stuff by damage.

here's two "short" paths:
level is even: Lv2 old then either wait for the right time window or wait until lv1, then heal old state, dragon power (lv21), black shock (lv10), lv5 death
level is odd: Sampson Power + black shock should always yield an even number, then same as above

of course THAT only works as long as old reduces levels. might be strong enough if that status only reduces magic power and speed (and strength which monster don't use)

Squall

  • Dark Dragon
  • *
  • Posts: 486
    • View Profile
Re: Too many in-Battle Loopholes
« Reply #28 on: June 26, 2017, 01:54:13 AM »
Sure, you can always reach somehow a Lv5 compatible level, the question is just how much effort is needed.
Exactly. In general FF5 boss design has one major flow - low HP. Pretty much each boss can be killed in 1-2 turns without Lv XXX tricks.

So should we nerf each skill that make it possible? Of course NO. If that is a problem, we better focus on it rather 'healing' the consequences of it :)

Praetarius5018

  • Vargas
  • *
  • Posts: 88
    • View Profile
Re: Too many in-Battle Loopholes
« Reply #29 on: June 26, 2017, 11:17:31 AM »
I wouldn't call 50-60k HP per piece on the final boss low per se. Only compared to the absurd damage the party can put out at higher levels but that's a different problem.
It's not like they could have gone much higher with the 65.535 HP cap. Many way to greatly reduce or ignore defense in addition to that don't help.

I'd say overall the biggest flaw is the importance/power of the level stat.
It determines whether you're vulnerable to the LvX shenanigans, thereby crippling age status or even instant death.
It also has a very strong influence on damage, hit/evade of non-autohit spells/status effects, and more that I can't remember at the moment.
Several of these effects should just have their own stat but not level exclusively.