Kris Johnson
06de38fe6d
STABmons: Fix Necrozma type inheriting ( #4214 )
2017-12-05 15:49:07 +08:00
Guangcong Luo
08d079037d
Pass source effect of switches to client
...
We are now tracking source effects for switch actions, if they're
initiated by effects such as U-turn or Baton Pass. This will lead
to better messages client-side.
2017-12-04 19:14:13 -06:00
Guangcong Luo
f3dbfbe685
Refactor Decision -> Action
...
"Decision" and "Choice" were always kind of unclear, so Decision is now
Action. It should now be a lot clearer.
Actions are also now strongly typed.
2017-12-02 11:34:55 -06:00
Marty-D
dc7c46b427
Update Ability-changing effects
...
Fixes #3230 , closes #3245
2017-12-02 11:37:36 -05:00
Guangcong Luo
f97ab41cb6
FIx bug
2017-12-02 10:19:18 -06:00
Guangcong Luo
70a5f3cf6d
Fix Pursuit KO canceling a switch in Gen 3
2017-12-02 08:27:44 -06:00
Guangcong Luo
1ac2745c3e
Refactor Pursuit hack
...
Pursuit no longer uses `moveThisTurn`, but rather `willMove`, which
involves significantly fewer Pursuit hacks.
2017-12-01 15:59:13 -06:00
Guangcong Luo
461706baa5
Correct Gen 2 faint mechanics
...
Described by Marty here:
https://www.smogon.com/forums/threads/gen-3-on-ps-final-fixes.3527268/#post-5989318
2017-12-01 15:59:03 -06:00
Guangcong Luo
ba9a41c669
Skip switches in gen 2-3 upon faint
2017-12-01 13:06:11 -06:00
Guangcong Luo
f4e535bbd6
Enforce consistent key spacing
...
This was previously not enforced because we used `:1` in too many
places, but those places seem to all be refactored out at this point.
2017-12-01 08:16:23 -06:00
Guangcong Luo
9bdf674d5f
Refactor more tables to arrays
...
See #4079
Now we're just missing oldgens.
2017-11-30 19:40:16 -06:00
Guangcong Luo
8473c3f4fa
Improve test engine
...
New functions:
battle.makeChoices([side 1], [side 2]);
Intended to be a replacement for the previous .choose/.commitDecisions
API.
If we can get all the test code on it, we can maybe finally actually
deprecate LEGACY_API_DO_NOT_USE.
It's now used in Healing Wish, where I think it makes a very readable
test.
2017-11-30 10:56:01 -06:00
Guangcong Luo
97d773226a
Support switching to pokemon by name
2017-11-30 10:56:01 -06:00
Guangcong Luo
80c9a7c5a1
Fix Healing Wish properly
...
Broken in #4120
2017-11-30 10:39:21 -06:00
urkerab
53ef680bcf
Put Rockruff-Dusk's template into the cache ( #4185 )
2017-11-26 10:02:46 -06:00
urkerab
aea93f25db
Fix set name in validation reasons ( #4181 )
2017-11-25 19:08:06 -06:00
CheeseMuffin
0b3e09b06a
Fix generation for totem mons ( #4177 )
2017-11-24 18:56:33 -06:00
urkerab
802db51ea8
Use ModifyMove to handle Photon Geyser mechanics ( #4179 )
2017-11-24 18:54:56 -06:00
Guangcong Luo
022839335f
Add Gen 2 Virtual Console moves
2017-11-24 18:51:32 -06:00
MacChaeger
b0ba793257
Fix Totem tiers ( #4176 )
2017-11-24 13:55:47 -05:00
Marty-D
ff16589722
Correct Photon Geyser mechanics
2017-11-23 22:47:20 -05:00
urkerab
c7f9aa009c
Fix spread Z-Moves interaction with protection ( #4163 )
2017-11-18 14:41:47 -05:00
Marty-D
77039602e3
Release Hidden Ability Orange and White Flower Florges line
...
Thanks, Kaphotics!
2017-11-18 09:15:41 -05:00
Guangcong Luo
e716e9edc7
Implement Ultra Burst
2017-11-17 00:01:09 -06:00
Guangcong Luo
e25eeb9eb0
Correctly validate Rockruff-Dusk
2017-11-16 21:45:24 -06:00
Kris Johnson
f2caefba9b
Ultra Sun and Ultra Moon update ( #4151 )
2017-11-16 20:34:43 -06:00
MacChaeger
6f82808c34
Fix clearing volatiles ( #4120 )
2017-11-12 22:09:52 -05:00
Guangcong Luo
b9ea17e014
TypeScript: Correctly mark args as optional
2017-11-12 01:57:53 -06:00
Guangcong Luo
9a1cb36882
Support three arguments in addVolatile
2017-11-12 01:22:31 -06:00
Guangcong Luo
6dc65e48cf
MODULE_NOT_FOUND is now ENOENT in Node 8
2017-11-09 14:43:43 -06:00
Guangcong Luo
56190af620
Fix up TypeScript errors
...
Also suppress TypeScript validation of various files we don't want
validated right now.
2017-11-08 01:23:04 -06:00
Guangcong Luo
e377d69395
Fix core team-validation intersection check
2017-11-05 00:11:51 -07:00
Guangcong Luo
7904e7791b
Fix Gen 2 Hidden Power IV validation
2017-11-05 00:11:51 -07:00
Kris Johnson
4c5518320b
Use standard formatting for STABmons move checking ( #4123 )
2017-11-04 13:54:54 -07:00
Guangcong Luo
c5d438b7be
Fix TypeScript error in validator
...
...we should probably add TypeScript to CI sometime soon...
2017-11-04 12:14:47 -07:00
Kris Johnson
475e70b822
STABmons: Fix move validation error ( #4121 )
2017-11-03 15:42:37 +08:00
Guangcong Luo
17015189f1
Don't crash when validating impossible moves
2017-11-02 14:35:26 -05:00
Kris Johnson
c7e11d5469
Fix error in STABmons ( #4118 )
2017-11-02 14:02:18 -05:00
Guangcong Luo
011528bd5a
Fix Hidden Ability validation
...
Previously, a mix of past-gen and modern event sources for a move would
confuse the validator. This case is now properly handled.
2017-11-02 13:36:05 -05:00
Guangcong Luo
528a6745cb
TypeScript: Use GenderName alias in Template
2017-11-02 13:00:41 -05:00
Guangcong Luo
fed55531f1
Make the dexes table null-prototype
...
Fixes a 'constructor' issue in Dex.mod()
2017-11-02 13:00:40 -05:00
Guangcong Luo
e8d245f97b
Support Pomeg Glitch
2017-11-02 13:52:24 -04:00
whales
c28a387a2f
Fix Dex#getType ( #4116 )
2017-11-02 10:29:49 -04:00
urkerab
d86b272145
Other Metagames of the Month November 2017 ( #4108 )
2017-11-02 14:44:21 +08:00
Guangcong Luo
2d9fc18280
TypeScript sim/team-validator.js
2017-11-02 00:15:04 -05:00
Guangcong Luo
0e728281e6
Move team-validator to sim/team-validator
2017-11-01 05:22:37 -05:00
Guangcong Luo
6a6bc18d44
Work around ESLint 4.1.0 trailing spaces bug
2017-10-23 09:22:30 -05:00
Guangcong Luo
246dfa1da3
Refactor in-object-literal to array-includes ( #4079 )
...
Previously, if we wanted to test if A was either 'B' or 'C', we would use
the pattern:
A in {B:1, C:1}
I actually don't know how common this pattern is; I just started using
it because I was tired of typing `A === 'B' || A === 'C'` all the time.
I never really liked it, though; the `:1` part made it kind of
blatantly a hack.
I did some testing and `['B', 'C'].includes(A)` is overall faster.
(A switch statement is around 20x faster still, but who wants to type
that much code?)
Anyway, the new standard is
['B', 'C'].includes(A)
Something something progress!
2017-10-23 09:19:15 -05:00
Marty-D
97bb5af755
Fix crash in confusion damage
2017-10-21 09:28:40 -04:00
Guangcong Luo
c640a69ffc
Don't send Rated text for normal rated battles
2017-10-21 03:43:12 -05:00