øA slickproductions.org /forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&topic=2433.0;wap2 e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/indexbcfb-2.html slickproductions.org /forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&board=8.0;wap2 e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/indexbcfb-2.html.z x ôg^ ÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÈ P`^ ç OK text/html ISO-8859-1 gzip @øÕ ç ÿÿÿÿÿÿÿÿ Tue, 10 Mar 2020 20:26:02 GMT 0ó° °® 0® P® €§² ð® ôg^ : ç
Banon's Donkey Farm > Game Modification Station
FF6 Advance makes Imp-inflicting spells fail if immunity to Imp found
13375K31C43R:
In FF6 Advance, there's an extra bit of code that checks if a spell affecting Imp status without the "lift status" bit set is cast on a target that is immune to Imp status and, if so, makes the spell fail completely regardless of other effects. This check does not exist in the SNES version of the game.
This check seems unnecessary to me, and in fact it creates a bug with those spells. Specifically, the spells it affects are: Bad Breath/Sour Mouth, Rippler, Mind Blast, Diabolic Whistle/Evil Toot and Disaster. Those spells inflict statuses other than Imp, but don't do anything in the Advance version as long as the target is immune to Imp. Note that in the case of Rippler, the caster being immune to Imp does not matter, just the target. I can't think of any good reason why Square Enix would add this to the game.
Xardas:
--- Quote from: 13375K31C43R on March 02, 2018, 12:07:18 AM ---I can't think of any good reason why Square Enix would add this to the game.
--- End quote ---
A: "Guys, so we fixed the evade bug - the Prayer Beads now do actually something! Awesome"
B: "Yeah, but the beloved White Cape was nerfed..."
A: "Oh no - that's unacceptable. What shall we do about that?"
C: "Say no more pals - I got this one covered" *adds the extra Imp immunity check*
assassin:
bug has been known for a long time.. but i take it you found the actual code responsible? as in you're standing close enough to slit its throat and throw it off a building? hypothetically speaking; i cannot endorse violence in any form. ;)
anyway, the foremost theory is that it's there to fix one or more Vanish/Imp bugs. because SNES monster sprite changes are tied to the spells hitting as opposed to the entity's actual Imp status presence/absence, well then by golly, we'll just make the spells miss! *contentedly brushes hands together*
also, my theory has been that this check is probably near the Instant Death protection one (or perhaps the remake's changes as it relates to Vanish+Instant Death). because the remake team was too stupid to realize that:
1) unlike insta-kill spells, which focus on one thing, Imp can be inflicted concurrently with other statuses.
2) the Instant Death protection has no choice but to make a spell miss, because you can't be immune to Death/Wound status without becoming bloody immortal. however, every other status (e.g. Imp) has no such limitation, so mimicking the ID logic for them is unnecessary and problematic.
13375K31C43R:
After a little more scrutiny, my best guess as to its real purpose is that it's meant to fix the "Rippler hits even when it misses" bug, because the special data byte that Terii Senshi's patch changes to fix that bug is not changed in the GBA version from the original SNES version.
re assassin: Yes, there is an Imp check in the same vicinity as an Instant Death Protection check. The one that actually causes this problem, though, is right after the "Dead XOR Undead" check. I don't know if the former even does anything at all because I don't know any spells that pay attention to IDP and Imp status at the same time (except I think there might be one that inflicts Countdown status, but who actually cares?).
assassin:
--- Quote from: 13375K31C43R on March 02, 2018, 05:01:46 AM ---After a little more scrutiny, my best guess as to its real purpose is that it's meant to fix the "Rippler hits even when it misses" bug, because the special data byte that Terii Senshi's patch changes to fix that bug is not changed in the GBA version from the original SNES version.
--- End quote ---
guess that could be.. but why would they check just Imp as opposed to all of the statuses present in Rippler's data?
--- Quote ---re assassin: Yes, there is an Imp check in the same vicinity as an Instant Death Protection check. The one that actually causes this problem, though, is right after the "Dead XOR Undead" check. I don't know if the former even does anything at all because I don't know any spells that pay attention to IDP and Imp status at the same time (except I think there might be one that inflicts Countdown status, but who actually cares?).
--- End quote ---
a second Imp check? huh.
re your parenthetical note: as in Evil Toot/Diabolic Whistle and Mind Blast? those don't have the "Miss if Instant Death protected" flag, so any IDP won't come into play until Countdown's expiration. or in the off chance you were addressing this comment:
--- Quote ---1) unlike insta-kill spells, which focus on one thing, Imp can be inflicted concurrently with other statuses
--- End quote ---
i guess Overcast/Cloudy Heaven would be an example of an IDP-heeding spell that inflicts another status. but because it gets to that Zombie destination by way of Death (in turn by way of Countdown), having IDP thwart the whole thing isn't incongruous like Imp-immunity thwarting Sour Mouth/Bad Breath's Blind/Dark.
-------------
any way you could post pseudocode of the relevant block(s)? i sadly don't speak GBAese, let alone the ported game dialect of it, where 70% of instructions are nonsensical misdirects. it'd make my head explode.
but maybe if sufficiently dumbed down, i could take a stab at what needs to be culled.
--- Quote --- I don't know if the former even does anything at all because I don't know any spells that pay attention to IDP and Imp status at the same time
--- End quote ---
perhaps the first Imp check is to stop Vanish status from guaranteeing a hit for magical attacks and skipping over the second check?
Navigation
[0] Message Index
[#] Next page
Go to full version