Users browsing this thread: 1 Guest(s)
"randomly slice" Scimitar counter bug

#1
Posts: 311
Threads: 20
Thanks Received: 0
Thanks Given: 0
Joined: Dec 2017
Reputation: 2
Status
None
When you instantly kill a foe with the Scimitar style "randomly slice" effect, the monster, if it has a counter attack, will perform the attack AFTER the death animation.  Has anyone fixed this?  I especially ask, because the Chainsaw in my hack now also has the slice effect, and it's kind of silly seeing a monster that no longer exists perform a counter attack.
  Find
Quote  

#2
Posts: 281
Threads: 18
Thanks Received: 12
Thanks Given: 8
Joined: Mar 2014
Reputation: 8
Status
None
It's because the slicing effect is part of the attack animation, it's not technically a death animation. Death counters are coded to have higher priority so that enemy scripts don't break. That's why Odin and X-Zone have the "delay counterattacks" special property. Some spells that remove the enemy sprite lack this spell effect, and the Scimitar isn't a spell at all so it can't be given the effect (you could probably rewrite the scimitar code to add it in, though).
  Find
Quote  
[-] The following 1 user says Thank You to seibaby for this post:
  • Lightning (04-09-2021)

#3
Posts: 200
Threads: 1
Thanks Received: 10
Thanks Given: 0
Joined: Oct 2015
Reputation: 18
Status
None
Leet Sketcher's Dead Hare patch approaches this by doing away with many counters:
http://l33t5k37ch3r.altervista.org/dead-hare.html

note that it hooks just the FC 01/02/03 counterattack scripts.

modifying/expanding Scimitar to set "delay counterattacks" could work for your goals.  however, true to its title, that variable is a bit limited; see "Counterattack from beyond" in Master ZED's Bugs Guide.  (and note that the issue can also be caused by multi-monster formations; anything that keeps the battle going.)

while Odin/Raiden certainly give some precedence, with Scimitar lacking the summons' supernatural origins, or Snare and X-Zone's ability to send you elsewhere, i'm just as inclined to see it as a PG version of a gory death.  keep in mind, this game *already* has enemies dying in a poof by normal means, as opposed to collapsing in a bloody pile on the ground.  so reasons like "this monster left no trace" or "this manner of death was *really* incapacitating" don't exactly seem to me like full bases for disabling counters (including finals).  you don't suppose Illumina's lopped off a few heads?  or Fire 3 created a few cinder piles?  yet somehow, the headless and the ashen can retaliate. Tongue

as seibaby said, the nature of when the dice-up animation happens is an implementation thing.  it's causing a visual incongruity which doesn't necessarily reflect a gameplay/mechanics problem.

but i can't deny the Odin/Raiden parallel, even though Espers' magical summons arguably transcend material swords (Ragnarok's apples to oranges comparison aside ;P ).

---

back to "delay counterattacks": it'd be nice to see that bug fixed.  but one issue i was running into in early stages of devising a patch is that we don't want to be too aggressive/generous in acknowledging the $341A effect, in that a multi-strike attack where some entities are killed by normal means (hypothetical, until we attach the property to things like Scimitar!) would suppress too many counters.  there were other issues, too, but i forget them offhand.
Quote  
[-] The following 1 user says Thank You to assassin for this post:
  • Lightning (04-09-2021)

#4
Posts: 311
Threads: 20
Thanks Received: 0
Thanks Given: 0
Joined: Dec 2017
Reputation: 2
Status
None
(04-09-2021, 11:48 AM)assassin Wrote: Leet Sketcher's Dead Hare patch approaches this by doing away with many counters:
http://l33t5k37ch3r.altervista.org/dead-hare.html

note that it hooks just the FC 01/02/03 counterattack scripts.

modifying/expanding Scimitar to set "delay counterattacks" could work for your goals.  however, true to its title, that variable is a bit limited; see "Counterattack from beyond" in Master ZED's Bugs Guide.  (and note that the issue can also be caused by multi-monster formations; anything that keeps the battle going.)

while Odin/Raiden certainly give some precedence, with Scimitar lacking the summons' supernatural origins, or Snare and X-Zone's ability to send you elsewhere, i'm just as inclined to see it as a PG version of a gory death.  keep in mind, this game *already* has enemies dying in a poof by normal means, as opposed to collapsing in a bloody pile on the ground.  so reasons like "this monster left no trace" or "this manner of death was *really* incapacitating" don't exactly seem to me like full bases for disabling counters (including finals).  you don't suppose Illumina's lopped off a few heads?  or Fire 3 created a few cinder piles?  yet somehow, the headless and the ashen can retaliate. Tongue

as seibaby said, the nature of when the dice-up animation happens is an implementation thing.  it's causing a visual incongruity which doesn't necessarily reflect a gameplay/mechanics problem.

but i can't deny the Odin/Raiden parallel, even though Espers' magical summons arguably transcend material swords (Ragnarok's apples to oranges comparison aside ;P ).

---

back to "delay counterattacks": it'd be nice to see that bug fixed.  but one issue i was running into in early stages of devising a patch is that we don't want to be too aggressive/generous in acknowledging the $341A effect, in that a multi-strike attack where some entities are killed by normal means (hypothetical, until we attach the property to things like Scimitar!) would suppress too many counters.  there were other issues, too, but i forget them offhand.

Yeah, I figured as much about what you and Seibaby are saying. I guess I was hoping there might be two bytes of code somewhere that can be reversed so the animation is displayed AFTER the counter attack happens, but it sounds more complex than that.  My hack has quite a few more counterattacks than the original game, and I definitely won't be removing those to solve this issue.  I might just leave it as is.  The only one I really noticed is HadesGigas doing Magnitude8 after Edgar has dispatched him with the Chainsaw (since the chainsaw now uses the slice effect in my hack).

Anyway, thanks for the responses!
  Find
Quote  

#5
Posts: 281
Threads: 18
Thanks Received: 12
Thanks Given: 8
Joined: Mar 2014
Reputation: 8
Status
None
Assassin, have you somehow forgotten that the Scimitar (Zantetsuken) is literally Odin's sword? Of course it's imbued with Odin's slicing mojo. Tongue

As for technical stuff, it just makes sense that any attack that removes the enemy sprite from the screen also prevents counters. That's clearly what Square was going for with these types of attacks, but cheaped out in the end with the Zantetsuken and probably just forgot about it with Antlion.
  Find
Quote  
[-] The following 1 user says Thank You to seibaby for this post:
  • assassin (04-09-2021)

#6
Posts: 200
Threads: 1
Thanks Received: 10
Thanks Given: 0
Joined: Oct 2015
Reputation: 18
Status
None
- hahaha; oops.  i haven't taken any mythology classes in awhile, and don't play enough re-translations or GBA.  fault the American educational system, and that Ted Woolsey fellow. Tongue
- yeah, Antlion's exclusion always seemed weird to me.  guess i sort of rationalized it by the move seeming more grindy and less teleporty than Snare, but was never sold on it (especially given Snare is featured in Dance, a terrain-heavy ability, so it can't really be seen as an X-Zone equivalent).
Quote  

#7
Posts: 281
Threads: 18
Thanks Received: 12
Thanks Given: 8
Joined: Mar 2014
Reputation: 8
Status
None
I think Snare is supposed to be a sinkhole and well, as for Antlion:

Quote:The antlion larva, affectionately known as a doodlebug, constructs its funnel-shaped trap by backing into sandy soil and carefully flicking soil particles with its mouthparts until a symmetrical pit forms. Small ground-dwelling arthropods like ants fall into the pit and tumble to the bottom. At the base of the pit just beneath the sand, the antlion awaits its prey. Sensing that someone has dropped in for dinner, the antlion clamps the ill-fated victim in a lethal embrace with powerful jaws. The victim is often dragged entirely beneath the sand as the antlion enjoys its feast.
Source: http://bugoftheweek.com/blog/2014/5/19/b...eleontidae
  Find
Quote  

#8
Posts: 311
Threads: 20
Thanks Received: 0
Thanks Given: 0
Joined: Dec 2017
Reputation: 2
Status
None
I found a solution to this, although you have to edit all monster scripts of monsters affected by this bug. This fix only applies to monsters that counter ANY attack (If monster has been attacked) AND are susceptible to instant death attacks like Scimitar/X-kill/randomly slice. At the end of the first wave attack, add the following lines:

Code:
FF             ; End first wave of attack
FC 03 19 A6    ; If monster has been affected by item: <WK>Scimitar  or <ER>Chainsaw, will target attacker
FE             ; End If and reset targeting

The example above is for HadesGigas. I added Chainsaw to the affected items because I also have the "Painful Chainsaw patch" applied, which makes the Chainsaw randomly slice enemies just like the Scimitar. The full HadesGigas script looks like this:

Code:
[script #-1]   ; orig idx=83, "HadesGigas", nb. bytes=129
F0 EE EE EF    ; Rand. spell: Battle or Battle or Special
FD             ; Wait until the attack sequence is called upon again, then continue (reset targeting)
F0 EE EE FE    ; Rand. spell: Battle or Battle or Nothing
FF             ; End first wave of attack
FC 03 19 A6    ; If monster has been affected by item: <WK>Scimitar or <ER>Chainsaw, will target attacker
FE             ; End If and reset targeting
FC 06 36 00    ; If target self has less or equal than 0 HP
FC 05 00 00    ; If monster has been attacked
BC             ; Magnitude8
FF             ; End

Basically, the script will have the monster perform no counter attack if it is attacked with the Scimitar/Zantetsuken or Chainsaw by resetting the targeting. There does seem to be a bug in which the Scimitar will on rare occasion let the counter attack still go through, but it is very rare.
  Find
Quote  

#9
Posts: 200
Threads: 1
Thanks Received: 10
Thanks Given: 0
Joined: Oct 2015
Reputation: 18
Status
None
i didn't think that there was a way to counter a specific weapon used with Fight/Capture/etc., so am skeptical that this would work at all.  think about it: if it did, we probably would rarely have seen the FC 03 bug where monsters with that script command would, after having the specified item used on them once, counter all sorts of unrelated attacks until a different item was used.  if the weapon ID could overwrite the Item ID variable, the bug's manifestation would've been far rarer.

if you're embracing counter+final squelching for the Chainsaw dice-up, maybe go the extra step as seibaby said, and have the utilized Scimitar effect call/branch to the Odin/X-Zone/etc. code to alter Variable $341A.  he did make a pretty solid case about the sword and summon names, after all. Smile unless i unearth evidence that Blue Dragon was visiting the outskirts of the Lost Woods, or the electronics section of the store where Marge Simpson bought her trusty Chanel dress...

also, won't your method now have monsters skip counters when hurt or killed by conventional Chainsaw damage?
Quote  

#10
Posts: 311
Threads: 20
Thanks Received: 0
Thanks Given: 0
Joined: Dec 2017
Reputation: 2
Status
None
(04-12-2021, 10:50 AM)assassin Wrote: i didn't think that there was a way to counter a specific weapon used with Fight/Capture/etc., so am skeptical that this would work at all.  think about it: if it did, we probably would rarely have seen the FC 03 bug where monsters with that script command would, after having the specified item used on them once, counter all sorts of unrelated attacks until a different item was used.  if the weapon ID could overwrite the Item ID variable, the bug's manifestation would've been far rarer.

if you're embracing counter+final squelching for the Chainsaw dice-up, maybe go the extra step as seibaby said, and have the utilized Scimitar effect call/branch to the Odin/X-Zone/etc. code to alter Variable $341A.  he did make a pretty solid case about the sword and summon names, after all. Smile unless i unearth evidence that Blue Dragon was visiting the outskirts of the Lost Woods, or the electronics section of the store where Marge Simpson bought her trusty Chanel dress...

also, won't your method now have monsters skip counters when killed by conventional Chainsaw damage?

So actually, I did more testing, and you are half right. It appears my initial testing was flawed. The code I put up in my previous link only works with the Chainsaw.  I think it might have actually been a bug that it sometimes appeared to be working with the Scimitar (HadesGigas was supposed to counter 100% of the time and sometimes did not).  The Chainsaw, however, works 100% with my code above.  I even made sure by having HadesGigas counter the chainsaw with Fire, and he did it 20+ times.

I found another way to fix both the Scimitar/Chainsaw issue, although it's a complex one.  If you stop a monster from countering after death altogether, then the Scimitar bug will not happen.  So, I set up HadesGigas to stop countering as a death move AFTER your party reaches a certain level (and instead counters as a 1/3 chance while still alive). This means by the time you get the Scimitar and encounter HadesGigas in the Veldt/Zozo, the bug should not happen. Most late-game monsters that counter after death are immune to instant death attacks anyway, so early game monsters can be set up just like HadesGigas:

Code:
F0 EE EE EF    ; Rand. spell: Battle or Battle or Special
FD             ; Wait until the attack sequence is called upon again, then continue (reset targeting)
F0 EE EE FE    ; Rand. spell: Battle or Battle or Nothing
FF             ; End first wave of attack
FC 03 A6 A6    ; If monster has been affected by item: <ER>Chainsaw or <ER>Chainsaw, will target attacker
FE             ; End If and reset targeting
FC 0F 44 14    ; If random ally's level is greater or equal than 20 (random target if many)
FC 12 00 00    ; If following monster is/are dead:
FE             ; End If and reset targeting
FC 0F 44 14    ; If random ally's level is greater or equal than 20 (random target if many)
FC 05 00 00    ; If monster has been attacked
F1 43          ; Targeting: allies
F0 BC FE FE    ; Rand. spell: Magnitude8 or Nothing or Nothing
FE             ; End If and reset targeting
FC 12 00 00    ; If following monster is/are dead:
F1 43          ; Targeting: allies
F0 BC FE FE    ; Rand. spell: Magnitude8 or Nothing or Nothing
FF             ; End

Oh, and yes, the only downside to this code is that the HadesGigas will not counter against the normal chainsaw attack.
  Find
Quote  



Forum Jump:

Users browsing this thread: 1 Guest(s)


Theme by Madsiur2017Custom Graphics by JamesWhite