Commit Graph

929 Commits

Author SHA1 Message Date
urkerab
69012290e3 Remove unnecessary format parameter to randomTeam (#2590) 2016-06-17 12:25:37 +04:00
Kevin Lau
df66184dad Random Battle: Reject Hidden Power with Rest (#2585)
Affects Roserade, since if it has Rest it prefers Natural Cure over
Technician as an ability and thus Hidden Power will be too weak.
2016-06-16 05:02:08 +04:00
Juanma Serrano
ded5df548c Seasonal: Remove CAP and add Pelipper ability 2016-06-05 19:13:57 +02:00
Juanma Serrano
d6fb82af55 Add June Seasonal, June Jubilee: Revenge 2016-06-05 18:43:59 +02:00
urkerab
be0f9d3be2 Show ability activation when it causes an immunity (#2555)
- Also improve `trySetStatus` and `moveHit` implementations
2016-05-22 18:44:54 -04:00
The Immortal
c1af24faff Random Battle: Improve NFE Pokemon 2016-05-23 02:27:55 +04:00
The Immortal
e44d406cbb Scripts: Use Array#includes 2016-05-23 02:07:35 +04:00
Ivo Julca
89f7cb1951 Fix up Battle Factory after a876232d 2016-05-17 05:37:30 -05:00
The Immortal
a876232d33 Update random team generators
- Remove `randomMonotypeTeam` and use `randomTeam` for Monotype Random
Battle. This prevents having to maintain two functions, in addition to
removing duplicate code.
- Improve Monotype teams by preventing more than one of the same type
combination.
- Remove no longer needed Pichu-Spiky-eared check from
`randomDoublesTeam`.
2016-05-17 00:30:40 +04:00
The Immortal
92515e9b8b Random Battle: Adjust Meowstic rate 2016-05-05 22:12:42 +04:00
urkerab
68af97f71d Always use Object.values(template.abilities) (#2543) 2016-05-02 12:18:40 -07:00
Juanma Serrano
0b229ba7d5 Random Doubles Battle: Remove Slaking
While Slaking has a gimmick use with skill swap, gastro acid, simple ray, etc., in this random format it makes a battle basically a 5v6 battle, where you can Protect on its loafing around turns or make it switch, lowering offensive pressure and receiving more damage.
2016-05-01 21:26:35 +02:00
The Immortal
046b8df3d4 Add AfterMega event
This is a useful event that prevents the need for mods in several OMs.
2016-05-01 20:37:23 +04:00
The Immortal
45b4d937c3 Random Battle: Remove SolarBeam if Sunny Day is rejected 2016-04-27 14:51:02 +04:00
Kevin Lau
108c77e00d Random Battle: Various sun-related fixes (#2536)
* Random Battle: Don't reject Swords Dance with no-sun Growth

This will allow Growth to be rejected first. Affects Victreebel.

* Implement fastPop function

fastPop is a generalization of sampleNoReplace. While sampleNoReplace
removes a random element from the array without regard to order, fastPop
allows for a specific element to be removed. This speeds up the removal of
items from the move pool in random battles in situations where it is
needed.

* Random Battle: Remove Weather Ball from pool if Sunny Day is rejected
2016-04-27 03:03:44 +04:00
Ivo Julca
22779102cc Lint: Add miscellaneous extra rules
Among the newly added rules, there are quite a few intended to enforce
compliance of CONTRIBUTING.md-blessed idioms, as well as ensure
safe usage of classes and constant bindings.

We are also now enforcing usage of early return in commands.js,
which has 100% compliance as of fd2c45c.
2016-04-25 21:52:21 -05:00
Kevin Lau
99e1cc04f0 Random Battle: Explosion should not be the only STAB
Affects Glalie-Mega.
2016-04-22 00:33:16 +03:00
mizdra
f262d02c42 Fix recoil in Gen 3-4 (#2461)
* Fix the 1/3 recoil moves in Gen 3-4
* Fix rounding recoil in Gen 3-4
2016-04-18 16:26:54 -04:00
cadaeic
9a4a6f707b Implement Triple Kick multiple accuracy checks (#2495)
* Implement Triple Kick multiple accuracy checks

* Implement Triple Kick multiple accuracy checks
2016-04-10 14:29:23 -07:00
The Immortal
514ac92d7f Random Battle: Improve Dunsparce 2016-04-11 00:57:57 +04:00
Juanma Serrano
067dd4db14 Remove OM of the Decade 2016-04-02 13:39:39 +02:00
Bär Halberkamp
0a3a65ee9e Fix shitmons 2016-04-01 14:19:50 +02:00
Juanma Serrano
7b48c14579 OMotD: Fix typo 2016-04-01 13:59:34 +02:00
Juanma Serrano
9349b8e7f5 Implement new OMs of the Decade 2016-04-01 13:55:14 +02:00
The Immortal
a8776fdb45 Random Battle: Prevent Psychic and Psyshock together 2016-03-19 07:07:22 +04:00
Ivo Julca
0281176fd1 Remove usage of Array|Object methods implemented by Sugar.js
Adds a dependency to shim Object.values until it's natively available.
2016-03-09 16:55:34 -05:00
Ivo Julca
23573646de Fix information leak in random formats 2016-03-04 19:46:25 -05:00
Quite Quiet
20877368a3 Pass list of hit targets with [spread] 2016-03-03 22:57:11 +01:00
Quite Quiet
7a14a8f547 Notify client when a move is a spread move 2016-03-02 10:42:09 +01:00
Juanma Serrano
b88cf8fb7c Seasonal update
Improve Grappling Hook and add a move for Summer
2016-03-02 09:55:13 +01:00
Juanma Serrano
c92f87993f Implement March Seasonal, Dimension Doom 2016-02-29 14:44:51 +01:00
The Immortal
5047fda6fc Random Battle improvements 2016-02-28 00:35:15 +04:00
The Immortal
9e16f45902 Random Battle updates
- Improve Flying types by making sure they have a second STAB if they
need it
- Revert bf0af09d7c and instead hardcode
the moveset modification for Aggron; Autotomize does have a benefit
with Heavy Slam
2016-02-27 03:24:51 +04:00
The Immortal
2b02f1ee2e Random Battle: Prevent Trick with setup 2016-02-17 18:06:37 +04:00
The Immortal
00ea930a93 CC: Fix Smeargle having CAP moves 2016-02-16 18:20:35 +04:00
The Immortal
ab7eb70c44 Random Battle: Add minimum SpD for Assault Vest
Fixes #2424
2016-02-16 16:42:00 +04:00
Guangcong Luo
76dd4a586f Remove unused isSetup variable 2016-02-16 01:08:55 -05:00
Guangcong Luo
b665660608 Refactor for more ES6 features
Now that nodejs/node#3072 is mostly fixed, we can finally start using
Node 4+ features.

This refactor:

- uses arrow functions where appropriate

  Note that arrow functions still aren't used in Mocha, where `this`
  is sometimes meaningful.

  This also removes the need for .bind() nearly everywhere, as well
  as the `self = this` trick.

- refactors Validator and Connection into ES6 classes

- no longer uses Array#forEach for iterating arrays

  We strongly prefer for (let i = 0; i < arr.length; i++) because of
  performance reasons. Most forEaches have been replaced with for..of,
  though, which is 5x slower than the long-form loop but 2x faster
  than forEach, which is good enough outside of most inner loops.

  The only exception is tournaments, which is due for a more invasive
  refactor soon anyway.
2016-02-10 17:40:21 -06:00
The Immortal
477d11c906 Random Battle: Improve Lucario 2016-02-08 01:30:32 +04:00
Guangcong Luo
8a8838552d Improve crashlogger
Crashlogger now supports passing in a dictionary of additional
information to report, so we no longer need to resort to making fake
errors.

The hadException parameter has now been removed entirely. I don't know
of a use case for it to be false.
2016-02-04 03:04:05 -06:00
Marty-D
4c8ab041ce Fix Protean interaction with Toxic 2016-01-20 21:05:49 -05:00
Guangcong Luo
85ddb7dddb Fix Pressure PP deduction
It was deducting PP for called moves and second turns of two-turn moves.
2016-01-19 20:01:09 -05:00
Guangcong Luo
f3d10c0122 Merge pull request #2368 from urkerab/sample-no-replace
Simplify sampleNoReplace function
2016-01-13 20:11:45 -08:00
urkerab
4a5b7f6c88 Simplify sampleNoReplace function 2016-01-14 01:06:16 +00:00
Kevin Lau
3de25827cb Random Battle: Reject Tinted Lens without variable-damage attacks 2016-01-11 21:37:24 -08:00
The Immortal
8e868eba9d CC: Fix Rotom formes and Pumpkaboo-Super 2016-01-11 19:10:50 +04:00
The Immortal
7b2c60c536 Random Battle: Prevent Trick with Sucker Punch
Affects Zoroark.
2016-01-11 09:17:44 +04:00
Kevin Lau
17bbc24027 Seasonal: Reduce number of Pokemon 4x weak to Ice 2016-01-05 20:28:53 -08:00
Kevin Lau
f8e881a416 Implement January Seasonal, Polar Opposites
Mono-Ice, Inverse Battles.
2016-01-04 14:17:51 -08:00
Guangcong Luo
78db0952e8 Fix bug with formes in random battles 2016-01-04 12:37:36 -05:00