Commit Graph

637 Commits

Author SHA1 Message Date
Juanma Serrano
b07966fd7f Super Staff Bros.: Balance and fix patch
Fix a typo in bloobblob's faint sentence.
chaos's move should not be bounceable.
Update Goddess Briyella's move: change name and animation.
Update Beowulf's moveset, make Spiky Shield mandatory.
Update Legitimate Username's moveset.
Update Queez, he's now a moderator.
2015-03-10 09:38:02 +01:00
The Immortal
66f32b8a39 Random Battle: Add more custom levels
Ninetales and Politoed are in PU because Drought and Drizzle are banned
in UU. Slightly lowered their levels.
2015-03-10 02:08:13 +04:00
Juanma Serrano
98981a774e Super Staff Bros.: Fix style on Morfent
Moves are added through ids.
Also acid armor was wrong.
2015-03-09 16:12:22 +01:00
Juanma Serrano
4ab80e0cfd Implement new Seasonal, Super Staff Bros.
This Seasonal is a joined effort of the whole staff team.
It contains over 100 custom sets and moves, allowing users to play the whole month and still find new things.
For format editing purposes, let it be noted that the Seasonal starts on line 348 and ends on line 3211 on formats.js as of this commit.

While I'm making the final commit to the master repository, let it be noted that this huge code is a joined effort of some members of the staff.
Special thanks to people who have worked on this code, without whose contributions this Seasonal couldn't have been finished for this month:
@ascriptmaster @cadaeic @Slayer95 @TheImmortal @xfix

More information for this special format can be found here:
http://www.smogon.com/forums/threads/3491902/page-6#post-6093168
2015-03-09 11:07:50 +01:00
Juanma Serrano
a158cdfcee Remove February Seasonal, Han vs Hun 2015-03-09 11:07:50 +01:00
Kevin Lau
c75b0db6fa Random Battle: Fix Baton Pass check
It would not reject Baton Pass if the Pokemon did not have Speed Boost.
2015-03-09 00:53:49 -07:00
The Immortal
dc7d170858 Random Battle: Reject Sucker Punch with Foul Play
Foul Play is rejected with setup already.
2015-03-08 22:05:24 +04:00
The Immortal
88e09b03d5 Merge pull request #1602 from ascriptmaster/randoms
Random Double Battle: Update Feint usage on Pokemon
2015-03-08 15:24:18 +04:00
Kevin Lau
505821e103 Random Double Battle: Update Feint usage on Pokemon
- Removed it from Pokemon that are too weak to use it.
- Reject Feint with Fake Out (for Persian).
- Update move checking to not count single hit moves with 30 base power as
  damaging moves.
2015-03-08 00:57:22 -08:00
The Immortal
ef59084e6c Random Battle: Prevent Choice Specs with Acid Spray 2015-03-07 23:31:44 +04:00
The Immortal
c052031408 Random Battle: Change e4ae003f54 2015-03-07 15:52:15 +04:00
The Immortal
16d0655f0a Merge pull request #1597 from ascriptmaster/randoms
Random Battle: Enforce two damaging moves with Trick/Switcheroo
2015-03-07 14:29:58 +04:00
Kevin Lau
e4ae003f54 Random Battle: Enforce two damaging moves with Trick/Switcheroo
Mostly affects Rotom formes.
2015-03-07 00:44:38 -08:00
The Immortal
12bc11c894 Merge pull request #1594 from ascriptmaster/randoms
Random Doubles Battle: Improve move rejection with one attacking move
2015-03-06 22:10:37 +04:00
Kevin Lau
b1cf0f7f5f Random Doubles Battle: Improve move rejection with one attacking move
It now uses the same rules as Random Battle (Singles).
2015-03-06 09:51:46 -08:00
The Immortal
18892c8612 Merge pull request #1592 from ascriptmaster/randoms
Random Battle: Improve readability of ability checks
2015-03-06 13:43:38 +04:00
Kevin Lau
3a85f2246d Random Battle: Improve readability of ability checks
Added a new variable hasAbility that keeps track of all available
abilities on a Pokemon, reducing the verbosity of ability checks
within the move rejection stage of the algorithm.

Also, change the Solarbeam check to look for Drought directly.
2015-03-06 01:22:20 -08:00
The Immortal
fd075c217d Random Battle: Improve Focus Sash selection on leads
Vaporeon with 285 shouldn't get it. Dragonite is 286 so checking for
Multiscale is unnecessary now.
2015-03-06 12:09:25 +04:00
Marty-D
00e316c085 Fix Pursuit potentially running multiple times
- Previously, a Pokemon unable to execute Pursuit against a slower
target would attempt to execute Pursuit again should its target switch
out with U-turn, Volt Switch, or Parting Shot, which would run two sleep
checks, freeze checks, etc.
2015-03-05 20:19:17 -05:00
Kevin Lau
74fc197f99 Random Battle: Update Baton Pass conditions, modify movesets
- Accept Baton Pass with Wish, speed setup, Pokemon with Speed Boost.
- Removed Baton Pass from Glaceon in favor if Wish and Protect.
- Removed Agility from Emolga since it doesn't need it; added Encore.
2015-03-04 12:05:20 -08:00
The Immortal
70328ef13a Merge pull request #1580 from ascriptmaster/randoms
Random Battle: Do not reject setup with Rest+Sleep Talk
2015-03-04 03:34:24 +04:00
The Immortal
905c465ab5 Random Battle: Update SetupException
U-turn and Volt Switch are rejected with setup so it doesn't make sense
that they are in SetupException.
2015-03-04 03:32:39 +04:00
Kevin Lau
0d73a390ba Random Battle: Do not reject setup with Rest+Sleep Talk
Setup + Rest + Sleep Talk + Attack is an acceptable combination.
2015-03-03 15:05:10 -08:00
The Immortal
72b55f127a Random Battle: Reject Heal Bell with speed setup
Speed setup needs attacking moves or another setup move or even
recovery/substitute.
2015-03-04 00:47:06 +04:00
The Immortal
8c62c58510 Random Battle updates
- Try to improve Spiritomb by giving it Calm Mind as an option
- Prevent Shadow Sneak with RestTalk
- Prevent Storm Throw with Circle Throw in some cases
- Reject Rest if the Pokemon does not have Sleep Talk but has it in its
move pool (Pokemon with RestTalk are designed to use both and not just
Rest)
- Combine setup checks and allow a single attack with setup only if the
Pokemon has RestTalk
2015-03-03 23:58:15 +04:00
The Immortal
ccb62ff03a Random Battle: Prevent multiple STABs on Arceus 2015-03-02 22:00:07 +04:00
The Immortal
077a74c50e Random Battle: Prevent Rain Dance + Circle Throw on Poliwrath 2015-02-28 21:15:51 +04:00
The Immortal
eeee8a4936 Random Battle: Allow Focus Sash on lead Deoxys-Attack with Stealth Rock 2015-02-28 19:13:11 +04:00
The Immortal
9d349a093e Random Battle: Prevent Focus Sash on Regenerator
Also fixed Weakness Policy check so Metagross gets it.
2015-02-28 15:32:56 +04:00
Kevin Lau
0ba58fe9c1 Random Battle: Count Normal moves as STAB for all -ate mons
Just like the recent change to make Protean count all moves as STAB, do
the same with -ate abilities and Normal moves.

Manually include Nature Power as a damaging move since it becomes Tri
Attack. Its placement lets it automatically increment the -ate counter as
well.
2015-02-28 02:24:36 -08:00
The Immortal
619454d46e Random Doubles: Update Unburden item check to match singles
Fixes #1564
2015-02-28 09:28:06 +04:00
Quinton Lee
302d5e5f2b Remove trailing whitespace from e4ca1a721b 2015-02-27 22:12:06 -06:00
The Immortal
e4ca1a721b Fix Struggle in Hackmons CC
https://github.com/Zarel/Pokemon-Showdown/blob/master/battle-engine.js#L3985
2015-02-28 03:11:44 +04:00
The Immortal
1a79ddb045 Random Battle updates
- Do not count Fake Out as STAB because it can only be used once per
switch-in
- Protean means the Pokemon always has STAB and shouldn't get any move
removed in post-processing
- Prevent too many Dark-type moves
2015-02-28 02:04:08 +04:00
The Immortal
6d747f7921 Random Battle: Rapid Spin users prefer Assault Vest
rather than Life Orb or Expert Belt
2015-02-27 20:58:57 +04:00
The Immortal
582a794dbe Random Battle: Give offensive Protect users Life Orb
Speed Boost Blaziken/Sharpedo should not get Leftovers with Protect if
they have 3 attacking moves.
2015-02-27 01:40:29 +04:00
The Immortal
b1c39356af Random Battle: Prevent Rain Dance and Sunny Day together
Affects Castform.
2015-02-27 00:23:00 +04:00
The Immortal
e3ef841a98 Random Battle: Give Deoxys-Attack Life Orb
It currently gets Leftovers if it has Stealth Rock, and has a chance of
getting Expert Belt as well, but it should never get any other item. It
is a special case because there isn't a glass cannon as extreme as this.
2015-02-24 19:03:45 +04:00
The Immortal
499364050e Few Random Battle updates
- Prevent too many Dark-type moves
- Modify custom levels
2015-02-23 19:50:22 +04:00
The Immortal
d4917938ce Random Battle: Increase Aegislash's level 2015-02-23 05:16:37 +04:00
The Immortal
9a0820a95f Merge pull request #1555 from ascriptmaster/randoms
Random Battle: Don't count Rapid Spin as a Technician move
2015-02-23 04:43:48 +04:00
The Immortal
ab4fe73c9c Random Battle: Do not count Quick Attack as STAB
It is not acceptable as the only STAB move because it is a 40 base power
Normal-type attack... No Normal-type Technician gets it either, unlike
other priority moves.
2015-02-23 04:42:17 +04:00
Kevin Lau
6c291a3051 Random Battle: Don't count Rapid Spin as a Technician move
Affects Hitmontop, since if its only Technician move is Rapid Spin it'd
much rather prefer Intimidate as an ability.
2015-02-22 15:49:20 -08:00
The Immortal
f500da9767 Random Battle: Give Leftovers to Clear Smog users
It's used on defensive Pokemon that shouldn't get Life Orb, Choice or
Expert Belt. Also removed checks that where added because of the old
Weakness Policy selection.
2015-02-23 01:15:32 +04:00
The Immortal
c32666c178 Random Battle: Move Multiscale check
The previous one doesn't apply to Dragonite or Lugia. This prevents
Focus Sash Lugia if it is your first Pokemon.

Also moved the low priority Black Sludge selection above Leftovers for
the case of Poison/Flying Pokemon.
2015-02-22 14:04:40 +04:00
The Immortal
4f50a7de2d Merge pull request #1552 from ascriptmaster/randoms
Random Battles: Move rejection updates
2015-02-22 13:58:17 +04:00
Kevin Lau
684261287e Random Battles: Move rejection updates
- Reject Trick/Switcheroo with Acrobatics so that the Pokemon can properly
  receive Flying Gem
- Reject Rapid Spin with setup
- Do not reject Knock Off with setup
2015-02-22 00:37:26 -08:00
The Immortal
9b5aad7bdd Merge pull request #1550 from ascriptmaster/randoms
Random Battle: Item Updates
2015-02-22 02:13:15 +04:00
Kevin Lau
6b3fbb342a Random Battle: Item Updates
- Prevent Focus Sash and Life Orb with Multiscale.
- Add Custap Berry as a low-priority item for Sturdy + Explosion
2015-02-21 14:04:23 -08:00
The Immortal
e51a210571 Random Battle: Prevent three Electric attacks 2015-02-21 20:24:57 +04:00
The Immortal
15f1689117 Random Battle: Remove Technician check added in 5feb725a58 2015-02-21 14:13:30 +04:00
The Immortal
68379309ad Merge pull request #1542 from ascriptmaster/randoms
Random Doubles Battle: Update Movesets
2015-02-21 03:58:58 +04:00
Kevin Lau
61ce18abcc Random Doubles Battle: Update Movesets
Mostly Gen 1-2 Pokemon were changed.

Added Moonblast where the usage stats were indicating that it was as
commonly used than Dazzling Gleam in Doubles. Reject Moonblast with
Dazzling Gleam.

Reject Return with Double Hit (for Ambipom).

Reject Power Split with Guard Split (for Shuckle).

Reject Acid Spray with Sludge Bomb (for Tentacruel).

Pokemon with Focus Energy have Scope Lens.

Aeroblast is now considered STAB.
2015-02-20 15:55:19 -08:00
The Immortal
5feb725a58 Random Battle updates
- Reject Body Slam instead of Glare (so Dunsparce has a higher chance of
getting Glare + Headbutt rather than Body Slam + Headbutt)
- Reject Substitute with Taunt
- Update moves that are unacceptable as the only attacking move
- STAB is required for almost every mono-attacking case, exception is
that Fairy is allowed for Psychic types and Ice is allowed for certain
Normal types
- Always give Sylveon Hyper Voice
2015-02-21 03:12:04 +04:00
The Immortal
587cc30238 Random Battle: Reject Glare with Body Slam 2015-02-20 16:34:18 +04:00
The Immortal
5ae1ea63a7 Random Battle: Remove custom level for Mega Salamence
It is strong in Ubers, much like Gengar.
2015-02-20 15:42:39 +04:00
The Immortal
6367f2ff87 Random Battle: Few changes
- Cacturne is too slow to ever make use of Destiny Bond
- Prevent Choice with Charge Beam
- Updated custom levels
2015-02-20 15:24:08 +04:00
Guangcong Luo
b341a4d830 Merge pull request #1531 from Slayer95/randbats-3-moves
Randbats: fix incomplete movesets
2015-02-19 19:53:21 -06:00
The Immortal
c557c4565c Random Battle updates
- Slurpuff gets Drain Punch in ORAS
- Update Kecleon's moves (old moves for Color Change are irrelevant)
- Update items with Unburden
2015-02-20 02:47:00 +04:00
Ivo Julca
7cb4a4913f Randbats: only reject moves if there are enough remaining moves
This fixes for real the issue of Pokémon with multiple viable Hidden Powers getting less than four moves sometimes.
2015-02-19 17:11:49 -05:00
Ivo Julca
369a74abe3 Random Battle: properly track chosen moves 2015-02-19 16:58:03 -05:00
The Immortal
58d74807f7 Merge pull request #1539 from ascriptmaster/randoms
Random Battle: Refactor STAB Move Checks
2015-02-19 15:21:45 +04:00
Kevin Lau
1a5f1a4eff Random Battle: Refactor STAB Move Checks
The current variables in place to check for STAB do not work as intended.
If a Pokemon has two STAB moves of the same type, and one of them is set
as a move that shouldn't be counted as STAB, the Pokemon will be counted
as not having STAB. Since nothing in the code checks for Pokemon having
STAB of a specific type, it is refactored to be a boolean instead.

In order to avoid a situation where a move like Infestation sets the STAB
variable to true when it doesn't count as a damaging move, these kinds of
moves no longer increment counters for abilities that boost damage, like
Adaptability.
2015-02-18 20:03:49 -08:00
The Immortal
c9eadece1a Random Battle: Increase non-mega Lopunny's level 2015-02-19 01:17:02 +04:00
The Immortal
6e981e090d Merge pull request #1535 from ascriptmaster/randoms
Random Battle: Update Unfezant
2015-02-18 23:42:03 +04:00
Kevin Lau
ae80be8cf0 Random Battle: Update Unfezant
- Force Super Luck on Unfezant (it has a 33% chance of getting Big Pecks)
- Force Scope Lens on Unfezants with enough attacking moves
- Give Unfezant Night Slash
- Replace Wish with Roost in Doubles
2015-02-18 11:39:46 -08:00
The Immortal
9115982978 Random Battle: Reject speed setup without enough attacking moves
Also, not sure why Baton Pass was prevented with Trick. I can't remember
why I added that because it was probably long ago.
2015-02-18 22:50:38 +04:00
The Immortal
a9723181fa Random Battle: Update item for Eruption / Water Spout
It already gets Choice Scarf/Specs from the check above if it has no
status moves.
2015-02-18 21:51:58 +04:00
The Immortal
e2beae32b9 Random Battle updates
- Reject Water Spout and Eruption with setup or RestTalk
- Allow Origin Pulse with RestTalk
- Give Extremespeed users and Sucker Punch users without STAB Life Orb
instead of Expert Belt
- Prevent Life Orb with Dragon Tail
- Low priority: give Leftovers to Pokemon weak to Stealth Rock
2015-02-18 21:37:45 +04:00
Kevin Lau
ecb82454fa Random Battle: Add Scope Lens to Super Luck Pokemon (low-priority)
Super Luck + Scope Lens gives a 50% chance of crit, but isn't a very high
priority since a consistent damage boost from a Choice item can be a
better pick.
2015-02-16 22:58:29 -08:00
The Immortal
c34ec4b133 Random Battle: Reject Focus Blast with RestTalk 2015-02-16 17:51:25 +04:00
Kevin Lau
d46dbe58a0 Random Battle Updates
- Lumineon and Poliwrath have Storm Drain and Water Absorb respectively,
  which is always chosen over Swift Swim, so Rain Dance is unneccessary.
- Give Pokemon with Unburden a Focus Sash
- Give Unburden mons with stat-lowering moves a White Herb (specifically
  targets Sceptile)
2015-02-16 01:20:36 -08:00
Ivo Julca
5b689c0eb0 Random Battle: ensure max IVs for sets without Hidden Power 2015-02-15 18:45:44 -05:00
The Immortal
f126ce9e50 Random Battle: Prevent RestTalk + Rain Dance/Sunny Day 2015-02-15 22:05:34 +04:00
The Immortal
71fc094d36 Forgot this in the previous commit 2015-02-15 21:57:30 +04:00
The Immortal
15fbafeb2f Random Battle updates
- Added speedsetup counter
- Improve Weakness Policy selection (might give it to more than just
speedsetup later on but this is much better than the previous
implementation that gave it to very bad sets)
- Added Lustrous Orb as a low priority option for Palkia
- Slightly increased defensive requirement of Assault Vest
2015-02-15 21:23:24 +04:00
The Immortal
85f7d4c172 Random Battle: Reject Explosion with Wish
Affects Lickilicky.
2015-02-15 15:43:53 +04:00
Ivo Julca
b810465c97 Sync parameters for randomSet functions 2015-02-15 01:05:03 -05:00
Ivo Julca
1deedc5952 Improve performance and debuggability of random team makers
- 30% more op/s for randomTeam, randomDoublesTeam and randomCCTeam
- 300% more op/s for randomHackmonsCCTeam
- Implement helper method `sampleNoReplace`: takes an array parameter, removes a random element and returns it.
- Random team makers now follow the game RNG. Therefore, it's now possible to reconstruct the teambuilding process for bad sets, given that the starting seed is known.
2015-02-14 23:22:27 -05:00
The Immortal
e7c74ca15f Random Battle: Fix Arceus having horrible sets 2015-02-15 01:56:45 +04:00
The Immortal
ab07e9b7a5 Random Battle updates
Went through all fully-evolved Pokemon and updated their moves. Also
removed illegal moves on several Pokemon...

- Added Superpower to SetupException
- Reject Water Pulse with Scald
- Reject Acrobatics with Hurricane
- Prevent Focus Blast and Superpower together
- Reject Physical moves with Acid Spray (only affects Eelektross)
- Do not reject Baton Pass with Protect
- Reject Healing Wish with setup
- Reject Hydro Pump with RestTalk
- Prevent Precipice Blades with Earthquake
2015-02-15 01:40:57 +04:00
The Immortal
1a76c6001b Random Battle: Reject Hidden Power as the only damaging move
It is only acceptable with STAB, such as Unown or Lunatone.
2015-02-13 16:39:25 +04:00
The Immortal
95d9df4611 Random Battle changes
Fixes #1524
- Modify Lumineon's moves; it is far too weak for Hidden Power to be
useful
- Add 5a131be906 to singles like I
originally meant to
2015-02-13 13:40:23 +04:00
The Immortal
5a131be906 Random Battle: Count Low Kick as a Technician move
Specifically affects Ambipom, who prefers Technician over Skill Link if
it doesn't have any multi-hit moves and has Low Kick.
2015-02-13 04:23:19 +04:00
Kevin Lau
f83bec30eb Random Battle: Improve Hidden Power checks
- In accepting Shadow Ball + HP Fighting, ensure that it's HP Fighting
  (relevant for Reuniclus, Chandelure, and Sylveon, which have Hidden
  Power that aren't Fighting)
- If Hidden Power changes the IVs but is later removed by another
  processing cycle, reset the IVs to 31 all
2015-02-12 16:10:41 -08:00
The Immortal
1087e1d3ee Random Battle: Fix Hidden Power check 2015-02-13 03:08:18 +04:00
The Immortal
85b0179d7b Random Battle changes
- Shadow Ball + HP Fighting is an acceptable combination with setup
- Slightly lower Regigigas' level
2015-02-13 00:06:26 +04:00
The Immortal
44478cb429 More Random Battle updates
- Fix multiple Flare Blitz cases
- Reject Substitute with Draco Meteor
2015-02-12 03:27:57 +04:00
The Immortal
496778bad5 Random Battle: Update items
- Add more cases for Leftovers
- Increase priority for Lum Berry with setup and Outrage
2015-02-12 03:10:05 +04:00
The Immortal
9447b46709 Improve Random Battle item selection
- Removed old check for "bulky" Pokemon as it would give Leftovers to
Pokemon that would prefer Life Orb or even Assault Vest. For example,
Kyurem-White and Goodra, respectively.
- If the Pokemon has three attacking moves, give Life Orb to those with
either setup or a recovery move, and give Leftovers to everything else.
2015-02-12 02:10:08 +04:00
The Immortal
4b2e43ce47 Random Battle: Reject Overheat with Lava Plume 2015-02-12 00:08:03 +04:00
The Immortal
56cf5d2257 Random Battle: Increase Altaria's level 2015-02-11 23:43:44 +04:00
The Immortal
e56dcd070c Random Battle updates
- Give Keldeo HP Flying instead of HP Ghost
- Reject Hidden Power if the Pokemon has a special setup move and only
one other special attack
- Dark/Fighting is resisted by Fairy this generation and isn't a
"perfect" combination anymore
2015-02-11 20:43:00 +04:00
The Immortal
9624888b79 Update Random Battle levels
Added AG and removed Mega Gengar custom level.
2015-02-10 16:18:18 +04:00
Kevin Lau
9921f2524b Random Doubles Battle Update
- Remove Feint from Pikachu/Raichu
- Replace Rock Blast with Rock Slide on Golem line
- Add Surf to Octillery
- Reject Strong Jaw without bite moves
- Update Iron Fist check to use the punch flag
- Give preference to Rock Slide over Head Smash
- Give preference to Discharge over Thunderbolt and Electroweb
2015-02-09 11:46:22 -08:00
The Immortal
ed3307a1af Update Random Battle
- Modify Tyrantrum's moves
- Add bite moves counter for Strong Jaw
- Use punch flag for ironfist counter
- Give preference to Stone Edge over Head Smash
2015-02-09 22:44:13 +04:00
Juanma Serrano
027357076b Merge pull request #1515 from ascriptmaster/seasonal
Seasonal: Remove Baton Pass
2015-02-09 09:17:14 +01:00
Kevin Lau
eecb0c80b2 Seasonal: Remove Baton Pass
With the way the Han Chinese side's morale system works, Baton Pass is
broken at high morale.
2015-02-08 15:59:55 -08:00
The Immortal
3a8e7c2613 Random Battle: Reject Unburden for high base speed Pokemon
Specifically affects Accelgor, who should never be using Unburden.
2015-02-09 02:02:22 +04:00
Juanma Serrano
7990e0a5f5 Merge pull request #1512 from ascriptmaster/seasonal
Seasonal: Nerf Han Chinese Side, Flavor Changes
2015-02-08 22:44:18 +01:00