Gen 3 Random Battle (LIVE!)

ive only seen it on charizard so far but idk which others it could be possible on (/ what situations in which itd be good)
 
While we're at it, could we make it that an offensive setup move requires enough coverage so that nothing is completely immune to the mon's moveset? I've been getting Bulk Up/High Jump Kick/Mach Punch/Counter Hitmonchans occasionally, as well as Curse/Thunder Wave/Seismic Toss/Counter Registeel.
And can we also remove Sitrus Berry entirely from the item pool and replace it with Salac(on sub+drum sets) or Leftovers(without sub+drum)? 30 HP is like 10% at level 100.

In general, redundant coverage is a massive problem for some sets, typically Fighting types. Brick Break/High Jump Kick Medicham (both are good options. putting them on the same set is not.), Cross Chop/Revenge Hariyama. There's other nitpicks like Protect without Wish on certain eeveelutions, Sunny Day + Giga Drain on some Chlorophyll Pokemon, Lugia with no Recover, etc. Also the lack of choice band metagross/aerodactyl saddens me.
 
Oh for redundancy I've seen hp rock + rock slide on mons like rhydon and golem

Or Steelix...

tvH0CrA.png
 
Is there really a point to have a CM resttalk Suicune with Hydro Pump? After you use all 8 pp of Hydro Pump (which is quite easy) it is rendered borderline useless (other than pp stalling) as you can see on this replay: http://replay.pokemonshowdown.com/gen3randombattle-699245292

I managed to win but I was surprised that after you use all PP of a move you can't use it via sleeptalk (I believe it is the only gen with such mechanics). Considering that I think CM restalk Suicune should be run with Surf. The only competetive resttalk set with 1 attacking move with subpar accuracy and 8 pp that I am aware of is Machamp with cross chop and bulk up.
 
I just lost a match because my Hustle Togetic kept missing seismic toss (That was the only attacking move it had). Can we please just remove the option of Hustle, or at least make sure it gets 1 physical attack.
 
so is this thread dead?

i enjoy gen 1&2 randbats but gen 3 like... every other match it's an unstoppable belly drum linoone. Literally more powerful than Mewtwo in gen 1. I think it needs a nerf.
 
Some suggestions if this thread isn't dead:

Umbreon sometimes gets a set of Wish, Protect, Curse, and Moonlight. Considering Umbreon isn't being given any physical attacking moves to exploit with Curse, maybe it should be removed from its' movepool to avoid having sets with no way to damage the opponent?

I also occasionally have been given Xatu which has Sleep Talk but lacks Rest, but that's rare (only 2x in hundreds of gen 3 random battles across different accounts).
 
Umbreon sometimes gets a set of Wish, Protect, Curse, and Moonlight. Considering Umbreon isn't being given any physical attacking moves to exploit with Curse, maybe it should be removed from its' movepool to avoid having sets with no way to damage the opponent?
Ok thats fair.
I also occasionally have been given Xatu which has Sleep Talk but lacks Rest, but that's rare (only 2x in hundreds of gen 3 random battles across different accounts).
That would only happen if you got bad rolls, unfortuntely if the movepool empties out without finding a valid set your stuck with whatever was left.
 
Ok thats fair.

That would only happen if you got bad rolls, unfortuntely if the movepool empties out without finding a valid set your stuck with whatever was left.

Thanks for the reply. Neither are a big deal to me, just figured I'd post them and see what people said! Appreciate all the work you guys put into this.
 
I have a question HoeenHero. You mentioned in your OP that "Evs and Ivs can be adjusted to strengthen a set." I am putting together a google excel sheet for Gen 3 Random Battles, with each pokemon's base stat (will post here when finished if people would like).

I was using the damage calculator and just plugging in the pokemon's level, setting it to a neutral nature, and using 31 IVs and 85 EVs in each stat. However, after seeing that sentence, I was wondering if that was not correct? Do some pokemon have different IV and EV values? Thanks.

Update: Here's the spreadsheet, if anyone wants to contribute (it's fairly mindless to do, but takes a little time) just PM me your gmail and I'll give you the permissions to edit it. Either way, if you want to use it to type into the damage calculator, feel free. Although just knowing movesets and 31 IVs/85 EVs is enough anyways probably, this might just be me procrastinating while social distancing hahaha

https://docs.google.com/spreadsheets/d/1EURUCSSf9-Ck4_hriuPSbaBDzD61IHV65iCWoLRERYg/edit?usp=sharing
 
Last edited:
knickstape52 The generator will lower HP EVs so the pokemon with Endeavor/Flail/Reversal can use 4 substitutes (hp should be divisible by 4, take away 4 HP EVs if its not). https://github.com/smogon/pokemon-showdown/blob/master/data/mods/gen3/random-teams.js#L573

The generator will also do the above for pinch berry holders with substitute.

Finally the generator will minimize the pokemon's attack IVs if it dosen't have a physical move/transform.
ATK EVs are set to 0.
ATK IVs are set to 3 if the pokemon has hidden power and 0 if not.

Otherwise its 31 all + 85 in each stat.
 
knickstape52 The generator will lower HP EVs so the pokemon with Endeavor/Flail/Reversal can use 4 substitutes (hp should be divisible by 4, take away 4 HP EVs if its not). https://github.com/smogon/pokemon-showdown/blob/master/data/mods/gen3/random-teams.js#L573

The generator will also do the above for pinch berry holders with substitute.

Finally the generator will minimize the pokemon's attack IVs if it dosen't have a physical move/transform.
ATK EVs are set to 0.
ATK IVs are set to 3 if the pokemon has hidden power and 0 if not.

Otherwise its 31 all + 85 in each stat.
Thanks for this great info. Appreciated.

One other question. Are the Levels set by tiers in the manner of: Uber, OU, UU, etc. or are there different levels for mons in the BL tiers as well? I think I found an answer via google, however I wasn't entirely sure based on 2 different articles/posts I saw, so I wanted to confirm. Thanks for your time.
 
Thanks for this great info. Appreciated.

One other question. Are the Levels set by tiers in the manner of: Uber, OU, UU, etc. or are there different levels for mons in the BL tiers as well? I think I found an answer via google, however I wasn't entirely sure based on 2 different articles/posts I saw, so I wanted to confirm. Thanks for your time.
Level scale is tier based defaulting to 75. A few pokemon have custom levels see the code here: https://github.com/smogon/pokemon-showdown/blob/master/data/mods/gen3/random-teams.js#L551 EDIT: BL tiers not included, im unsure if we have BLs in Gen 3.
 
Level scale is tier based defaulting to 75. A few pokemon have custom levels see the code here: https://github.com/smogon/pokemon-showdown/blob/master/data/mods/gen3/random-teams.js#L551 EDIT: BL tiers not included, im unsure if we have BLs in Gen 3.
Gotcha. Thanks. It lists UUBL for Slowbro on the main pokemon page on Smogon as an example, but not sure those tiers are well-established, especially beyond UUBL.
EDIT: Looks like the code includes NUBL and UUBL as tiers for levels. Thanks again for the info. I appreciate it greatly.
 
Hello! I'm here to report / suggest some things

1588645600006.png


I don't think this is intentional, I received it a few days ago

Correct me if I'm wrong (I don't know how the code works, or how to read the code), but as far as I know, in rands, a pokemon receives a STAB and moves based on the pool, right?

1588645730915.png


I haven't looked at a lot of pools, but aren't these a little bit big to consistently generate desirable sets? Disregard if I'm wrong on how the generation of movesets works, my main intention was just to post about the Torkoal anyway. Thanks!
 
At this point it might just be easier to kill duplicate-type moves unless one is hidden power? The double stab thing has been a persistent problem with a lot of attempted fixes but if it's still going on, just e.g. removing fire blast from torkoal may be best.

The thing with mons like Gardevoir and Dragonite is that pretty much any combination of four of those moves works fine. If you have a gardevoir generated with psychic, fire punch, and thunderbolt, any one of dbond, hypnosis, memento, reflect, taunt, sub, cm is totally fine. There are a few exceptions, e.g. CM needing special attacks, Protect needing wish/toxic, focus punch (for dragonite) needing sub, etc. If they are still getting bad sets, non-core moves reliant on other moves (focus punch on dnite comes to mind) would be the first to go probably, but I haven't seen bad sets with mons like this in my experience. I'll go generate some random sets and see what I find.

Things I've seen that probably aren't great:
double STAB
heal bell + rest altaria
fake out + bulk up hariyama
subpunch on dragonite can just go i think because it makes sub get everywhere else and i mean dnite can do other things
ninjask that had protect but not bp, that could be a bit awkward to fix
 
Last edited by a moderator:
At this point it might just be easier to kill duplicate-type moves unless one is hidden power? The double stab thing has been a persistent problem with a lot of attempted fixes but if it's still going on, just e.g. removing fire blast from torkoal may be best.

The thing with mons like Gardevoir and Dragonite is that pretty much any combination of four of those moves works fine. If you have a gardevoir generated with psychic, fire punch, and thunderbolt, any one of dbond, hypnosis, memento, reflect, taunt, sub, cm is totally fine. There are a few exceptions, e.g. CM needing special attacks, Protect needing wish/toxic, focus punch (for dragonite) needing sub, etc. If they are still getting bad sets, non-core moves reliant on other moves (focus punch on dnite comes to mind) would be the first to go probably, but I haven't seen bad sets with mons like this in my experience. I'll go generate some random sets and see what I find.

Things I've seen that probably aren't great:
double STAB
heal bell + rest altaria
fake out + bulk up hariyama
subpunch on dragonite can just go i think because it makes sub get everywhere else and i mean dnite can do other things
ninjask that had protect but not bp, that could be a bit awkward to fix
Long post ahead, but I'm passionate about randbats giving intelligent, yet still "random" seeming sets that are closer to Battle Factory than CC, but still not quite there. I hope these thoughts help. I'd be happy to help create this logic, but I'm not a javascript coder and don't have time to learn currently.



I'm not sure Focus Punch really requires sub. There are a number of Pokemon in ADV that sometimes run unprotected Focus Punch in their respective tiers, especially (but not exclusively) on CB sets. Just some examples that come to mind are: Tyranitar, Heracross, Snorlax, Swampert, Medicham, Aggron, Muk, Kangaskhan, Sudowoodo, and Kecleon. A lot of these Pokemon either don't have another fighting option or their other fighting option doesn't hit the target nearly hard enough to be worth it without Focus Punch's power. Brick Break is literally half as strong.

I also don't think Protect BP-less Ninjask is egregious. It still can be useful for toxic stall, to outrun something that has used Dragon Dance or Agility, scout CB pokemon, etc. The only issues here that I'd work on would be double stab and maaaaaybe fake out + bulk up or similar sets on other mons with fake out. But this is a reasonably small set of pokemon in the first place, so I wouldn't prioritize it.



But I would definitely prioritize the double STAB. That Torkoal example with just Flamethrower and Fire Blast should definitely be avoided if possible, but I would not wholly prohibit any situation where 2 attacks of the same type can be given together. True you can just remove the other STAB from the movepool, but I don't think this is a good idea. Some amount of unpredictability about the strength of a STAB attack is a good thing. If the opponent always knows Torkoal has Fire Blast or Flamethrower, they can act accordingly. That's not ideal.

I think it would be best if it allowed a second attack to be given of the same attacking type as a previous attack IF the Pokemon would be receiving its 4th attacking move, so it still has 3 distinct attacking types in that circumstance. There are lots of real examples of Pokemon using this type of movepool on pokemon with 4 attacks, so I don't think it should be a strict enforcement of never having 2 attacks of the same type.

There also needs to be a few other restrictions around combinations of moves. I'm sure you already have logic for these requirements, but if Sub Punch Dragonite is causing issues, for example, then I think it may be worth changing up how that's coded to integrate it into move selection more generally.
I don't have all the answers on what pairings should be at this time (and I think some of this is coded already?), but I think the general structure of how to work the required pairings in should work with the set of rules for creating possible randbats movesets below. I also think this is pretty generalizable to any generation, with the only major change needed for each generation (aside from the initial movepool options) being which move hard pairings are required, since effects change generation to generation. Some edge cases like Ditto, Unown, and Wobbuffet in all generations or like Magikarp in RBY randbats would also have to be coded in, since they don't really fit the typical mold.




Proposed movepool selection rules:

Move 1:
  • If the Pokemon has a STAB attack >= 60 BP (70?) in its movepool, then a STAB attack.
  • If the Pokemon does not have a STAB attack >= 60 BP in their movepool, such as how Gengar and Blissey do not, then it still has to be an "attack" >= 60 BP, of some sort
    • Attacks lower than 60 BP, are not considered "attacks" for the purposes of moveslot 1 (or any other moveslot). This includes things like Rapid Spin, but also low power priority attacks like Fake Out, Mach Punch, or Shadow Sneak or other attacks that are primarily used for another purpose, such as Clear Smog, Flame Charge, Acid Spray, or Icy Wind.
    • Variable power attacks like Low Kick, Foul Play, or Flail are counted as "attacks" and can be called in moveslot 1.
    • Fixed Power attacks like Seismic Toss or Super Fang are counted as "attacks" and can be called in moveslot 1, however they are considered "typeless" attacks for later checks (i.e. theoretically Dusknoir could get both Night Shade in moveslot 1 and Shadow Sneak later on without violating any same-type attack rules. Night Shade is not considered ghost-type, and Shadow Sneak isn't even considered an attack!).
    • Retaliatory moves like Counter are not "attacks" and cannot be called in moveslot 1.
    • Multi-hit attacks are counted as "attacks" because I'm pretty sure they'd only even be in a movepool if they were strong enough. i.e. Bullet Seed is not in ADV movepools, but it is in BW movepools.
    • Some esoteric moves:
      • Pursuit is counted as 40 BP (could be persuaded to say 80, but 40 will decrease its prevalence slightly which is probably preferred for matchup issues)
      • Payback is counted as 100 BP, since it's most often used on slow Pokemon
      • Weather Ball counts as 100 BP (yay Castform)
      • Acrobatics counts as 110 BP
      • Draining Kiss counts as an "attack" even though it's low because of the combined effects of insane 75% healing and being Comfey's only good STAB, which also has priority. All Comfey should get Kiss.
Move 2:
  • If move 1 was a move that requires a hard pair (and a possible paired move is also in the movepool, which it should be), then a hard paired move
  • If move 1 was not a move that requires a hard pair or the paired move is not also in the movepool, then any other move from the movepool, except for another attack of the same type as move 1
Move 3:
  • If move 2 was a move that requires a hard pair (and a possible paired move is also in the movepool, which it should be), then a hard paired move
  • If move 2 was not a move that requires a hard pair or the paired move is not also in the movepool, then any other move from the movepool, except for another attack of the same type as move 1 or move 2
Move 4:
  • If move 3 was a move that requires a hard pair (and a possible paired move is also in the movepool, which it should be), then a hard paired move
  • If move 3 was not a move that requires a hard pair or the paired move is not also in the movepool, then:
    • if moves 2 and 3 are both attacks, then any other move from the movepool that does not require a hard pair, except for another attack of the same type as moves 2 or 3
    • if moves 2 and 3 are not both attacks, then any other move from the movepool that does not require a hard pair, except for another attack of the same type as moves 1, 2, or 3
Sets these rules would allow or not allow for some example Pokemon. The most complicated by far is the last one, since it has a boosting moves, a possible one-way required hard pairing, and multiple attacks of the same STAB

Torkoal:
Flamethrower, HP Grass, Explosion, Fire Blast - allowed
Flamethrower, HP Grass, Yawn, Fire Blast - not allowed
Flamethrower, HP Grass, Explosion, Yawn - allowed
Flamethrower, Rest, Explosion, HP Grass - not allowed
Flamethrower, Rest, Sleep Talk, HP Grass - allowed
Flamethrower, Rest, Sleep Talk, Fire Blast - not allowed

Gardevoir:
Psychic, almost any other 3 moves
Almost any move set from its movepool is currently legal by my proposed rules, so long as it has Psychic, since its movepool does not contain any examples of duplicated attacking types. The only requirement is if it pulls Wish or Protect it must get the other one.

Dragonite:
HP Flying, almost any other 3 moves
HP Flying is required, since it's the only STAB. There's two other restrictions as well. The only no-go is both Fire Blast and Flamethrower, since Dragonite is not a Fire type and this isn't specifically duplication of a STAB. In addition, if Dragon Dance is picked, it will require a second physical attack to be selected, since it's agnostic to the fact that HP Flying was selected in moveslot 1. So Dragon Dance has to followed by a physical attack like Earthquake, for example

Houndoom:
Crunch, Fire Blast, HP Grass, Pursuit - allowed
Crunch, Fire Blast, HP Grass, Flamethrower - not allowed... however...
Fire Blast, Crunch, HP Grass, Flamethrower - allowed so long as they get selected in this order. Since Crunch vs Fire Blast getting picked first is an even chance, this shouldn't bias anything for dual typed pokemon that have 2+ options for both STABs in their movepool.
Crunch, Fire Blast, Will-O-Wisp, Pursuit - allowed. Even though the first 3 moves weren't all attacks, Houndoom can still get Pursuit as the 4th move because Pursuit is not an "attack" since it's considered to be only 40 BP.
Crunch, Fire Blast, Will-O-Wisp, HP Grass - allowed.

Kyogre:
Surf, Ice Beam, Thunder, Water Spout - allowed
Surf, Ice Beam, Calm Mind, Water Spout - not allowed
Surf, Ice Beam, Calm Mind, Thunder - allowed
Surf, Ice Beam, Water Spout, Hydro Pump - not allowed. Triple STAB will never be possible with these rules.

Salamence:
HP Flying, Dragon Dance, Earthquake, Fire Blast - allowed
HP Flying, Dragon Dance, HP Flying, Earthquake - "allowed" but obviously not OK to duplicate HP Flying. So there has to be a check as well that HP Flying isn't "allowed" as a move even though it's in the legal Dragon Dance -> hard pair list.
Dragon Claw, Dragon Dance, HP Flying, Earthquake - allowed
Dragon Claw, Fire Blast, Hydro Pump, Dragon Dance - not allowed

Victreebel (assuming Solarbeam requires Sunny Day, but Sunny Day does not require Solarbeam):
Solarbeam, Sunny Day, HP Fire, Sludge Bomb - allowed
Solarbeam, Sunny Day, Sleep Powder, HP Fire - allowed
Solarbeam, Sunny Day, HP Fire, Giga Drain - not allowed. Giga Drain conflicts with the earlier selection of Solarbeam. As a result, no set will ever have both Giga Drain and Solar Beam, since Solarbeam requires a non-attacking move in Sunny Day and Giga Drain can only get pulled in as a second stab if all 4 moves are attacks. The order does not matter... see another possible ordered attempt at the same set:
Giga Drain, Sunny Day, Solarbeam, HP Fire - not allowed. Sunny Day does not require Solarbeam and Solarbeam conflicts with the earlier selection of Giga Drain. For Solarbeam to get pulled after Giga Drain has been pulled, it would have to get pulled 4th, but it can't get pulled 4th, since moves that require a hard pair like Solarbeam requiring Sunny Day can't get pulled 4th.
Giga Drain, HP Fire, Sludge Bomb, Sunny Day - allowed (Sunny Day does not require Solarbeam, so it's perfectly fine to get selected 2-4 without Solarbeam following)
Giga Drain, Sleep Powder, Sludge Bomb, Swords Dance - not allowed. Swords Dance can't get pulled 4th, since it requires a hard paired physical attack to get pulled after it. However...
Giga Drain, Synthesis, Swords Dance, Sludge Bomb - allowed
Giga Drain, HP Fire, Swords Dance, Sludge Bomb - allowed
Giga Drain, HP Fire, Swords Dance, HP Ground - "allowed" except that HP Fire and HP Ground together is impossible. Need to consider all HP the same move for movepool selection, which I'm sure randbats already does!

Victreebel has only 5 attacks, 2 of which are Hidden Power, meaning it really only has 4 distinct attacks. And in this scenario, Victreebel can't ever have both Giga Drain and Solarbeam. That means you know that Victreebel will always have at least one supportive move, which could be Sleep Powder, Sunny Day, Swords Dance, or Synthesis. I don't think this is a bad thing, though because a Pokemon with as limited attacking options and good supporting options as Vic would likely never run 4 attacks in real matches anyway.
 
Last edited:
I made a pull request for updates, fixes, double stabs, clutter, and all sorts of things. That can be seen here.

I somehow missed Bughouse's post, so that req was made without looking at it at all, but the req can always be edited.

I'm not sure Focus Punch really requires sub. There are a number of Pokemon in ADV that sometimes run unprotected Focus Punch in their respective tiers, especially (but not exclusively) on CB sets. Just some examples that come to mind are: Tyranitar, Heracross, Snorlax, Swampert, Medicham, Aggron, Muk, Kangaskhan, Sudowoodo, and Kecleon. A lot of these Pokemon either don't have another fighting option or their other fighting option doesn't hit the target nearly hard enough to be worth it without Focus Punch's power. Brick Break is literally half as strong.

This is often largely target to blissey (who is no more common here than any other Pokemon). also, consistent, reliable damage is really valuable in rands, so I'm generally not super on board with this. Ttar, Snorlax, Swampert, and Muk I would particularly say have better things to do than focus punching, sub or not. aggron i decisvely want to have sub anyway. hera's and medi's brick breaks are already strong with stab, so if we are also including focus punch, i'd want to go all the way and have sub too (this is how the movesets currently are). otherwise it's a diminished return compared to unstabbed brick break v unstabbed focus punch. The last three would be the most persuasive for me. kanga could have brick break replaced with focus punch because eq is already there. sudowoodo, all other attacks are risky buttons so i'd rather break be the only one, but i mean i may be overvaluing sweeper sudowoodo's ability to click buttons more than 4 times in a match before its inevitable demise. kecleon i'm totally on board with giving fp over brick break.

I also don't think Protect BP-less Ninjask is egregious. It still can be useful for toxic stall, to outrun something that has used Dragon Dance or Agility, scout CB pokemon, etc. The only issues here that I'd work on would be double stab and maaaaaybe fake out + bulk up or similar sets on other mons with fake out. But this is a reasonably small set of pokemon in the first place, so I wouldn't prioritize it.
Ninjask doesn't currently have toxic, and with how many mons in this format already have toxic, i'd rather not bring toxic in since ninjask is totally fine without it

But I would definitely prioritize the double STAB. That Torkoal example with just Flamethrower and Fire Blast should definitely be avoided if possible, but I would not wholly prohibit any situation where 2 attacks of the same type can be given together. True you can just remove the other STAB from the movepool, but I don't think this is a good idea. Some amount of unpredictability about the strength of a STAB attack is a good thing. If the opponent always knows Torkoal has Fire Blast or Flamethrower, they can act accordingly. That's not ideal.
We've tried lots of stuff to stop double STAB and it hasn't worked, so I've mostly gone the remove route in the pullreq. Also whether torkoal has fire blast or flamethrower doesn't change how an opponent reacts so much, they're both moderately strong fire damage with 10% burn chance. where I really see this idea applying is return v. body slam. But again, efforts to stop double stab havent really worked.

I think it would be best if it allowed a second attack to be given of the same attacking type as a previous attack IF the Pokemon would be receiving its 4th attacking move, so it still has 3 distinct attacking types in that circumstance. There are lots of real examples of Pokemon using this type of movepool on pokemon with 4 attacks, so I don't think it should be a strict enforcement of never having 2 attacks of the same type.
For stuff where this really makes a difference like volt tackle/tbolt raichu and surf/spout kyogre, i kept the double stab intact. i wouldn't want fire blast+flamethrower houndoom to be a set that is generated ever anyway. wisp pursuit and hp grass each provide much more util than that second fire move

but if Sub Punch Dragonite is causing issues
it's really fringe anyway, dd, 4 attack, and healbell/twave sets are still better. something like "if fp+sub, only pick sub if fp already picked" might be theoretically optimal, but id kill it on dragonite anyway, so idk who it would be applicable to particularly.

for the logic things, afaik we do most of that already, but moveset gen can be forced to accept a logic-rule-breaking moveset if all other moves are eliminated from consideration. pinging The Immortal and HoeenHero in case they want to say anything about this.
 
Back
Top