Commit Graph

669 Commits

Author SHA1 Message Date
Guangcong Luo
801af59b98 Fix remaining build errors
- Centiskorch was misspelled in formats-data, causing a crash in the
  egg validator

- A few validation errors were due to Gen 6 not inheriting from Gen 7,
  Gen 7 not having a scripts file, and Gen 8 having a gen of 7

- Intimidate (Gen 7) wasn't inheriting from Intimidate (Gen 8), giving
  it no name, causing a few validation errors

  (Technically not a build error, but I also added Keen Eye to the list
  of Intimidate immunities, as reported by SadisticMystic.)

- A lot of tests relied on Teleport always failing; these have been
  switched to Gen 7 or swapped Teleport for Celebrate

- Inverse Mod suddenly stopped working; its implementation was a huge
  hack and I can't figure out what went wrong, so I've switched it to
	using the same system the other mod tests use. It's still a huge
	hack, but I don't have the free time to fix it right now.
2019-11-16 06:08:48 +13:00
The Immortal
68d73b77f0 Update new ability ratings 2019-11-15 20:15:23 +04:00
HoeenHero
5144fc32d7 Add Gen 8 Abilities 2019-11-15 22:01:54 +13:00
urkerab
00d6e9d741 Fix activation of Defiant and Competitive when boosts are maxed (#5895) 2019-10-18 13:32:07 +10:30
urkerab
5b9d0c8db6 Centralise invulnerability checks for No Guard and Lock-On (#5894) 2019-10-17 22:32:44 -04:00
Alumn
eb083c46b8 Add a full ability description for Contrary + Simple (#5873) 2019-10-11 12:36:48 -04:00
Guangcong Luo
7a023746ba
Refactor battle.dex out of battle (#5851)
In most other similar systems, like TeamValidator, we use `thing.dex` instead of having it extend `ModdedDex`. Battle has always extended `ModdedDex`, though. This changes Battle to match the others.

This should fix an issue with `Battle.data` not being cached.

This also frees up Battle to extend ObjectReadWriteStream<string> in a future update.
2019-10-06 07:38:08 +11:00
urkerab
948257cce7 Change weight units to hectograms (#5765) 2019-10-03 14:00:16 +10:00
The Immortal
eba65e878a Display abilities against Magic Guard
https://github.com/Zarel/Pokemon-Showdown/projects/3#card-23723659
2019-09-03 03:26:16 +04:00
The Immortal
09311dba14 Fix Magician & Fling interaction 2019-09-01 20:46:18 +04:00
The Immortal
26dfe8fd9e Revamp Random Battle
- New ability ratings
- Improve move pools
- Allow non-status moves to be re-rolled if rejected (this fixes all undesired move set combinations)
- Update move & ability rejections
- New item possibilities
2019-09-01 19:40:53 +04:00
jmclemo6
e4ad7d894b Moves: Fix Flower Veil + Yawn interaction when ally is already under effect of Yawn 2019-07-21 14:21:42 -05:00
Jacob McLemore
cc69590c2e Fix Poison Touch interaction with self-targeting contact moves (#5640) 2019-07-21 10:24:46 -05:00
Guangcong Luo
3db1d9916c Deduplicate Template definition
It turns out Template is the only remotely-easy type to merge the class
and interface for.

The others all have a bunch of event methods which would need to be
redefined on the class.
2019-07-19 18:20:42 -05:00
urkerab
6155639fbc Fix Pickup/Recycle of Terrain Seed while terrain is up (#5594) 2019-07-06 21:19:31 -05:00
Marty-D
208c22ad72
Fix multi-hit moves against Berserk/Emergency Exit/Wimp Out too 2019-06-27 17:01:36 -04:00
Marty-D
605ce563ca
Fix Berserk/Emergency Exit/Wimp Out damage detection 2019-06-27 08:29:46 -04:00
Kirk Scheibelhut
df3d9b91ef Battle toJSON/fromJSON (#5427) 2019-04-30 14:48:27 +12:00
Slayer95
cd82475d06 Fix misspecified event handler priorities (#5445) 2019-04-15 18:03:32 -04:00
Marty-D
ad4f80ee67 Fix Anticipation interaction with Hidden Power 2019-04-11 14:01:23 -04:00
The Immortal
e1c389a182 Random Battle updates 2019-04-08 16:39:19 +04:00
Kirk Scheibelhut
0efd71dfef Move Data.ActiveMove methods to Pokemon (#5416)
See #5415 for context - having these methods is unsafe and leads
to crashes because not all ActiveMoves are created through the
Data.ActiveMove constructor. Instead of Pokemon, these could
alternatively be static methods on ActiveMove (or the ActiveMove
class could be completely abolished and reverted back to an
interface), but #5415 will deal with ActiveMove long term, this just
fixes the crashes.
2019-04-06 13:14:50 +08:00
MacChaeger
d3f1161b62 Fix Weakness Policy and Clangorous Soulblaze in doubles (#5389) 2019-04-04 18:51:27 +08:00
The Immortal
a864d38240 Random Battle updates 2019-04-01 19:05:08 +04:00
Slayer95
628f32e8fb Stricter type definitions for dex data (#5375)
BattleStatuses switched to PureEffectData
2019-03-30 22:31:04 +08:00
The Immortal
8d56dad32b Random Battle updates 2019-03-28 21:06:55 +04:00
Ivo Julca
ac4b94876b Sim: Refactor to use Battle#getAllPokemon() and Battle#getAllActive() 2019-03-26 23:18:19 -05:00
Kirk Scheibelhut
9f5a727ad1 Pull Field out of Battle (#5333) 2019-03-23 02:52:12 +09:00
Kirk Scheibelhut
03b2c92cb1 Make isNonstandard specify reason for non-standardness (#5330) 2019-03-22 01:49:22 +09:00
Kirk Scheibelhut
a8903d2563 Cleanup stat naming and types (storedStats, StatNameExceptHP) (#5274) 2019-03-09 09:53:11 -06:00
The Immortal
7653384d20 Random Battle updates
- Only give Porygon-Z Z-Conversion under the right circumstances
- Slightly reduce the rating of Download so Porygon gets Adaptability a bit more
- Improve Haxorus' movepool
- Remove unviable Genesect sets
- Allow U-turn as the only STAB on Genesect
- Improve Magearna's movepool (+Fairium Z)
- Don't reject Flash Cannon with Special setup
- Give Fairies STAB when they need it
- Set Shift Gear as a Speed setup move
- Change the Life Orb bulk requirement to match Focus Sash
- Reject Trick with Speed setup
2019-03-08 17:27:44 +04:00
urkerab
9ebaa6877b Fix Protean and Color Change (#5233) 2019-03-03 04:40:35 -06:00
Kris Johnson
c2e21d6fea Fix crash in Anticipation (#5232)
A battle has crashed: TypeError: Cannot read property 'fainted' of null
at Battle.onStart (/home/ps/showdown/data/abilities.js:150:16)
2019-03-03 03:28:03 -06:00
The Immortal
59c4965dfa Random Battle improvements 2019-02-24 06:00:24 +04:00
Guangcong Luo
b498bb222c Require object literal method shorthand 2019-02-11 18:14:09 -06:00
Guangcong Luo
8d57bd1b8c Remove useless param from pokemon.transformInto
Introduced in 743c85127c
2019-02-01 15:10:46 -06:00
Marty-D
891f4d202a
Update Emergency Exit and Wimp out descriptions 2019-01-16 13:56:02 -05:00
Marty-D
a0a81519ca Update Zen Mode 2019-01-16 13:42:18 -05:00
Kevin Lau
c579e4ae85 Random Battle: Lower Keen Eye rating (#5098)
Fixes Drapion, who has 3 different moves with a rating of 1. Keen Eye is
less useful than Battle Armor or Sniper because of a lack of accuracy
reduction moves in random battle, so this ensures that it is not chosen.
2019-01-13 22:16:19 +04:00
Russell Jones
09118c0937 OHKO moves are really only 150 power to Forewarn (#5058)
Also the 1-power CFZs count as 80 to Forewarn, not that that's a particularly likely interaction to come up anywhere.
2019-01-02 01:35:14 -06:00
plumberjack
4e2e4263d9 Clarifiy Unnerve's description (#5028) 2018-12-15 10:38:12 -05:00
Guangcong Luo
877c9feeeb Fix onEffectiveness event signature
I fixed `onAfterSubDamage` in the previous commit, but this one I left
for later.
2018-12-08 22:52:59 -06:00
Guangcong Luo
3a8add5c4b Remove [msg] parameter of -immune
(It's unnecessary, being the default message for it.)
2018-11-10 12:31:21 -06:00
Alvin Ho
9d676aae71 Fix Mummy and Parental Bond Interaction (#4890)
Problem: Parental Bond when changed to Mummy midstrike would cause the second move to miss the .25 base power modification
Added Parental Bond check in Mummy to maintain the power modification
2018-10-12 21:20:46 -05:00
Guangcong Luo
ecb27edb4d
Introduce ActiveMove; make some types read-only (#4902)
The types Template, Move, Ability, and Item are now read-only. This
should guard against accidental writing to types that shouldn't be
written to.

A new type, ActiveMove, has been introduced. Like it sounds, it's
used for moves that are currently actively being used. A lot of
attributes that are only relevant to active moves, such as
`hasBounced`, are now only available on ActiveMove, not on Move.
ActiveMoves are mutable, unlike Moves.

getMoveCopy has been renamed getActiveMove, to better reflect its
role. `isCopy` has been deprecated, and distinguishing Moves from
ActiveMoves is now done by `typeof move.hit === 'number'` where
necessary.

ActiveMoves now internally track which hit of a multihit move
they're on, in move.hit, so move.hit doesn't need to be manually
incremented by Triple Kick and Parental Bond anymore.

move.hasParentalBond has been replaced by a more generic
move.multihitType.
2018-10-10 16:04:35 -05:00
Alvin Ho
7d0275b453 Fix Flower Veil interaction with self-inflicted status and Yawn (#4889) 2018-10-07 21:48:30 -04:00
Quinton Lee
94016f6218 Update Typescript to 3.1 (#4879) 2018-10-05 04:02:54 -05:00
The Immortal
fe2097dd82 Reduce Emergency Exit's rating 2018-09-18 22:28:24 +04:00
Marty-D
952ccb2d80 Correct Soul-Heart activation order 2018-09-13 11:34:30 -04:00
Marty-D
21cf8fbab0 Descriptions: Change "Ability [name]" to "[name] Ability" 2018-08-25 12:56:23 -04:00