Glitch City Laboratories Forums

Lab γ: Video Games and Glitches Discussion => Pokémon Glitch Discussion => Generation IV Glitch Discussion => Topic started by: Tabbender on August 05, 2018, 08:18:03 am

Title: Why does Fire Fang bypass Wonder Guard ?
Post by: Tabbender on August 05, 2018, 08:18:03 am
So there's this glitch in gen 4 that allows the move Fire Fang to hit any pokemon with Wonder Guard, even if they're not weak to fire. This affect any pokemon that eventually gets Wonder Guard via Trace (or via hacking) without being weak to fire.

I noticed it as a kid when i had hacked a Wondertomb into my game and was using it in the Battle Tower.  Then 9 years later i got curious and searched to see if anyone else had noticed it. As it turns out, people did.
https://gamefaqs.gamespot.com/boards/960099-pokemon-heartgold-version/54819376
https://pokemondb.net/pokebase/9859/so-fire-fang-always-hit-wonder-guard-even-its-not-effective
https://bulbapedia.bulbagarden.net/wiki/List_of_glitches_in_Generation_IV#Fire_Fang_Wonder_Guard_glitch

However, i can't find an explanation to how this glitch works. The closest i got is this https://projectpokemon.org/home/forums/topic/35405-glitchgen-iv-fire-fang-bypasses-wonder-guard/ , which explains how to patch the game to fix the glitch (apparently the first two bytes of the move's data are 11 01 and should be 16 01), but it doesn't explain what is causing this glitch to occur or why the data is wrong in the first place.

Does anyone here have an idea of what causes this glitch to occur ?
Title: Re: Why does Fire Fang bypass Wonder Guard ?
Post by: Bert on August 05, 2018, 04:16:28 pm
It probably went unnoticed during development since Shedinja is the only Pokemon to naturally have the ability. Note that Thunder Fang and Ice Fang don't have the same affect. Might be trolling on Game Freak's part since no other fire-type move does this.
Title: Re: Why does Fire Fang bypass Wonder Guard ?
Post by: Tabbender on August 06, 2018, 08:43:34 am
Well it IS possible to legitimately obtain a non-weak to fire Wonder Guard pokemon, via Trace. So i don't think it was intentional.
Title: Re: Why does Fire Fang bypass Wonder Guard ?
Post by: Sherkel on August 06, 2018, 03:41:49 pm
The answer probably requires knowledge of ARM9 assembly to understand. As Bert said, though, I'm betting there isn't one. Strangely, the move behavior table only seems to have 276 entries, so the guide's direction to point Fire Fang to the 278th entry just makes me more lost. Maybe you could ask on Project Pokémon?
Title: Re: Why does Fire Fang bypass Wonder Guard ?
Post by: Quirky Flower Chicken ❤✿ on August 07, 2018, 01:14:16 pm
Maybe it was some kind of weird curiosity Game Freak added regarding Fire Fang to secure it works properly (maybe there's something in the code of the move that unintentionally made it not work against Wonder Guard even if super-effective) because all Shedinja are meant to be weak to Fire-type moves (type Bug/Ghost).

But like Tabbender said, if Trace can copy Wonder Guard it introduces unintended behaviour.
Title: Re: Why does Fire Fang bypass Wonder Guard ?
Post by: Tabbender on August 08, 2018, 04:51:03 am
The answer probably requires knowledge of ARM9 assembly to understand. As Bert said, though, I'm betting there isn't one. Strangely, the move behavior table only seems to have 276 entries, so the guide's direction to point Fire Fang to the 278th entry just makes me more lost. Maybe you could ask on Project Pokémon?

Well i'd say there have to be an answer, but if the move behavior pointer points to an out of bound value, it probably interprets garbage data as behavior data, which could explain that... though i'm not sure which part of a move exactly is modified by the behavior.
I'll try to ask on Project Pokémon if i have time.

Maybe it was some kind of weird curiosity Game Freak added regarding Fire Fang to secure it works properly (maybe there's something in the code of the move that unintentionally made it not work against Wonder Guard even if super-effective) because all Shedinja are meant to be weak to Fire-type moves (type Bug/Ghost).

But like Tabbender said, if Trace can copy Wonder Guard it introduces unintended behaviour.

I don't think so, since the tutorial on the post i linked apparently solved the issue entirely and made it so Fire Fang works normally (so it should still work on Shedinja). And i don't get why Fire Fang specifically would have this problem when other Fang moves don't...