Research Scarlet & Violet Battle Mechanics Research

For Mimicry to do anything cool, we'd have to turn off Mimicry to make the Pokemon a natural Poison- or Steel-type like you said, but I can't think of a way to do that.
Core Enforcer + Toxic Chain? Just don't use Misty Terrain for doubly obvious reasons...

I made Core Enforcer clickable in SV, but all it does is set "No Ability" without reverting the type. The Tentacruel stayed Electric-type and got poisoned a turn later.
1733787825043.png
 
I made Core Enforcer clickable in SV, but all it does is set "No Ability" without reverting the type. The Tentacruel stayed Electric-type and got poisoned a turn later.
View attachment 693903
I wasn't aware of this, but I tried removing Mimicry in Gen 8 and a similar thing happened. The info screen showed no ability for the opposing Stunfisk, but it stayed Electric type after Core Enforcer. After the terrain went away, I expected the Stunfisk to be stuck Electric, but it actually went to Normal, not Steel/Ground. This was probably because it was a Ditto... However, the Mimicry ability sign popped up on the right of the screen when the typing reverted, so somehow the game still kept track that Mimicry needed to run out...
I didn't get footage b/c I didn't want to hook up the capture card; however, I can if this is a novel discovery.
 
Supercell Slam doubles its damage and has sure-hit accuracy against a Minimized target (see footage). This is similar to how Stomp, Heat Crash, etc. work. Thanks to Hypersonicly for helping me record footage.

Level 50 Ditto-Rhyperior with 211 Attack vs 139 Defense Alolan Muk dealt 118 damage with Supercell Slam, which would be an impossible damage roll without the doubled damage.
I had asked a similar question about Gigaton Hammer and, eventually, Hard Press to this effect. While I don't have footage I do have damage calcs that I took manually while checking to confirm they both do not, which is a shame! They seem perfectly suited.

Gigaton Hammer:
318 to 228 HP / Possible damage amounts: (84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99) / good / healed to 318 / After Minimize: 318 to 219 (within existing damage roll parameters)
NOPE

Hard Press:
318 to 258 / Possible damage amounts: (52, 53, 54, 54, 54, 55, 56, 57, 57, 58, 58, 59, 60, 60, 61, 62) / good / healed to full / After Minimize: missed. which is already enough, but just to check: didnt heal / 268 to 207 (within existing damage roll parameters)
Also NOPE
 
Me and Nyx tested this on cart (using Golduck instead of Rayquaza for conveience) and while proto did not activate when Golduck was in, as soon as Golduck switched out, it did activate correctly.

We also tested, and Cloud Nine does not make protosynthesis wear off if it proc'd due to the sun activating, it only wore off when the sun wore off. Currently implemented, Air Lock un-procs Protosynthesis, which is not the way I believe it works on cart.
This has been changed in game. The behavior is now as follows:

Turn 1: Sun setter activates Sun, Protosynthesis activates on Proto mon.

Turn 2: Sun setter switches to Air Lock/Cloud Nine mon, Air Lock/Cloud Nine text display message, then "the effects of Protosynthesis have worn off on [Proto mon]" message displays.

Currently on SD, the Protosynthesis boost is still displayed under Air Lock, as seen here:

https://replay.pokemonshowdown.com/gen9vgc2025regg-2265063020?p2

You can even see in the replay where Booster Energy correctly activates on the Rayquaza player's side.

So Air Lock/Cloud Nine will deactivate/shut off Protosynthesis now.
 
Mirror Herb and Opportunist can copy the increase in critical hit ratio from Dragon Cheer (see cartridge footage).
  • Mirror Herb / Opportunist can't copy Focus Energy.
  • When Dragon Cheer is copied, if the original target of Dragon Cheer was a Dragon-type, Opportunist will copy +2 in critical hit ratio.
  • If the Pokemon is already at 3 stages of critical hit ratio from Dragon Cheer, Opportunist will announce itself, but not attempt to copy any more.
  • Psych Up can copy the Opportunist-copied Dragon Cheer critical hit boosts.
Dragon Cheer is the only move in the move data dumps that has a value of 8 in the first element of the StatAmps column. So I imagine that's what is causing it to behave like other stat boosting moves that Opportunist can take advantage of.

0 = no stat change
1 = Attack
2 = Defense
3 = Special Attack
4 = Special Defense
5 = Speed
6 = Accuracy
7 = Evasion
8 = Critical hit rate
9 = Omniboost (Attack, Defense, Special Attack, Special Defense, Speed)
 
Last edited:
Can someone use Forest's Curse on Terapagos and hit it with a water move to check if it takes 0.5x or 0.25x damage? Then, try using both Soak and Forest's Curse together and check the same thing versus a water move.

Currently, the simulator (likely incorrectly) multiplies the damage by 0.5x for every type Terapagos has. So, if you use Forest's Curse and hit it with any type, it ends up taking 0.25x damage.
 
Last edited:
Can someone use Forest's Curse on Terapagos and hit it with a water move to check if it takes 0.5x or 0.25x damage? Then, try using both Soak and Forest's Curse together and check the same thing versus a water move.

Currently, the simulator (likely incorrectly) multiplies the damage by 0.5x for every type Terapagos has. So, if you use Forest's Curse and hit it with any type, it ends up taking 0.25x damage.
Tested in game, damage with just Soak matched 0.5x resistance, and Soak + Forest's Curse matched 0.25x resistance. Tera Shell didn't activate in either instance. I suppose that it only activates if the type resistance multiplier is specifically greater than 0.5x.
 
Tested in game, damage with just Soak matched 0.5x resistance, and Soak + Forest's Curse matched 0.25x resistance. Tera Shell didn't activate in either instance. I suppose that it only activates if the type resistance multiplier is specifically greater than 0.5x.
Can you test against a Fire-type move please?
 
Tested with a Grass-type move yesterday against Soak + Forest's Curse, which should have the same checks. Tera Shell activated, and dealt damage matching 0.5x resistance.
As urkerab said, in the cartridge, a Fire-type move would probably be neutral and activate Tera Shell once, but currently, PS would reduce the damage once for each type, resulting in 0.25x damage. I already submitted a PR; It just for confirmation.
 
Hi. Transform fails when used by any of these. See the footage here.

Hope this helps.
Someone on my PR:
I believe the test you referenced needs to be redone because it's vs wild Pokemon, where Transform fails due to the Smeargle cloning exploit patch. Terapagos is able to Transform in an NPC battle.
Sorry, would you be able to test Ogerpon and terastallized Ogerpon against a trainer? Terapagos-Stellar shouldn't be able to because of its tera type.
 
Last edited:
Someone on my PR:

Sorry, would you be able to test Ogerpon and terastallized Ogerpon against a trainer? Terapagos-Stellar shouldn't be able to because of its tera type.
Hi. Good catch. I previously thought the Transform wild check was for "if species equals Smeargle" so it didn't even cross my mind whatsoever at the time of recording, but it turns out it's the much more restrictive "if species does not equal Ditto or Mew." Here's the corrected video footage.

In summary:
  • Ogerpon successfully uses Transform
  • Ogerpon-Tera successfully uses Transform, changing its Tera Hat's appearance to a regular one upon doing so.
  • non-Terastallized Terapagos successfully uses Transform with or without the Tera Shift Ability.
  • Terastallized Stellar-type Terapagos fails Transform with or without Tera Shift, as all Stellar-type Terastallized Pokemon do. It is possible for Terapagos to Terastallize into the Stellar-type having already Transformed, similarly to other Tera Stellar Pokemon.
  • Terastallized Terapagos hacked to have Tera Types other than Stellar successfully uses Transform, with or without Tera Shift.
  • Notably, this means that because the only requirement for Tera Shift Terapagos to enter its Stellar form (the one with Teraform Zero and 160 base HP) is to Terastallize into any given Type, the forme Terapagos-Stellar can use Transform as long as its active Tera Type is not actually Stellar-type. For instance, you can Terastallize a hacked Tera Shift Terapagos into the Electric-type, triggering its forme change into Terapagos-Stellar with the higher HP stat while clearing any field effects with Teraform Zero, and then proceed to use Transform successfully. Footage here of Teraform Zero functioning with Tera Electric, since I don't think that was established previously.
The first post has been deleted to avoid the spread of misinformation. This shows why footage is important to avoid inexcusable errors like this going undetected. Apologies for any inconvenience.
 
I previously thought the Transform wild check was for "if species equals Smeargle" so it didn't even cross my mind whatsoever at the time of recording, but it turns out it's the much more restrictive "if species does not equal Ditto or Mew."
I went looking for where this is handled in case there are other conditions that might disrupt testing, and it looks like it really is just a strict check for species being Mew or Ditto, as opposed to say, a check for it being a naturally learned move.

1736730337671.png


Unfortunately, I don't have most of this documented, so it doesn't give much more info than the Stellar Tera check we already know about.
1736730452735.png


You might ask: "How do you know this is the right code then if you don't know what most of it is?" A few reasons:
  • A breakpoint set in this function triggers when attempting to Transform in a wild or NPC trainer battle. In an NPC battle, it skips the species check and goes straight into the conditional block.
  • If I bypass the base_species check and tell the game that my Tera Electric Terapagos is a Mew, it can transform in a wild battle.
  • I can bypass both the base_species check and the Tera Type check to make my Terastallized Stellar Tera Terapagos transform in a wild battle. It turns into a copy of the wild Pokémon with a Stellar hat.
  • This code doesn't exist in version 3.0.0, which fits our knowledge of when it was added.

This function is at .text:00000071028419FC in 3.0.0 and 3.0.1 if anyone wants to look at it themselves. I've uploaded the pseudocode for 3.0.1 here.
 
Last edited:
Thank you!
Ogerpon successfully uses Transform
non-Terastallized Terapagos successfully uses Transform with or without the Tera Shift Ability.
I can't apologize enough, but do you remember the forms of Ogerpon and Terapagos when they transformed, then Terastallized and were switched out?

Also on Terapagos (and fainted form regressions), if a hacked Terapagos-Terastal terastallizes into Terapagos-Stellar and then faints (without the battle ending), will it revert to Terapagos-Terastal or Terapagos as usual?
 
Last edited:
Unfortunately, I don't have most of this documented, so it doesn't give much more info than the Stellar Tera check we already know about.
View attachment 704143

This function is at .text:00000071028419FC in 3.0.0 and 3.0.1 if anyone wants to look at it themselves. I've uploaded the pseudocode for 3.0.1 here.
I think the rest of this check is the code that prevents transforming into Ogerpon or Terapagos if either the transformer or the target is Terastallized. From what I can tell, v14 seems to be the data for the Pokémon being transformed into as it’s copied from v7 which is given a value through the same function as PokeParam referencing a3[1] instead of a3[0]. Also, although they aren’t quite what I would expect, 1011 and 1021 are pretty close to the National dex numbers of Ogerpon and Terapagos, respectively. We’ve observed that Pokémon cannot transform into those species when they or the target are Terastallized, and we’ve also seen that even Terastallized Ogerpon-Hearthflame-Tera is able to transform into something else, which would be consistent with this bit of code apparently not checking the species of the transforming Pokémon.
 
Also, although they aren’t quite what I would expect, 1011 and 1021 are pretty close to the National dex numbers of Ogerpon and Terapagos, respectively. We’ve observed that Pokémon cannot transform into those species when they or the target are Terastallized, and we’ve also seen that even Terastallized Ogerpon-Hearthflame-Tera is able to transform into something else, which would be consistent with this bit of code apparently not checking the species of the transforming Pokémon.
Remember the game does not internally use the National Dex numbers, but a separate DevID. This was why every site had different orders for their dex at the start of the game, and then changed it.

But I agree that I could change PokeParam and v7 to the acting and target Pokemon for clarity.

Everything before Sprigatito matches up.

DevID: 906, NatID: 906 - Sprigatito
DevID: 907, NatID: 907 - Floragato
DevID: 908, NatID: 908 - Meowscarada
DevID: 909, NatID: 909 - Fuecoco
DevID: 910, NatID: 910 - Crocalor
DevID: 911, NatID: 911 - Skeledirge
DevID: 912, NatID: 912 - Quaxly
DevID: 913, NatID: 913 - Quaxwell
DevID: 914, NatID: 914 - Quaquaval
DevID: 915, NatID: 915 - Lechonk
DevID: 916, NatID: 916 - Oinkologne
DevID: 917, NatID: 982 - Dudunsparce
DevID: 918, NatID: 917 - Tarountula
DevID: 919, NatID: 918 - Spidops
DevID: 920, NatID: 919 - Nymble
DevID: 921, NatID: 920 - Lokix
DevID: 922, NatID: 953 - Rellor
DevID: 923, NatID: 954 - Rabsca
DevID: 924, NatID: 971 - Greavard
DevID: 925, NatID: 972 - Houndstone
DevID: 926, NatID: 955 - Flittle
DevID: 927, NatID: 956 - Espathra
DevID: 928, NatID: 981 - Farigiraf
DevID: 929, NatID: 960 - Wiglett
DevID: 930, NatID: 961 - Wugtrio
DevID: 931, NatID: 977 - Dondozo
DevID: 932, NatID: 976 - Veluza
DevID: 933, NatID: 963 - Finizen
DevID: 934, NatID: 964 - Palafin
DevID: 935, NatID: 928 - Smoliv
DevID: 936, NatID: 929 - Dolliv
DevID: 937, NatID: 930 - Arboliva
DevID: 938, NatID: 951 - Capsakid
DevID: 939, NatID: 952 - Scovillain
DevID: 940, NatID: 938 - Tadbulb
DevID: 941, NatID: 939 - Bellibolt
DevID: 942, NatID: 965 - Varoom
DevID: 943, NatID: 966 - Revavroom
DevID: 944, NatID: 968 - Orthworm
DevID: 945, NatID: 924 - Tandemaus
DevID: 946, NatID: 925 - Maushold
DevID: 947, NatID: 974 - Cetoddle
DevID: 948, NatID: 975 - Cetitan
DevID: 949, NatID: 996 - Frigibax
DevID: 950, NatID: 997 - Arctibax
DevID: 951, NatID: 998 - Baxcalibur
DevID: 952, NatID: 978 - Tatsugiri
DevID: 953, NatID: 967 - Cyclizar
DevID: 954, NatID: 921 - Pawmi
DevID: 955, NatID: 922 - Pawmo
DevID: 956, NatID: 923 - Pawmot
DevID: 957, NatID: 940 - Wattrel
DevID: 958, NatID: 941 - Kilowattrel
DevID: 959, NatID: 962 - Bombirdier
DevID: 960, NatID: 931 - Squawkabilly
DevID: 961, NatID: 973 - Flamigo
DevID: 962, NatID: 950 - Klawf
DevID: 963, NatID: 932 - Nacli
DevID: 964, NatID: 933 - Naclstack
DevID: 965, NatID: 934 - Garganacl
DevID: 966, NatID: 969 - Glimmet
DevID: 967, NatID: 970 - Glimmora
DevID: 968, NatID: 944 - Shroodle
DevID: 969, NatID: 945 - Grafaiai
DevID: 970, NatID: 926 - Fidough
DevID: 971, NatID: 927 - Dachsbun
DevID: 972, NatID: 942 - Maschiff
DevID: 973, NatID: 943 - Mabosstiff
DevID: 974, NatID: 946 - Bramblin
DevID: 975, NatID: 947 - Brambleghast
DevID: 976, NatID: 999 - Gimmighoul
DevID: 977, NatID: 1000 - Gholdengo
DevID: 978, NatID: 984 - Great Tusk
DevID: 979, NatID: 986 - Brute Bonnet
DevID: 980, NatID: 1009 - Walking Wake
DevID: 981, NatID: 989 - Sandy Shocks
DevID: 982, NatID: 985 - Scream Tail
DevID: 983, NatID: 987 - Flutter Mane
DevID: 984, NatID: 988 - Slither Wing
DevID: 985, NatID: 1005 - Roaring Moon
DevID: 986, NatID: 990 - Iron Treads
DevID: 987, NatID: 1010 - Iron Leaves
DevID: 988, NatID: 994 - Iron Moth
DevID: 989, NatID: 992 - Iron Hands
DevID: 990, NatID: 993 - Iron Jugulis
DevID: 991, NatID: 995 - Iron Thorns
DevID: 992, NatID: 991 - Iron Bundle
DevID: 993, NatID: 1006 - Iron Valiant
DevID: 994, NatID: 1003 - Ting-Lu
DevID: 995, NatID: 1002 - Chien-Pao
DevID: 996, NatID: 1001 - Wo-Chien
DevID: 997, NatID: 1004 - Chi-Yu
DevID: 998, NatID: 1007 - Koraidon
DevID: 999, NatID: 1008 - Miraidon
DevID: 1000, NatID: 957 - Tinkatink
DevID: 1001, NatID: 958 - Tinkatuff
DevID: 1002, NatID: 959 - Tinkaton
DevID: 1003, NatID: 935 - Charcadet
DevID: 1004, NatID: 936 - Armarouge
DevID: 1005, NatID: 937 - Ceruledge
DevID: 1006, NatID: 948 - Toedscool
DevID: 1007, NatID: 949 - Toedscruel
DevID: 1008, NatID: 983 - Kingambit
DevID: 1009, NatID: 980 - Clodsire
DevID: 1010, NatID: 979 - Annihilape
DevID: 1011, NatID: 1017 - Ogerpon
DevID: 1012, NatID: 1011 - Dipplin
DevID: 1014, NatID: 1014 - Okidogi
DevID: 1015, NatID: 1015 - Munkidori
DevID: 1016, NatID: 1016 - Fezandipiti
DevID: 1024, NatID: 1012 - Poltchageist

I believe the rest of the code after all the checks is just applying the Transformation.
 
Last edited:
Remember the game does not internally use the National Dex numbers, but a separate DevID. This was why every site had different orders for their dex at the start of the game, and then changed it.
Yeah I thought I remembered something like this and definitely remembered the National dex number confusion which is why I thought it was worth pointing out that the numbers were close. Sure enough,
DevID: 1011, NatID: 1017 - Ogerpon
 
Hi again.
I can't apologize enough, but do you remember the forms of Ogerpon and Terapagos when they transformed, then Terastallized and were switched out?
No need for apologies. Great questions that have led to some exciting findings.

Ogerpon, Ogerpon-Mask, and Tera Shift Terapagos never enter their special forms (Ogerpon-Tera, Terapagos-Stellar) if they Terastallize while already Transformed. For instance, Ogerpon never receives Embody Aspect, and Terapagos never receives Teraform Zero. Visually, Ogerpon does have its Mask's Tera Hat after re-entering the battle, while Terapagos has a broken-looking model with it being surrounded by the hat. All of this is shown in the footage here.

Something perhaps even more interesting: This can allow an Ogerpon to Terastallize into any Type, shown in this test's footage with Tera Dragon. Because the game softlock that usually occurs when Terastallizing Ogerpon into an illegal Type is presumably tied to attempting to load a non-existent Ogerpon-Tera form, if we never trigger that change in form when we Tera thanks to Ogerpon being Transformed, then the softlock does not occur. In this way, we can see very cool things like this high-quality footage of Tera Fairy Ogerpon-Wellspring in-game.

Visually, Ogerpon's Tera Hat will be the regular Tera Hats for Tera Types that do not match any Ogerpon form, so in the previous footage you can see that it has the regular Tera Dragon and Tera Fairy hats. However, if an incorrect Ogerpon form uses this Transform behavior to Terastallize into a Type that does have an associated Mask in the game, you can achieve more interesting visual results. For instance, a Terastallized Fire Ogerpon-Wellspring being shown with the Ogerpon-Hearthflame Tera Hat, or a Terastallized Rock Ogerpon-Teal being shown with the Ogerpon-Cornerstone Tera Hat. Footage here, since I know that sentence is likely somewhat confusing.

Also on Terapagos (and fainted form regressions), if a hacked Terapagos-Terastal terastallizes into Terapagos-Stellar and then faints (without the battle ending), will it revert to Terapagos-Terastal or Terapagos as usual?
Another interesting question. I tested this with a Tera Electric Tera Shift Terapagos. I activated Tera to change forms to Terapagos-Stellar with an Electric-typing, then made it use Healing Wish to faint. Upon fainting, hacked Electric Terapagos-Stellar reverted to the baby Terapagos as usual, and upon revival and switching back into the battle Tera Shift triggered again to change it back into Terapagos-Terastal with Tera Shell. Footage here showing the entire process.

Hope this helps.
 
Another interesting question. I tested this with a Tera Electric Tera Shift Terapagos. I activated Tera to change forms to Terapagos-Stellar with an Electric-typing, then made it use Healing Wish to faint. Upon fainting, hacked Electric Terapagos-Stellar reverted to the baby Terapagos as usual, and upon revival and switching back into the battle Tera Shift triggered again to change it back into Terapagos-Terastal with Tera Shell. Footage here showing the entire process.
This wasn't what I meant, maybe I didn’t explain it well. By “hacked Terapagos-Terastal”, I was referring to a Terapagos in its Terastal form outside of battle. I’ve been coding fainted-form regressions because of Revival Blessing shenanigans. I wanted to know if the reversion from Terapagos-Stellar to Terapagos-baby is hardcoded, or if it simply reverts to its state at the start of the battle!

Terapagos is a weird case because Terapagos-Terastal does not revert to Terapagos-baby when it faints, but Terapagos-Stellar does! Edit: just checked, you were the one who discovered this. https://www.smogon.com/forums/threads/scarlet-violet-battle-mechanics-research.3709545/post-9905712

Thank you for the rest, you're my goat!
 
Last edited:
This isn’t what I meant, maybe I didn’t explain it well. By “hacked Terapagos-Terastal”, I was referring to a Terapagos in its Terastal form outside of battle. I’ve been coding fainted-form regressions because of Revival Blessing shenanigans. I wanted to know if the reversion from Terapagos-Stellar to Terapagos-baby is hardcoded, or if it simply reverts to its state at the start of the battle!

Terapagos is a weird case because Terapagos-Terastal does not revert to Terapagos-baby when it faints, but Terapagos-Stellar does! Edit: just checked, you were the one who discovered this. https://www.smogon.com/forums/threads/scarlet-violet-battle-mechanics-research.3709545/post-9905712

Thank you for the rest, you're my goat!
Hi. I see what you mean now. The terminology around these sorts of things can get really confusing, so I tested what I thought you meant. Apologies for any inconvenience.

I'm afraid testing what you actually want tested is beyond my current capabilities, though I very much agree it's an interesting question if anyone better prepared is inclined to try it out. Terapagos and its forms are included in Scarlet and Violet's form reversion table as of Indigo Disk, meaning that if you hack in Terapagos-Terastal the game immediately reverts it to Terapagos-Base upon loading the save, hovering over the Pokemon in the box, or beginning a local area connection battle with another player, so I can't personally do much about it at my relatively primitive level of testing.

I'm unsure whether the reversion would trigger with something like a wild battle or NPC battle, so it may be possible to live hack a Terapagos-Terastal into the party while the game is running to bypass the save load reversion and use that to test. Alternatively, with more tools and knowledge than I have you can turn off the form reversion code completely in a few ways.
 
I'm unsure whether the reversion would trigger with something like a wild battle or NPC battle, so it may be possible to live hack a Terapagos-Terastal into the party while the game is running to bypass the save load reversion and use that to test. Alternatively, with more tools and knowledge than I have you can turn off the form reversion code completely in a few ways.
The reason I did not test this originally was whatever happens only in wild/NPC battles is not relevant to Showdown's hackmons formats, which require that the mechanics occur in local battle, and I had already tested that it reverts when starting a local battle. Patching the game to not revert would essentially be a change on the level of a romhack, which also invalidates whatever finding for simulator purposes. So ultimately it would have been a lot of work to test something for idle curiosity and nothing more.

If the argument could be made that this is actually a vital piece of knowledge, I could do it, but not if it's largely irrelevant to gameplay.
 
The reason I did not test this originally was whatever happens only in wild/NPC battles is not relevant to Showdown's hackmons formats, which require that the mechanics occur in local battle, and I had already tested that it reverts when starting a local battle. Patching the game to not revert would essentially be a change on the level of a romhack, which also invalidates whatever finding for simulator purposes. So ultimately it would have been a lot of work to test something for idle curiosity and nothing more.

If the argument could be made that this is actually a vital piece of knowledge, I could do it, but not if it's largely irrelevant to gameplay.
A few months ago, this bug was reported due to hacked Ogerpon-[form]-Tera Terastallizing in Custom Battles. You and DaWoblefet tested it, and he reported what would happen in the cartridge. I have an open PR that implements the findings the two of you discovered. As I mentioned, I also have another open PR to address fainted form regressions. So, I suppose my question was just for completeness.

Edit: I also thought you could start with another form of Terapagos in Hackmons, but you can't.
 
Last edited:
Back
Top