@robsonbittencourt/calc 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. package/.eslintignore +2 -0
  2. package/.eslintrc +12 -0
  3. package/bundle +107 -0
  4. package/dist/adaptable.d.ts +6 -0
  5. package/dist/adaptable.js +28 -0
  6. package/dist/adaptable.js.map +1 -0
  7. package/dist/calc.d.ts +6 -0
  8. package/dist/calc.js +26 -0
  9. package/dist/calc.js.map +1 -0
  10. package/dist/data/abilities.d.ts +15 -0
  11. package/dist/data/abilities.js +448 -0
  12. package/dist/data/abilities.js.map +1 -0
  13. package/dist/data/index.d.ts +2 -0
  14. package/dist/data/index.js +30 -0
  15. package/dist/data/index.js.map +1 -0
  16. package/dist/data/interface.d.ts +150 -0
  17. package/dist/data/interface.js +3 -0
  18. package/dist/data/interface.js.map +1 -0
  19. package/dist/data/items.d.ts +24 -0
  20. package/dist/data/items.js +708 -0
  21. package/dist/data/items.js.map +1 -0
  22. package/dist/data/moves.d.ts +86 -0
  23. package/dist/data/moves.js +5014 -0
  24. package/dist/data/moves.js.map +1 -0
  25. package/dist/data/natures.d.ts +17 -0
  26. package/dist/data/natures.js +127 -0
  27. package/dist/data/natures.js.map +1 -0
  28. package/dist/data/production.min.js +1 -0
  29. package/dist/data/species.d.ts +48 -0
  30. package/dist/data/species.js +10126 -0
  31. package/dist/data/species.js.map +1 -0
  32. package/dist/data/types.d.ts +23 -0
  33. package/dist/data/types.js +538 -0
  34. package/dist/data/types.js.map +1 -0
  35. package/dist/desc.d.ts +65 -0
  36. package/dist/desc.js +866 -0
  37. package/dist/desc.js.map +1 -0
  38. package/dist/field.d.ts +49 -0
  39. package/dist/field.js +111 -0
  40. package/dist/field.js.map +1 -0
  41. package/dist/index.d.ts +44 -0
  42. package/dist/index.js +99 -0
  43. package/dist/index.js.map +1 -0
  44. package/dist/items.d.ts +13 -0
  45. package/dist/items.js +434 -0
  46. package/dist/items.js.map +1 -0
  47. package/dist/mechanics/gen12.d.ts +6 -0
  48. package/dist/mechanics/gen12.js +271 -0
  49. package/dist/mechanics/gen12.js.map +1 -0
  50. package/dist/mechanics/gen3.d.ts +11 -0
  51. package/dist/mechanics/gen3.js +371 -0
  52. package/dist/mechanics/gen3.js.map +1 -0
  53. package/dist/mechanics/gen4.d.ts +11 -0
  54. package/dist/mechanics/gen4.js +596 -0
  55. package/dist/mechanics/gen4.js.map +1 -0
  56. package/dist/mechanics/gen56.d.ts +13 -0
  57. package/dist/mechanics/gen56.js +836 -0
  58. package/dist/mechanics/gen56.js.map +1 -0
  59. package/dist/mechanics/gen789.d.ts +14 -0
  60. package/dist/mechanics/gen789.js +1325 -0
  61. package/dist/mechanics/gen789.js.map +1 -0
  62. package/dist/mechanics/util.d.ts +39 -0
  63. package/dist/mechanics/util.js +675 -0
  64. package/dist/mechanics/util.js.map +1 -0
  65. package/dist/move.d.ts +50 -0
  66. package/dist/move.js +324 -0
  67. package/dist/move.js.map +1 -0
  68. package/dist/pokemon.d.ts +55 -0
  69. package/dist/pokemon.js +240 -0
  70. package/dist/pokemon.js.map +1 -0
  71. package/dist/production.min.js +1 -0
  72. package/dist/result.d.ts +34 -0
  73. package/dist/result.js +94 -0
  74. package/dist/result.js.map +1 -0
  75. package/dist/state.d.ts +77 -0
  76. package/dist/state.js +3 -0
  77. package/dist/state.js.map +1 -0
  78. package/dist/stats.d.ts +26 -0
  79. package/dist/stats.js +183 -0
  80. package/dist/stats.js.map +1 -0
  81. package/dist/test/calc.test.d.ts +1 -0
  82. package/dist/test/calc.test.js +1297 -0
  83. package/dist/test/calc.test.js.map +1 -0
  84. package/dist/test/data.test.d.ts +1 -0
  85. package/dist/test/data.test.js +368 -0
  86. package/dist/test/data.test.js.map +1 -0
  87. package/dist/test/gen.d.ts +135 -0
  88. package/dist/test/gen.js +636 -0
  89. package/dist/test/gen.js.map +1 -0
  90. package/dist/test/helper.d.ts +55 -0
  91. package/dist/test/helper.js +174 -0
  92. package/dist/test/helper.js.map +1 -0
  93. package/dist/test/move.test.d.ts +1 -0
  94. package/dist/test/move.test.js +14 -0
  95. package/dist/test/move.test.js.map +1 -0
  96. package/dist/test/pokemon.test.d.ts +1 -0
  97. package/dist/test/pokemon.test.js +102 -0
  98. package/dist/test/pokemon.test.js.map +1 -0
  99. package/dist/test/stats.test.d.ts +1 -0
  100. package/dist/test/stats.test.js +64 -0
  101. package/dist/test/stats.test.js.map +1 -0
  102. package/dist/test/utils.test.d.ts +1 -0
  103. package/dist/test/utils.test.js +19 -0
  104. package/dist/test/utils.test.js.map +1 -0
  105. package/dist/util.d.ts +17 -0
  106. package/dist/util.js +115 -0
  107. package/dist/util.js.map +1 -0
  108. package/jest.config.js +11 -0
  109. package/package.json +40 -0
  110. package/src/adaptable.ts +12 -0
  111. package/src/calc.ts +40 -0
  112. package/src/data/abilities.ts +383 -0
  113. package/src/data/index.ts +36 -0
  114. package/src/data/interface.ts +176 -0
  115. package/src/data/items.ts +632 -0
  116. package/src/data/moves.ts +5028 -0
  117. package/src/data/natures.ts +65 -0
  118. package/src/data/species.ts +10098 -0
  119. package/src/data/types.ts +478 -0
  120. package/src/desc.ts +1063 -0
  121. package/src/field.ts +124 -0
  122. package/src/index.ts +156 -0
  123. package/src/items.ts +423 -0
  124. package/src/mechanics/gen12.ts +297 -0
  125. package/src/mechanics/gen3.ts +444 -0
  126. package/src/mechanics/gen4.ts +702 -0
  127. package/src/mechanics/gen56.ts +1134 -0
  128. package/src/mechanics/gen789.ts +1788 -0
  129. package/src/mechanics/util.ts +676 -0
  130. package/src/move.ts +337 -0
  131. package/src/pokemon.ts +244 -0
  132. package/src/result.ts +106 -0
  133. package/src/state.ts +81 -0
  134. package/src/stats.ts +213 -0
  135. package/src/test/calc.test.ts +1588 -0
  136. package/src/test/data.test.ts +129 -0
  137. package/src/test/gen.ts +514 -0
  138. package/src/test/helper.ts +185 -0
  139. package/src/test/move.test.ts +13 -0
  140. package/src/test/pokemon.test.ts +121 -0
  141. package/src/test/stats.test.ts +84 -0
  142. package/src/test/utils.test.ts +18 -0
  143. package/src/util.ts +153 -0
  144. package/tsconfig.json +10 -0
@@ -0,0 +1,5028 @@
1
+ import type * as I from '../data/interface';
2
+ import {type DeepPartial, toID, assignWithout, extend} from '../util';
3
+
4
+ export interface MoveData {
5
+ readonly name?: string;
6
+
7
+ readonly type: I.TypeName;
8
+ readonly category?: I.MoveCategory;
9
+ // readonly flags?: I.MoveFlags;
10
+ readonly secondaries?: boolean;
11
+ readonly target?: I.MoveTarget;
12
+ readonly recoil?: [number, number];
13
+ readonly hasCrashDamage?: boolean;
14
+ readonly mindBlownRecoil?: boolean;
15
+ readonly struggleRecoil?: boolean;
16
+ readonly willCrit?: boolean;
17
+ readonly drain?: [number, number];
18
+ readonly priority?: number;
19
+ readonly self?: I.SelfOrSecondaryEffect | null;
20
+ readonly ignoreDefensive?: boolean;
21
+ readonly overrideOffensiveStat?: I.StatIDExceptHP;
22
+ readonly overrideDefensiveStat?: I.StatIDExceptHP;
23
+ readonly overrideOffensivePokemon?: 'target' | 'source';
24
+ readonly overrideDefensivePokemon?: 'target' | 'source';
25
+ readonly breaksProtect?: boolean;
26
+ readonly isZ?: boolean;
27
+ readonly isMax?: boolean;
28
+ readonly multihit?: number | number[];
29
+ readonly multiaccuracy?: boolean;
30
+
31
+ readonly bp: number;
32
+ readonly zp?: number;
33
+ readonly maxPower?: number;
34
+
35
+ // FIXME: migrate these to flags (above) instead
36
+ readonly makesContact?: boolean;
37
+ readonly isPunch?: boolean;
38
+ readonly isBite?: boolean;
39
+ readonly isBullet?: boolean;
40
+ readonly isSound?: boolean;
41
+ readonly isPulse?: boolean;
42
+ readonly isSlicing?: boolean;
43
+ readonly isWind?: boolean;
44
+ }
45
+
46
+ const RBY: {[name: string]: MoveData} = {
47
+ '(No Move)': {bp: 0, category: 'Status', type: 'Normal'},
48
+ Absorb: {bp: 20, type: 'Grass', drain: [1, 2]},
49
+ Acid: {bp: 40, type: 'Poison'},
50
+ Amnesia: {bp: 0, category: 'Status', type: 'Psychic'},
51
+ 'Aurora Beam': {bp: 65, type: 'Ice'},
52
+ Barrage: {bp: 15, type: 'Normal', multihit: [2, 5]},
53
+ Bide: {bp: 0, type: '???'},
54
+ Bind: {bp: 15, type: 'Normal'},
55
+ Bite: {bp: 60, type: 'Normal'},
56
+ Blizzard: {bp: 120, type: 'Ice'},
57
+ Bonemerang: {bp: 50, type: 'Ground', multihit: 2},
58
+ Bubble: {bp: 20, type: 'Water'},
59
+ 'Bubble Beam': {bp: 65, type: 'Water'},
60
+ Clamp: {bp: 35, type: 'Water'},
61
+ 'Comet Punch': {bp: 18, type: 'Normal', multihit: [2, 5]},
62
+ Constrict: {bp: 10, type: 'Normal'},
63
+ Conversion: {bp: 0, category: 'Status', type: 'Normal'},
64
+ Counter: {bp: 1, type: 'Fighting'},
65
+ Crabhammer: {bp: 90, type: 'Water'},
66
+ 'Defense Curl': {bp: 0, category: 'Status', type: 'Normal'},
67
+ Dig: {bp: 100, type: 'Ground'},
68
+ Disable: {bp: 0, category: 'Status', type: 'Normal'},
69
+ 'Dizzy Punch': {bp: 70, type: 'Normal'},
70
+ 'Double-Edge': {bp: 100, type: 'Normal', recoil: [25, 100]},
71
+ 'Double Kick': {bp: 30, type: 'Fighting', multihit: 2},
72
+ 'Double Slap': {bp: 15, type: 'Normal', multihit: [2, 5]},
73
+ 'Dragon Rage': {bp: 1, type: 'Dragon'},
74
+ 'Dream Eater': {bp: 100, type: 'Psychic', drain: [1, 2]},
75
+ Earthquake: {bp: 100, type: 'Ground'},
76
+ Explosion: {bp: 170, type: 'Normal'},
77
+ 'Fire Blast': {bp: 120, type: 'Fire'},
78
+ 'Fire Spin': {bp: 15, type: 'Fire'},
79
+ Fissure: {bp: 0, type: 'Ground'},
80
+ Fly: {bp: 70, type: 'Flying'},
81
+ 'Focus Energy': {bp: 0, category: 'Status', type: 'Normal'},
82
+ 'Fury Attack': {bp: 15, type: 'Normal', multihit: [2, 5]},
83
+ 'Fury Swipes': {bp: 18, type: 'Normal', multihit: [2, 5]},
84
+ Glare: {bp: 0, category: 'Status', type: 'Normal'},
85
+ Growth: {bp: 0, category: 'Status', type: 'Normal'},
86
+ Guillotine: {bp: 0, type: 'Normal'},
87
+ Gust: {bp: 40, type: 'Normal'},
88
+ Haze: {bp: 0, category: 'Status', type: 'Ice'},
89
+ 'High Jump Kick': {bp: 85, type: 'Fighting', hasCrashDamage: true},
90
+ 'Horn Drill': {bp: 0, type: 'Normal'},
91
+ 'Hyper Beam': {bp: 150, type: 'Normal'},
92
+ 'Jump Kick': {bp: 70, type: 'Fighting', hasCrashDamage: true},
93
+ 'Karate Chop': {bp: 50, type: 'Normal'},
94
+ 'Leech Seed': {bp: 0, category: 'Status', type: 'Grass'},
95
+ 'Light Screen': {bp: 0, category: 'Status', type: 'Psychic'},
96
+ Metronome: {bp: 0, category: 'Status', type: 'Normal'},
97
+ Mimic: {bp: 0, category: 'Status', type: 'Normal'},
98
+ Minimize: {bp: 0, category: 'Status', type: 'Normal'},
99
+ 'Mirror Move': {bp: 0, category: 'Status', type: 'Flying'},
100
+ Mist: {bp: 0, category: 'Status', type: 'Ice'},
101
+ 'Night Shade': {bp: 1, type: 'Ghost'},
102
+ 'Petal Dance': {bp: 70, type: 'Grass'},
103
+ 'Pin Missile': {bp: 14, type: 'Bug', multihit: [2, 5]},
104
+ 'Poison Sting': {bp: 15, type: 'Poison'},
105
+ Psychic: {bp: 90, type: 'Psychic'},
106
+ Psywave: {bp: 1, type: 'Psychic'},
107
+ Rage: {bp: 20, type: 'Normal'},
108
+ 'Razor Leaf': {bp: 55, type: 'Grass'},
109
+ 'Razor Wind': {bp: 80, type: 'Normal'},
110
+ Recover: {bp: 0, category: 'Status', type: 'Normal'},
111
+ Reflect: {bp: 0, category: 'Status', type: 'Psychic'},
112
+ Rest: {bp: 0, category: 'Status', type: 'Psychic'},
113
+ Roar: {bp: 0, category: 'Status', type: 'Normal'},
114
+ 'Rock Slide': {bp: 75, type: 'Rock'},
115
+ 'Rock Throw': {bp: 50, type: 'Rock'},
116
+ 'Sand Attack': {bp: 0, category: 'Status', type: 'Normal'},
117
+ 'Seismic Toss': {bp: 1, type: 'Fighting'},
118
+ 'Self-Destruct': {bp: 130, type: 'Normal'},
119
+ 'Skull Bash': {bp: 100, type: 'Normal'},
120
+ Slash: {bp: 70, type: 'Normal'},
121
+ Sludge: {bp: 65, type: 'Poison'},
122
+ 'Soft-Boiled': {bp: 0, category: 'Status', type: 'Normal'},
123
+ 'Solar Beam': {bp: 120, type: 'Grass'},
124
+ 'Sonic Boom': {bp: 1, type: 'Normal'},
125
+ 'Spike Cannon': {bp: 20, type: 'Normal', multihit: [2, 5]},
126
+ Stomp: {bp: 65, type: 'Normal'},
127
+ Struggle: {bp: 50, type: 'Normal', recoil: [1, 2]},
128
+ 'Stun Spore': {bp: 0, category: 'Status', type: 'Grass'},
129
+ Submission: {bp: 80, type: 'Fighting', recoil: [1, 4]},
130
+ Substitute: {bp: 0, category: 'Status', type: 'Normal'},
131
+ 'Super Fang': {bp: 1, type: 'Normal'},
132
+ Swift: {bp: 60, type: 'Normal'},
133
+ 'Take Down': {bp: 90, type: 'Normal', recoil: [1, 4]},
134
+ Thrash: {bp: 90, type: 'Normal'},
135
+ Thunder: {bp: 120, type: 'Electric'},
136
+ 'Thunder Wave': {bp: 0, category: 'Status', type: 'Electric'},
137
+ Transform: {bp: 0, category: 'Status', type: 'Normal'},
138
+ 'Tri Attack': {bp: 80, type: 'Normal'},
139
+ Twineedle: {bp: 25, type: 'Bug', multihit: 2},
140
+ Whirlwind: {bp: 0, category: 'Status', type: 'Normal'},
141
+ 'Wing Attack': {bp: 35, type: 'Flying'},
142
+ Wrap: {bp: 15, type: 'Normal'},
143
+ Growl: {bp: 0, category: 'Status', type: 'Normal'},
144
+ Leer: {bp: 0, category: 'Status', type: 'Normal'},
145
+ 'Low Kick': {bp: 50, type: 'Fighting'},
146
+ 'Poison Gas': {bp: 0, category: 'Status', type: 'Poison'},
147
+ 'Poison Powder': {bp: 0, category: 'Status', type: 'Poison'},
148
+ 'Sky Attack': {bp: 140, type: 'Flying'},
149
+ 'String Shot': {bp: 0, category: 'Status', type: 'Bug'},
150
+ Surf: {bp: 95, type: 'Water'},
151
+ 'Tail Whip': {bp: 0, category: 'Status', type: 'Normal'},
152
+ Toxic: {bp: 0, category: 'Status', type: 'Poison'},
153
+ Flash: {bp: 0, category: 'Status', type: 'Normal'},
154
+ Hypnosis: {bp: 0, category: 'Status', type: 'Psychic'},
155
+ 'Leech Life': {bp: 20, type: 'Bug', drain: [1, 2]},
156
+ 'Mega Drain': {bp: 40, type: 'Grass', drain: [1, 2]},
157
+ 'Vine Whip': {bp: 35, type: 'Grass'},
158
+ Waterfall: {bp: 80, type: 'Water'},
159
+ Tackle: {bp: 35, type: 'Normal'},
160
+ 'Acid Armor': {bp: 0, category: 'Status', type: 'Poison'},
161
+ Barrier: {bp: 0, category: 'Status', type: 'Psychic'},
162
+ 'Body Slam': {bp: 85, type: 'Normal'},
163
+ Flamethrower: {bp: 95, type: 'Fire'},
164
+ 'Hydro Pump': {bp: 120, type: 'Water'},
165
+ 'Ice Beam': {bp: 95, type: 'Ice'},
166
+ Lick: {bp: 20, type: 'Ghost'},
167
+ Screech: {bp: 0, category: 'Status', type: 'Normal'},
168
+ Sing: {bp: 0, category: 'Status', type: 'Normal'},
169
+ 'Sleep Powder': {bp: 0, category: 'Status', type: 'Grass'},
170
+ Smog: {bp: 20, type: 'Poison'},
171
+ Spore: {bp: 0, category: 'Status', type: 'Grass'},
172
+ Supersonic: {bp: 0, category: 'Status', type: 'Normal'},
173
+ 'Swords Dance': {bp: 0, category: 'Status', type: 'Normal'},
174
+ Thunderbolt: {bp: 95, type: 'Electric'},
175
+ 'Bone Club': {bp: 65, type: 'Ground'},
176
+ 'Egg Bomb': {bp: 100, type: 'Normal'},
177
+ 'Hyper Fang': {bp: 80, type: 'Normal'},
178
+ Kinesis: {bp: 0, category: 'Status', type: 'Psychic'},
179
+ 'Lovely Kiss': {bp: 0, category: 'Status', type: 'Normal'},
180
+ Meditate: {bp: 0, category: 'Status', type: 'Psychic'},
181
+ 'Rolling Kick': {bp: 60, type: 'Fighting'},
182
+ Sharpen: {bp: 0, category: 'Status', type: 'Normal'},
183
+ Teleport: {bp: 0, category: 'Status', type: 'Psychic'},
184
+ Agility: {bp: 0, category: 'Status', type: 'Psychic'},
185
+ 'Confuse Ray': {bp: 0, category: 'Status', type: 'Ghost'},
186
+ Confusion: {bp: 50, type: 'Psychic'},
187
+ Cut: {bp: 50, type: 'Normal'},
188
+ 'Double Team': {bp: 0, category: 'Status', type: 'Normal'},
189
+ 'Drill Peck': {bp: 80, type: 'Flying'},
190
+ Ember: {bp: 40, type: 'Fire'},
191
+ 'Fire Punch': {bp: 75, type: 'Fire'},
192
+ Harden: {bp: 0, category: 'Status', type: 'Normal'},
193
+ Headbutt: {bp: 70, type: 'Normal'},
194
+ 'Horn Attack': {bp: 65, type: 'Normal'},
195
+ 'Ice Punch': {bp: 75, type: 'Ice'},
196
+ 'Mega Kick': {bp: 120, type: 'Normal'},
197
+ 'Mega Punch': {bp: 80, type: 'Normal'},
198
+ 'Paleo Wave': {bp: 85, type: 'Rock'},
199
+ 'Pay Day': {bp: 40, type: 'Normal'},
200
+ Peck: {bp: 35, type: 'Flying'},
201
+ Pound: {bp: 40, type: 'Normal'},
202
+ Psybeam: {bp: 65, type: 'Psychic'},
203
+ 'Quick Attack': {bp: 40, type: 'Normal', priority: 1},
204
+ Scratch: {bp: 40, type: 'Normal'},
205
+ 'Shadow Strike': {bp: 80, type: 'Ghost'},
206
+ Slam: {bp: 80, type: 'Normal'},
207
+ Smokescreen: {bp: 0, category: 'Status', type: 'Normal'},
208
+ Splash: {bp: 0, category: 'Status', type: 'Normal'},
209
+ Strength: {bp: 80, type: 'Normal'},
210
+ 'Thunder Punch': {bp: 75, type: 'Electric'},
211
+ 'Thunder Shock': {bp: 40, type: 'Electric'},
212
+ 'Vise Grip': {bp: 55, type: 'Normal'},
213
+ 'Water Gun': {bp: 40, type: 'Water'},
214
+ Withdraw: {bp: 0, category: 'Status', type: 'Water'},
215
+ };
216
+
217
+ const GSC_PATCH: {[name: string]: DeepPartial<MoveData>} = {
218
+ Bide: {type: 'Normal'},
219
+ Counter: {bp: 0},
220
+ Dig: {bp: 60},
221
+ 'Double-Edge': {bp: 120},
222
+ Explosion: {bp: 250},
223
+ Gust: {type: 'Flying'},
224
+ 'Karate Chop': {type: 'Fighting'},
225
+ Psywave: {bp: 0},
226
+ 'Self-Destruct': {bp: 200},
227
+ Struggle: {recoil: [1, 4]},
228
+ 'Dragon Rage': {bp: 0},
229
+ Bite: {type: 'Dark'},
230
+ 'Night Shade': {bp: 0},
231
+ 'Sand Attack': {type: 'Ground'},
232
+ 'Seismic Toss': {bp: 0},
233
+ 'Sonic Boom': {bp: 0},
234
+ 'Super Fang': {bp: 0},
235
+ 'Wing Attack': {bp: 60},
236
+ Aeroblast: {bp: 100, type: 'Flying'},
237
+ Attract: {bp: 0, category: 'Status', type: 'Normal'},
238
+ 'Beat Up': {bp: 10, type: 'Dark'},
239
+ 'Belly Drum': {bp: 0, category: 'Status', type: 'Normal'},
240
+ 'Conversion 2': {bp: 0, category: 'Status', type: 'Normal'},
241
+ 'Cross Chop': {bp: 100, type: 'Fighting'},
242
+ Curse: {bp: 0, category: 'Status', type: '???'},
243
+ 'Destiny Bond': {bp: 0, category: 'Status', type: 'Ghost'},
244
+ Detect: {bp: 0, category: 'Status', type: 'Fighting', priority: 2},
245
+ Encore: {bp: 0, category: 'Status', type: 'Normal'},
246
+ Endure: {bp: 0, category: 'Status', type: 'Normal', priority: 2},
247
+ Flail: {bp: 0, type: 'Normal'},
248
+ Foresight: {bp: 0, category: 'Status', type: 'Normal'},
249
+ 'Future Sight': {bp: 80, type: 'Psychic'},
250
+ 'Heal Bell': {bp: 0, category: 'Status', type: 'Normal'},
251
+ 'Icy Wind': {bp: 55, type: 'Ice'},
252
+ 'Lock-On': {bp: 0, category: 'Status', type: 'Normal'},
253
+ 'Mind Reader': {bp: 0, category: 'Status', type: 'Normal'},
254
+ 'Mirror Coat': {bp: 0, type: 'Psychic'},
255
+ Moonlight: {bp: 0, category: 'Status', type: 'Normal'},
256
+ 'Morning Sun': {bp: 0, category: 'Status', type: 'Normal'},
257
+ Nightmare: {bp: 0, category: 'Status', type: 'Ghost'},
258
+ Outrage: {bp: 90, type: 'Dragon'},
259
+ 'Powder Snow': {bp: 40, type: 'Ice'},
260
+ Present: {bp: 0, type: 'Normal'},
261
+ Protect: {bp: 0, category: 'Status', type: 'Normal', priority: 2},
262
+ 'Psych Up': {bp: 0, category: 'Status', type: 'Normal'},
263
+ Pursuit: {bp: 40, type: 'Dark'},
264
+ 'Rain Dance': {bp: 0, category: 'Status', type: 'Water'},
265
+ Reversal: {bp: 0, type: 'Fighting'},
266
+ Safeguard: {bp: 0, category: 'Status', type: 'Normal'},
267
+ Sandstorm: {bp: 0, category: 'Status', type: 'Rock'},
268
+ Sketch: {bp: 0, category: 'Status', type: 'Normal'},
269
+ 'Sleep Talk': {bp: 0, category: 'Status', type: 'Normal'},
270
+ Spikes: {bp: 0, category: 'Status', type: 'Ground'},
271
+ Spite: {bp: 0, category: 'Status', type: 'Ghost'},
272
+ 'Sunny Day': {bp: 0, category: 'Status', type: 'Fire'},
273
+ Swagger: {bp: 0, category: 'Status', type: 'Normal'},
274
+ 'Sweet Scent': {bp: 0, category: 'Status', type: 'Normal'},
275
+ Synthesis: {bp: 0, category: 'Status', type: 'Grass'},
276
+ Thief: {bp: 40, type: 'Dark'},
277
+ 'Triple Kick': {bp: 10, type: 'Fighting', multihit: [1, 3]},
278
+ Twister: {bp: 40, type: 'Dragon'},
279
+ 'Ancient Power': {bp: 60, type: 'Rock'},
280
+ 'Bone Rush': {bp: 25, type: 'Ground', multihit: [2, 5]},
281
+ Crunch: {bp: 80, type: 'Dark'},
282
+ 'Feint Attack': {bp: 60, type: 'Dark'},
283
+ 'Giga Drain': {bp: 60, type: 'Grass', drain: [1, 2]},
284
+ 'Hidden Power': {bp: 0, type: 'Normal'},
285
+ 'Mean Look': {bp: 0, category: 'Status', type: 'Normal'},
286
+ 'Rapid Spin': {bp: 20, type: 'Normal'},
287
+ 'Rock Smash': {bp: 20, type: 'Fighting'},
288
+ 'Spider Web': {bp: 0, category: 'Status', type: 'Bug'},
289
+ Whirlpool: {bp: 15, type: 'Water'},
290
+ 'Zap Cannon': {bp: 100, type: 'Electric'},
291
+ 'Cotton Spore': {bp: 0, category: 'Status', type: 'Grass'},
292
+ 'Extreme Speed': {bp: 80, type: 'Normal', priority: 1},
293
+ 'Fury Cutter': {bp: 10, type: 'Bug'},
294
+ Magnitude: {bp: 0, type: 'Ground'},
295
+ 'Milk Drink': {bp: 0, category: 'Status', type: 'Normal'},
296
+ 'Scary Face': {bp: 0, category: 'Status', type: 'Normal'},
297
+ Charm: {bp: 0, category: 'Status', type: 'Normal'},
298
+ 'Hidden Power Bug': {bp: 70, type: 'Bug'},
299
+ 'Hidden Power Dark': {bp: 70, type: 'Dark'},
300
+ 'Hidden Power Dragon': {bp: 70, type: 'Dragon'},
301
+ 'Hidden Power Electric': {bp: 70, type: 'Electric'},
302
+ 'Hidden Power Fighting': {bp: 70, type: 'Fighting'},
303
+ 'Hidden Power Fire': {bp: 70, type: 'Fire'},
304
+ 'Hidden Power Flying': {bp: 70, type: 'Flying'},
305
+ 'Hidden Power Ghost': {bp: 70, type: 'Ghost'},
306
+ 'Hidden Power Grass': {bp: 70, type: 'Grass'},
307
+ 'Hidden Power Ground': {bp: 70, type: 'Ground'},
308
+ 'Hidden Power Ice': {bp: 70, type: 'Ice'},
309
+ 'Hidden Power Poison': {bp: 70, type: 'Poison'},
310
+ 'Hidden Power Psychic': {bp: 70, type: 'Psychic'},
311
+ 'Hidden Power Rock': {bp: 70, type: 'Rock'},
312
+ 'Hidden Power Steel': {bp: 70, type: 'Steel'},
313
+ 'Hidden Power Water': {bp: 70, type: 'Water'},
314
+ 'Perish Song': {bp: 0, category: 'Status', type: 'Normal'},
315
+ Snore: {bp: 40, type: 'Normal'},
316
+ 'Sweet Kiss': {bp: 0, category: 'Status', type: 'Normal'},
317
+ Rollout: {bp: 30, type: 'Rock'},
318
+ Frustration: {bp: 0, type: 'Normal'},
319
+ Return: {bp: 0, type: 'Normal'},
320
+ 'Sacred Fire': {bp: 100, type: 'Fire'},
321
+ 'Baton Pass': {bp: 0, category: 'Status', type: 'Normal'},
322
+ 'Dragon Breath': {bp: 60, type: 'Dragon'},
323
+ 'Dynamic Punch': {bp: 100, type: 'Fighting'},
324
+ 'False Swipe': {bp: 40, type: 'Normal'},
325
+ 'Flame Wheel': {bp: 60, type: 'Fire'},
326
+ 'Iron Tail': {bp: 100, type: 'Steel'},
327
+ 'Mach Punch': {bp: 40, type: 'Fighting', priority: 1},
328
+ Megahorn: {bp: 120, type: 'Bug'},
329
+ 'Metal Claw': {bp: 50, type: 'Steel'},
330
+ 'Mud-Slap': {bp: 20, type: 'Ground'},
331
+ Octazooka: {bp: 65, type: 'Water'},
332
+ 'Pain Split': {bp: 0, category: 'Status', type: 'Normal'},
333
+ 'Shadow Ball': {bp: 80, type: 'Ghost'},
334
+ 'Sludge Bomb': {bp: 90, type: 'Poison'},
335
+ Spark: {bp: 65, type: 'Electric'},
336
+ 'Steel Wing': {bp: 70, type: 'Steel'},
337
+ 'Vital Throw': {bp: 70, type: 'Fighting'},
338
+ };
339
+
340
+ const GSC: {[name: string]: MoveData} = extend(true, {}, RBY, GSC_PATCH);
341
+
342
+ const ADV_PATCH: {[name: string]: DeepPartial<MoveData>} = {
343
+ Acid: {target: 'allAdjacentFoes'},
344
+ 'Ancient Power': {makesContact: true},
345
+ Bide: {makesContact: true},
346
+ Bind: {makesContact: true},
347
+ Blizzard: {target: 'allAdjacentFoes'},
348
+ Clamp: {makesContact: true},
349
+ 'Comet Punch': {makesContact: true},
350
+ Counter: {makesContact: true},
351
+ Crunch: {makesContact: true},
352
+ Detect: {priority: 3},
353
+ Endure: {priority: 4},
354
+ Protect: {priority: 3},
355
+ Dig: {makesContact: true},
356
+ 'Double Kick': {makesContact: true},
357
+ 'Double Slap': {makesContact: true},
358
+ Explosion: {target: 'allAdjacent'},
359
+ Flail: {makesContact: true},
360
+ Fly: {makesContact: true},
361
+ 'Fury Attack': {makesContact: true},
362
+ 'Fury Swipes': {makesContact: true},
363
+ 'High Jump Kick': {makesContact: true},
364
+ 'Jump Kick': {makesContact: true},
365
+ 'Leech Life': {makesContact: true},
366
+ Outrage: {makesContact: true},
367
+ 'Petal Dance': {makesContact: true},
368
+ Pursuit: {makesContact: true},
369
+ Rage: {makesContact: true},
370
+ 'Rapid Spin': {makesContact: true},
371
+ 'Razor Wind': {target: 'allAdjacentFoes'},
372
+ Reversal: {makesContact: true},
373
+ 'Rock Smash': {makesContact: true},
374
+ 'Self-Destruct': {target: 'allAdjacent'},
375
+ 'Skull Bash': {makesContact: true},
376
+ Stomp: {makesContact: true},
377
+ Struggle: {makesContact: true},
378
+ Surf: {target: 'allAdjacentFoes'},
379
+ Thief: {makesContact: true},
380
+ Thrash: {makesContact: true},
381
+ 'Triple Kick': {makesContact: true, multihit: 3, multiaccuracy: true},
382
+ 'Vine Whip': {makesContact: true},
383
+ Waterfall: {makesContact: true},
384
+ Wrap: {makesContact: true},
385
+ Crabhammer: {makesContact: true},
386
+ 'Double-Edge': {recoil: [1, 3], makesContact: true},
387
+ Earthquake: {target: 'allAdjacent'},
388
+ 'Extreme Speed': {makesContact: true},
389
+ 'Fury Cutter': {makesContact: true},
390
+ 'Heal Bell': {isSound: true},
391
+ Magnitude: {target: 'allAdjacent'},
392
+ Roar: {isSound: true},
393
+ Submission: {makesContact: true},
394
+ Tackle: {makesContact: true},
395
+ 'Take Down': {makesContact: true},
396
+ Twister: {target: 'allAdjacentFoes'},
397
+ 'Body Slam': {makesContact: true},
398
+ Bubble: {target: 'allAdjacentFoes'},
399
+ Growl: {isSound: true, target: 'allAdjacentFoes'},
400
+ Lick: {makesContact: true},
401
+ 'Perish Song': {isSound: true},
402
+ Screech: {isSound: true},
403
+ Sing: {isSound: true},
404
+ Snore: {isSound: true},
405
+ 'String Shot': {target: 'allAdjacentFoes'},
406
+ Supersonic: {isSound: true},
407
+ 'Sweet Scent': {target: 'allAdjacentFoes'},
408
+ Rollout: {makesContact: true},
409
+ Constrict: {makesContact: true},
410
+ 'Dizzy Punch': {makesContact: true},
411
+ Frustration: {makesContact: true},
412
+ 'Hyper Fang': {makesContact: true},
413
+ 'Karate Chop': {makesContact: true},
414
+ 'Low Kick': {bp: 0, makesContact: true},
415
+ Return: {makesContact: true},
416
+ 'Rolling Kick': {makesContact: true},
417
+ Bite: {makesContact: true},
418
+ 'Cross Chop': {makesContact: true},
419
+ Cut: {makesContact: true},
420
+ 'Drill Peck': {makesContact: true},
421
+ 'Dynamic Punch': {makesContact: true},
422
+ 'False Swipe': {makesContact: true},
423
+ 'Fire Punch': {makesContact: true},
424
+ 'Flame Wheel': {makesContact: true},
425
+ Guillotine: {makesContact: true},
426
+ Headbutt: {makesContact: true},
427
+ 'Horn Attack': {makesContact: true},
428
+ 'Horn Drill': {makesContact: true},
429
+ 'Ice Punch': {makesContact: true},
430
+ 'Icy Wind': {target: 'allAdjacentFoes'},
431
+ 'Iron Tail': {makesContact: true},
432
+ Leer: {target: 'allAdjacentFoes'},
433
+ 'Mach Punch': {makesContact: true},
434
+ Megahorn: {makesContact: true},
435
+ 'Mega Kick': {makesContact: true},
436
+ 'Mega Punch': {makesContact: true},
437
+ 'Metal Claw': {makesContact: true},
438
+ Peck: {makesContact: true},
439
+ Pound: {makesContact: true},
440
+ 'Powder Snow': {target: 'allAdjacentFoes'},
441
+ 'Quick Attack': {makesContact: true},
442
+ 'Razor Leaf': {target: 'allAdjacentFoes'},
443
+ 'Rock Slide': {target: 'allAdjacentFoes'},
444
+ Scratch: {makesContact: true},
445
+ 'Seismic Toss': {makesContact: true},
446
+ 'Shadow Strike': {makesContact: true},
447
+ Slam: {makesContact: true},
448
+ Slash: {makesContact: true},
449
+ Spark: {makesContact: true},
450
+ 'Steel Wing': {makesContact: true},
451
+ Strength: {makesContact: true},
452
+ 'Super Fang': {makesContact: true},
453
+ Swift: {target: 'allAdjacentFoes'},
454
+ 'Tail Whip': {target: 'allAdjacentFoes'},
455
+ 'Thunder Punch': {makesContact: true},
456
+ 'Vise Grip': {makesContact: true},
457
+ 'Vital Throw': {makesContact: true},
458
+ 'Wing Attack': {makesContact: true},
459
+ 'Arm Thrust': {
460
+ bp: 15,
461
+ type: 'Fighting',
462
+ multihit: [2, 5],
463
+ makesContact: true,
464
+ },
465
+ Assist: {bp: 0, category: 'Status', type: 'Normal'},
466
+ Astonish: {bp: 30, type: 'Ghost', makesContact: true},
467
+ Block: {bp: 0, category: 'Status', type: 'Normal'},
468
+ Bounce: {bp: 85, type: 'Flying', makesContact: true},
469
+ 'Bullet Seed': {bp: 10, type: 'Grass', multihit: [2, 5]},
470
+ Camouflage: {bp: 0, category: 'Status', type: 'Normal'},
471
+ Charge: {bp: 0, category: 'Status', type: 'Electric'},
472
+ Covet: {bp: 40, type: 'Normal'},
473
+ Dive: {bp: 60, type: 'Water', makesContact: true},
474
+ 'Doom Desire': {bp: 120, type: 'Steel'},
475
+ Extrasensory: {bp: 80, type: 'Psychic'},
476
+ 'Fake Out': {bp: 40, type: 'Normal', priority: 1},
477
+ 'Follow Me': {bp: 0, category: 'Status', type: 'Normal', priority: 3},
478
+ Hail: {bp: 0, category: 'Status', type: 'Ice'},
479
+ 'Icicle Spear': {bp: 10, type: 'Ice', multihit: [2, 5]},
480
+ Ingrain: {bp: 0, category: 'Status', type: 'Grass'},
481
+ 'Knock Off': {bp: 20, type: 'Dark', makesContact: true},
482
+ 'Leaf Blade': {bp: 70, type: 'Grass', makesContact: true},
483
+ 'Magic Coat': {bp: 0, category: 'Status', type: 'Psychic', priority: 4},
484
+ Memento: {bp: 0, category: 'Status', type: 'Dark'},
485
+ 'Nature Power': {bp: 0, category: 'Status', type: 'Normal'},
486
+ 'Needle Arm': {bp: 60, type: 'Grass', makesContact: true},
487
+ 'Odor Sleuth': {bp: 0, category: 'Status', type: 'Normal'},
488
+ Overheat: {bp: 140, type: 'Fire', self: {boosts: {spa: -2}}, makesContact: true},
489
+ Revenge: {bp: 60, type: 'Fighting', makesContact: true},
490
+ 'Rock Blast': {bp: 25, type: 'Rock', multihit: [2, 5]},
491
+ 'Role Play': {bp: 0, category: 'Status', type: 'Psychic'},
492
+ 'Sand Tomb': {bp: 15, type: 'Ground'},
493
+ 'Skill Swap': {bp: 0, category: 'Status', type: 'Psychic'},
494
+ 'Smelling Salts': {bp: 60, type: 'Normal', makesContact: true},
495
+ 'Spit Up': {bp: 0, type: 'Normal'},
496
+ Stockpile: {bp: 0, category: 'Status', type: 'Normal'},
497
+ Swallow: {bp: 0, category: 'Status', type: 'Normal'},
498
+ Taunt: {bp: 0, category: 'Status', type: 'Dark'},
499
+ 'Teeter Dance': {bp: 0, category: 'Status', type: 'Normal', target: 'allAdjacent'},
500
+ Tickle: {bp: 0, category: 'Status', type: 'Normal'},
501
+ Trick: {bp: 0, category: 'Status', type: 'Psychic'},
502
+ Uproar: {bp: 50, type: 'Normal', isSound: true},
503
+ 'Volt Tackle': {bp: 120, type: 'Electric', recoil: [1, 3], makesContact: true},
504
+ 'Weather Ball': {bp: 50, type: 'Normal'},
505
+ Aromatherapy: {bp: 0, category: 'Status', type: 'Grass'},
506
+ 'Brick Break': {bp: 75, type: 'Fighting', makesContact: true},
507
+ Endeavor: {bp: 0, type: 'Normal', makesContact: true},
508
+ 'Focus Punch': {bp: 150, type: 'Fighting', makesContact: true},
509
+ Imprison: {bp: 0, category: 'Status', type: 'Psychic'},
510
+ 'Mud Sport': {bp: 0, category: 'Status', type: 'Ground'},
511
+ Recycle: {bp: 0, category: 'Status', type: 'Normal'},
512
+ 'Secret Power': {bp: 70, type: 'Normal'},
513
+ 'Sky Uppercut': {bp: 85, type: 'Fighting', makesContact: true},
514
+ 'Slack Off': {bp: 0, category: 'Status', type: 'Normal'},
515
+ Snatch: {bp: 0, category: 'Status', type: 'Dark', priority: 4},
516
+ 'Tail Glow': {bp: 0, category: 'Status', type: 'Bug'},
517
+ Torment: {bp: 0, category: 'Status', type: 'Dark'},
518
+ 'Water Sport': {bp: 0, category: 'Status', type: 'Water'},
519
+ Wish: {bp: 0, category: 'Status', type: 'Normal'},
520
+ 'Air Cutter': {bp: 55, type: 'Flying', target: 'allAdjacentFoes'},
521
+ Facade: {bp: 70, type: 'Normal', makesContact: true},
522
+ 'Grass Whistle': {bp: 0, category: 'Status', type: 'Grass', isSound: true},
523
+ 'Heat Wave': {bp: 100, type: 'Fire', target: 'allAdjacentFoes'},
524
+ 'Hyper Voice': {bp: 90, type: 'Normal', isSound: true, target: 'allAdjacentFoes'},
525
+ 'Metal Sound': {bp: 0, category: 'Status', type: 'Steel', isSound: true},
526
+ 'Meteor Mash': {bp: 100, type: 'Steel', makesContact: true},
527
+ 'Muddy Water': {bp: 95, type: 'Water', target: 'allAdjacentFoes'},
528
+ 'Poison Fang': {bp: 50, type: 'Poison', makesContact: true},
529
+ 'Rock Tomb': {bp: 50, type: 'Rock'},
530
+ 'Will-O-Wisp': {bp: 0, category: 'Status', type: 'Fire'},
531
+ 'Ice Ball': {bp: 30, type: 'Ice', makesContact: true},
532
+ 'Sheer Cold': {bp: 0, type: 'Ice'},
533
+ Howl: {bp: 0, category: 'Status', type: 'Normal'},
534
+ 'Luster Purge': {bp: 70, type: 'Psychic'},
535
+ 'Mist Ball': {bp: 70, type: 'Psychic'},
536
+ 'Psycho Boost': {bp: 140, type: 'Psychic', self: {boosts: {spa: -2}}},
537
+ Refresh: {bp: 0, category: 'Status', type: 'Normal'},
538
+ 'Signal Beam': {bp: 75, type: 'Bug'},
539
+ 'Silver Wind': {bp: 60, type: 'Bug'},
540
+ 'Aerial Ace': {bp: 60, type: 'Flying', makesContact: true},
541
+ 'Blast Burn': {bp: 150, type: 'Fire'},
542
+ 'Blaze Kick': {bp: 85, type: 'Fire', makesContact: true},
543
+ 'Bulk Up': {bp: 0, category: 'Status', type: 'Fighting'},
544
+ 'Calm Mind': {bp: 0, category: 'Status', type: 'Psychic'},
545
+ 'Cosmic Power': {bp: 0, category: 'Status', type: 'Psychic'},
546
+ 'Crush Claw': {bp: 75, type: 'Normal', makesContact: true},
547
+ 'Dragon Claw': {bp: 80, type: 'Dragon', makesContact: true},
548
+ 'Dragon Dance': {bp: 0, category: 'Status', type: 'Dragon'},
549
+ Eruption: {bp: 150, type: 'Fire', target: 'allAdjacentFoes'},
550
+ 'Fake Tears': {bp: 0, category: 'Status', type: 'Dark'},
551
+ 'Feather Dance': {bp: 0, category: 'Status', type: 'Flying'},
552
+ Flatter: {bp: 0, category: 'Status', type: 'Dark'},
553
+ 'Frenzy Plant': {bp: 150, type: 'Grass'},
554
+ Grudge: {bp: 0, category: 'Status', type: 'Ghost'},
555
+ 'Helping Hand': {bp: 0, category: 'Status', type: 'Normal', priority: 5},
556
+ 'Hydro Cannon': {bp: 150, type: 'Water'},
557
+ 'Iron Defense': {bp: 0, category: 'Status', type: 'Steel'},
558
+ 'Magical Leaf': {bp: 60, type: 'Grass'},
559
+ 'Mud Shot': {bp: 55, type: 'Ground'},
560
+ 'Poison Tail': {bp: 50, type: 'Poison', makesContact: true},
561
+ 'Shadow Punch': {bp: 60, type: 'Ghost', makesContact: true},
562
+ 'Shock Wave': {bp: 60, type: 'Electric'},
563
+ Superpower: {bp: 120, type: 'Fighting', self: {boosts: {atk: -1, def: -1}}, makesContact: true},
564
+ 'Water Pulse': {bp: 60, type: 'Water'},
565
+ 'Water Spout': {bp: 150, type: 'Water', target: 'allAdjacentFoes'},
566
+ Yawn: {bp: 0, category: 'Status', type: 'Normal'},
567
+ };
568
+
569
+ const ADV: {[name: string]: MoveData} = extend(true, {}, GSC, ADV_PATCH);
570
+
571
+ const DPP_PATCH: {[name: string]: DeepPartial<MoveData>} = {
572
+ Absorb: {category: 'Special'},
573
+ 'Arm Thrust': {category: 'Physical'},
574
+ Barrage: {category: 'Physical'},
575
+ 'Beat Up': {category: 'Physical'},
576
+ Bide: {priority: 1, category: 'Physical'},
577
+ Bind: {category: 'Physical'},
578
+ 'Bone Rush': {category: 'Physical'},
579
+ Bonemerang: {category: 'Physical'},
580
+ Bounce: {category: 'Physical'},
581
+ 'Brick Break': {category: 'Physical'},
582
+ 'Bullet Seed': {category: 'Physical'},
583
+ Clamp: {category: 'Physical'},
584
+ 'Comet Punch': {isPunch: true, category: 'Physical'},
585
+ Counter: {category: 'Physical'},
586
+ Covet: {makesContact: true, category: 'Physical'},
587
+ Crabhammer: {category: 'Physical'},
588
+ Dig: {bp: 80, category: 'Physical'},
589
+ Dive: {bp: 80, category: 'Physical'},
590
+ 'Doom Desire': {category: 'Special'},
591
+ 'Double-Edge': {category: 'Physical'},
592
+ 'Double Kick': {category: 'Physical'},
593
+ 'Double Slap': {category: 'Physical'},
594
+ 'Dream Eater': {category: 'Special'},
595
+ Earthquake: {category: 'Physical'},
596
+ Endeavor: {category: 'Physical'},
597
+ Explosion: {category: 'Physical'},
598
+ 'Extreme Speed': {category: 'Physical'},
599
+ 'Fake Out': {makesContact: true, category: 'Physical'},
600
+ 'Fire Spin': {category: 'Special'},
601
+ Flail: {category: 'Physical'},
602
+ Fly: {bp: 90, category: 'Physical'},
603
+ 'Focus Punch': {isPunch: true, category: 'Physical'},
604
+ 'Fury Attack': {category: 'Physical'},
605
+ 'Fury Cutter': {category: 'Physical'},
606
+ 'Fury Swipes': {category: 'Physical'},
607
+ 'Future Sight': {category: 'Special'},
608
+ 'Giga Drain': {category: 'Special'},
609
+ Gust: {category: 'Special'},
610
+ 'High Jump Kick': {bp: 100, category: 'Physical'},
611
+ 'Icicle Spear': {category: 'Physical'},
612
+ 'Jump Kick': {bp: 85, category: 'Physical'},
613
+ 'Knock Off': {category: 'Physical'},
614
+ 'Leech Life': {category: 'Physical'},
615
+ Magnitude: {category: 'Physical'},
616
+ 'Mega Drain': {category: 'Special'},
617
+ 'Mirror Coat': {category: 'Special'},
618
+ Outrage: {bp: 120, category: 'Physical'},
619
+ 'Petal Dance': {bp: 90, category: 'Special'},
620
+ 'Pin Missile': {category: 'Physical'},
621
+ Psywave: {category: 'Special'},
622
+ Pursuit: {category: 'Physical'},
623
+ 'Rapid Spin': {category: 'Physical'},
624
+ 'Razor Wind': {category: 'Special'},
625
+ Revenge: {category: 'Physical'},
626
+ Reversal: {category: 'Physical'},
627
+ 'Rock Blast': {category: 'Physical'},
628
+ 'Sand Tomb': {category: 'Physical'},
629
+ 'Secret Power': {category: 'Physical'},
630
+ 'Self-Destruct': {category: 'Physical'},
631
+ 'Sky Uppercut': {isPunch: true, category: 'Physical'},
632
+ 'Smelling Salts': {category: 'Physical'},
633
+ 'Solar Beam': {category: 'Special'},
634
+ 'Spike Cannon': {category: 'Physical'},
635
+ 'Spit Up': {category: 'Special'},
636
+ Stomp: {category: 'Physical'},
637
+ Struggle: {category: 'Physical', struggleRecoil: true},
638
+ Submission: {category: 'Physical'},
639
+ Surf: {target: 'allAdjacent', category: 'Special'},
640
+ Tackle: {category: 'Physical'},
641
+ 'Take Down': {category: 'Physical'},
642
+ Thief: {category: 'Physical'},
643
+ Thrash: {category: 'Physical'},
644
+ Thunder: {category: 'Special'},
645
+ 'Triple Kick': {category: 'Physical'},
646
+ Twineedle: {category: 'Physical'},
647
+ Twister: {category: 'Special'},
648
+ Uproar: {category: 'Special'},
649
+ 'Volt Tackle': {category: 'Physical'},
650
+ Whirlpool: {category: 'Special'},
651
+ Wrap: {category: 'Physical'},
652
+ 'Air Cutter': {category: 'Special'},
653
+ Blizzard: {category: 'Special'},
654
+ 'Body Slam': {category: 'Physical'},
655
+ Bubble: {category: 'Special'},
656
+ Extrasensory: {category: 'Special'},
657
+ Facade: {category: 'Physical'},
658
+ 'Fire Blast': {category: 'Special'},
659
+ Flamethrower: {category: 'Special'},
660
+ 'Heat Wave': {category: 'Special'},
661
+ 'Hidden Power': {category: 'Special'},
662
+ 'Hidden Power Bug': {category: 'Special'},
663
+ 'Hidden Power Dark': {category: 'Special'},
664
+ 'Hidden Power Dragon': {category: 'Special'},
665
+ 'Hidden Power Electric': {category: 'Special'},
666
+ 'Hidden Power Fighting': {category: 'Special'},
667
+ 'Hidden Power Fire': {category: 'Special'},
668
+ 'Hidden Power Flying': {category: 'Special'},
669
+ 'Hidden Power Ghost': {category: 'Special'},
670
+ 'Hidden Power Grass': {category: 'Special'},
671
+ 'Hidden Power Ground': {category: 'Special'},
672
+ 'Hidden Power Ice': {category: 'Special'},
673
+ 'Hidden Power Poison': {category: 'Special'},
674
+ 'Hidden Power Psychic': {category: 'Special'},
675
+ 'Hidden Power Rock': {category: 'Special'},
676
+ 'Hidden Power Steel': {category: 'Special'},
677
+ 'Hidden Power Water': {category: 'Special'},
678
+ 'Hydro Pump': {category: 'Special'},
679
+ 'Hyper Voice': {category: 'Special'},
680
+ 'Ice Beam': {category: 'Special'},
681
+ Lick: {category: 'Physical'},
682
+ 'Meteor Mash': {isPunch: true, category: 'Physical'},
683
+ 'Muddy Water': {category: 'Special'},
684
+ Overheat: {category: 'Special', makesContact: false},
685
+ 'Poison Fang': {isBite: true, category: 'Physical'},
686
+ 'Rock Tomb': {category: 'Physical'},
687
+ 'Skull Bash': {category: 'Physical'},
688
+ Smog: {category: 'Special'},
689
+ Snore: {category: 'Special'},
690
+ Thunderbolt: {category: 'Special'},
691
+ 'Vine Whip': {category: 'Physical'},
692
+ 'Weather Ball': {category: 'Special'},
693
+ 'Ice Ball': {category: 'Physical'},
694
+ Rollout: {category: 'Physical'},
695
+ 'Sheer Cold': {category: 'Special'},
696
+ Aeroblast: {category: 'Special'},
697
+ 'Bone Club': {category: 'Physical'},
698
+ Constrict: {category: 'Physical'},
699
+ 'Dizzy Punch': {isPunch: true, category: 'Physical'},
700
+ 'Dragon Rage': {category: 'Special'},
701
+ 'Egg Bomb': {category: 'Physical'},
702
+ 'Feint Attack': {makesContact: true, category: 'Physical'},
703
+ Frustration: {category: 'Physical'},
704
+ 'Hyper Fang': {isBite: true, category: 'Physical'},
705
+ 'Karate Chop': {category: 'Physical'},
706
+ 'Low Kick': {category: 'Physical'},
707
+ 'Luster Purge': {category: 'Special'},
708
+ 'Mist Ball': {category: 'Special'},
709
+ 'Needle Arm': {category: 'Physical'},
710
+ 'Psycho Boost': {category: 'Special'},
711
+ Rage: {category: 'Physical'},
712
+ Return: {category: 'Physical'},
713
+ 'Rolling Kick': {category: 'Physical'},
714
+ 'Sacred Fire': {category: 'Physical'},
715
+ 'Signal Beam': {category: 'Special'},
716
+ 'Silver Wind': {category: 'Special'},
717
+ 'Sonic Boom': {category: 'Special'},
718
+ Acid: {category: 'Special'},
719
+ 'Aerial Ace': {category: 'Physical'},
720
+ 'Ancient Power': {category: 'Special', makesContact: false},
721
+ Astonish: {category: 'Physical'},
722
+ 'Aurora Beam': {category: 'Special'},
723
+ Bite: {isBite: true, category: 'Physical'},
724
+ 'Blast Burn': {category: 'Special'},
725
+ 'Blaze Kick': {category: 'Physical'},
726
+ 'Bubble Beam': {category: 'Special'},
727
+ Confusion: {category: 'Special'},
728
+ 'Cross Chop': {category: 'Physical'},
729
+ Crunch: {isBite: true, category: 'Physical'},
730
+ 'Crush Claw': {category: 'Physical'},
731
+ Cut: {category: 'Physical'},
732
+ 'Dragon Breath': {category: 'Special'},
733
+ 'Dragon Claw': {category: 'Physical'},
734
+ 'Drill Peck': {category: 'Physical'},
735
+ 'Dynamic Punch': {isPunch: true, category: 'Physical'},
736
+ Ember: {category: 'Special'},
737
+ Eruption: {category: 'Special'},
738
+ 'False Swipe': {category: 'Physical'},
739
+ 'Fire Punch': {isPunch: true, category: 'Physical'},
740
+ Fissure: {category: 'Physical'},
741
+ 'Flame Wheel': {category: 'Physical'},
742
+ 'Frenzy Plant': {category: 'Special'},
743
+ Guillotine: {category: 'Physical'},
744
+ Headbutt: {category: 'Physical'},
745
+ 'Horn Attack': {category: 'Physical'},
746
+ 'Horn Drill': {category: 'Physical'},
747
+ 'Hydro Cannon': {category: 'Special'},
748
+ 'Hyper Beam': {category: 'Special'},
749
+ 'Ice Punch': {isPunch: true, category: 'Physical'},
750
+ 'Icy Wind': {category: 'Special'},
751
+ 'Iron Tail': {category: 'Physical'},
752
+ 'Leaf Blade': {bp: 90, category: 'Physical'},
753
+ 'Mach Punch': {isPunch: true, category: 'Physical'},
754
+ 'Magical Leaf': {category: 'Special'},
755
+ Megahorn: {category: 'Physical'},
756
+ 'Mega Kick': {category: 'Physical'},
757
+ 'Mega Punch': {isPunch: true, category: 'Physical'},
758
+ 'Metal Claw': {category: 'Physical'},
759
+ 'Mud Shot': {category: 'Special'},
760
+ 'Mud-Slap': {category: 'Special'},
761
+ 'Night Shade': {category: 'Special'},
762
+ Octazooka: {category: 'Special'},
763
+ 'Paleo Wave': {category: 'Special'},
764
+ 'Pay Day': {category: 'Physical'},
765
+ Peck: {category: 'Physical'},
766
+ 'Poison Sting': {category: 'Physical'},
767
+ 'Poison Tail': {category: 'Physical'},
768
+ Pound: {category: 'Physical'},
769
+ 'Powder Snow': {category: 'Special'},
770
+ Present: {category: 'Physical'},
771
+ Psybeam: {category: 'Special'},
772
+ Psychic: {category: 'Special'},
773
+ 'Quick Attack': {category: 'Physical'},
774
+ 'Razor Leaf': {category: 'Physical'},
775
+ 'Rock Slide': {category: 'Physical'},
776
+ 'Rock Smash': {bp: 40, category: 'Physical'},
777
+ 'Rock Throw': {category: 'Physical'},
778
+ Scratch: {category: 'Physical'},
779
+ 'Seismic Toss': {category: 'Physical'},
780
+ 'Shadow Ball': {category: 'Special'},
781
+ 'Shadow Punch': {isPunch: true, category: 'Physical'},
782
+ 'Shadow Strike': {category: 'Physical'},
783
+ 'Shock Wave': {category: 'Special'},
784
+ 'Sky Attack': {category: 'Physical'},
785
+ Slam: {category: 'Physical'},
786
+ Slash: {category: 'Physical'},
787
+ Sludge: {category: 'Special'},
788
+ 'Sludge Bomb': {category: 'Special'},
789
+ Spark: {category: 'Physical'},
790
+ 'Steel Wing': {category: 'Physical'},
791
+ Strength: {category: 'Physical'},
792
+ 'Super Fang': {category: 'Physical'},
793
+ Superpower: {category: 'Physical'},
794
+ Swift: {category: 'Special'},
795
+ 'Thunder Punch': {isPunch: true, category: 'Physical'},
796
+ 'Thunder Shock': {category: 'Special'},
797
+ 'Tri Attack': {category: 'Special'},
798
+ 'Vise Grip': {category: 'Physical'},
799
+ 'Vital Throw': {category: 'Physical'},
800
+ Waterfall: {category: 'Physical'},
801
+ 'Water Gun': {category: 'Special'},
802
+ 'Water Pulse': {category: 'Special'},
803
+ 'Water Spout': {category: 'Special'},
804
+ 'Wing Attack': {category: 'Physical'},
805
+ 'Zap Cannon': {bp: 120, category: 'Special'},
806
+ Acupressure: {bp: 0, type: 'Normal'},
807
+ 'Aqua Ring': {bp: 0, type: 'Water'},
808
+ Assurance: {
809
+ bp: 50,
810
+ type: 'Dark',
811
+ makesContact: true,
812
+ category: 'Physical',
813
+ },
814
+ Avalanche: {
815
+ bp: 60,
816
+ type: 'Ice',
817
+ makesContact: true,
818
+ category: 'Physical',
819
+ },
820
+ 'Brave Bird': {
821
+ bp: 120,
822
+ type: 'Flying',
823
+ recoil: [1, 3],
824
+ makesContact: true,
825
+ category: 'Physical',
826
+ },
827
+ 'Bug Bite': {
828
+ bp: 60,
829
+ type: 'Bug',
830
+ makesContact: true,
831
+ category: 'Physical',
832
+ },
833
+ Chatter: {bp: 60, type: 'Flying', isSound: true, category: 'Special'},
834
+ Copycat: {bp: 0, type: 'Normal'},
835
+ 'Crush Grip': {
836
+ bp: 0,
837
+ type: 'Normal',
838
+ makesContact: true,
839
+ category: 'Physical',
840
+ },
841
+ Defog: {bp: 0, type: 'Flying'},
842
+ 'Double Hit': {
843
+ bp: 35,
844
+ type: 'Normal',
845
+ multihit: 2,
846
+ makesContact: true,
847
+ category: 'Physical',
848
+ },
849
+ 'Drain Punch': {
850
+ bp: 60,
851
+ type: 'Fighting',
852
+ drain: [1, 2],
853
+ makesContact: true,
854
+ isPunch: true,
855
+ category: 'Physical',
856
+ },
857
+ Embargo: {bp: 0, type: 'Dark'},
858
+ Feint: {
859
+ bp: 50,
860
+ type: 'Normal',
861
+ priority: 2,
862
+ breaksProtect: true,
863
+ category: 'Physical',
864
+ },
865
+ 'Fire Fang': {
866
+ bp: 65,
867
+ type: 'Fire',
868
+ makesContact: true,
869
+ isBite: true,
870
+ category: 'Physical',
871
+ },
872
+ 'Flare Blitz': {
873
+ bp: 120,
874
+ type: 'Fire',
875
+ recoil: [1, 3],
876
+ makesContact: true,
877
+ category: 'Physical',
878
+ },
879
+ Fling: {bp: 0, type: 'Dark', category: 'Physical'},
880
+ Gravity: {bp: 0, type: 'Psychic'},
881
+ 'Head Smash': {
882
+ bp: 150,
883
+ type: 'Rock',
884
+ recoil: [1, 2],
885
+ makesContact: true,
886
+ category: 'Physical',
887
+ },
888
+ 'Heal Block': {bp: 0, type: 'Psychic', target: 'allAdjacentFoes'},
889
+ 'Healing Wish': {bp: 0, type: 'Psychic'},
890
+ 'Heal Order': {bp: 0, type: 'Bug'},
891
+ 'Last Resort': {
892
+ bp: 130,
893
+ type: 'Normal',
894
+ makesContact: true,
895
+ category: 'Physical',
896
+ },
897
+ 'Lucky Chant': {bp: 0, type: 'Normal'},
898
+ 'Lunar Dance': {bp: 0, type: 'Psychic'},
899
+ 'Magma Storm': {bp: 120, type: 'Fire', category: 'Special'},
900
+ 'Magnet Rise': {bp: 0, type: 'Electric'},
901
+ 'Me First': {bp: 0, type: 'Normal'},
902
+ 'Metal Burst': {bp: 0, type: 'Steel', category: 'Physical'},
903
+ 'Miracle Eye': {bp: 0, type: 'Psychic'},
904
+ 'Natural Gift': {bp: 0, type: 'Normal', category: 'Physical'},
905
+ Payback: {
906
+ bp: 50,
907
+ type: 'Dark',
908
+ makesContact: true,
909
+ category: 'Physical',
910
+ },
911
+ Pluck: {
912
+ bp: 60,
913
+ type: 'Flying',
914
+ makesContact: true,
915
+ category: 'Physical',
916
+ },
917
+ 'Power Trick': {bp: 0, type: 'Psychic'},
918
+ Roost: {bp: 0, type: 'Flying'},
919
+ 'Stealth Rock': {bp: 0, type: 'Rock'},
920
+ 'Sucker Punch': {
921
+ bp: 80,
922
+ type: 'Dark',
923
+ priority: 1,
924
+ makesContact: true,
925
+ category: 'Physical',
926
+ },
927
+ Switcheroo: {bp: 0, type: 'Dark'},
928
+ Tailwind: {bp: 0, type: 'Flying'},
929
+ 'Toxic Spikes': {bp: 0, type: 'Poison'},
930
+ 'Trick Room': {bp: 0, type: 'Psychic'},
931
+ 'U-turn': {
932
+ bp: 70,
933
+ type: 'Bug',
934
+ makesContact: true,
935
+ category: 'Physical',
936
+ },
937
+ 'Wake-Up Slap': {
938
+ bp: 60,
939
+ type: 'Fighting',
940
+ makesContact: true,
941
+ category: 'Physical',
942
+ },
943
+ 'Wood Hammer': {
944
+ bp: 120,
945
+ type: 'Grass',
946
+ recoil: [1, 3],
947
+ makesContact: true,
948
+ category: 'Physical',
949
+ },
950
+ 'Worry Seed': {bp: 0, type: 'Grass'},
951
+ 'Wring Out': {
952
+ bp: 0,
953
+ type: 'Normal',
954
+ makesContact: true,
955
+ category: 'Special',
956
+ },
957
+ 'Air Slash': {bp: 75, type: 'Flying', category: 'Special'},
958
+ 'Aura Sphere': {bp: 90, type: 'Fighting', category: 'Special'},
959
+ 'Bug Buzz': {bp: 90, type: 'Bug', isSound: true, category: 'Special'},
960
+ 'Draco Meteor': {bp: 140, type: 'Dragon', self: {boosts: {spa: -2}}, category: 'Special'},
961
+ 'Dragon Pulse': {bp: 90, type: 'Dragon', category: 'Special'},
962
+ 'Dragon Rush': {
963
+ bp: 100,
964
+ type: 'Dragon',
965
+ makesContact: true,
966
+ category: 'Physical',
967
+ },
968
+ 'Energy Ball': {bp: 80, type: 'Grass', category: 'Special'},
969
+ 'Gunk Shot': {bp: 120, type: 'Poison', category: 'Physical'},
970
+ 'Gyro Ball': {
971
+ bp: 0,
972
+ type: 'Steel',
973
+ makesContact: true,
974
+ category: 'Physical',
975
+ },
976
+ 'Leaf Storm': {bp: 140, type: 'Grass', self: {boosts: {spa: -2}}, category: 'Special'},
977
+ 'Power Gem': {bp: 70, type: 'Rock', category: 'Special'},
978
+ 'Psycho Shift': {bp: 0, type: 'Psychic'},
979
+ 'Shadow Force': {
980
+ bp: 120,
981
+ type: 'Ghost',
982
+ breaksProtect: true,
983
+ makesContact: true,
984
+ category: 'Physical',
985
+ },
986
+ 'Dark Void': {bp: 0, type: 'Dark', target: 'allAdjacentFoes'},
987
+ 'Gastro Acid': {bp: 0, type: 'Poison'},
988
+ Captivate: {bp: 0, type: 'Normal', target: 'allAdjacentFoes'},
989
+ 'Grass Knot': {
990
+ bp: 0,
991
+ type: 'Grass',
992
+ makesContact: true,
993
+ category: 'Special',
994
+ },
995
+ 'Heart Swap': {bp: 0, type: 'Psychic'},
996
+ Judgment: {bp: 100, type: 'Normal', category: 'Special'},
997
+ 'Magnet Bomb': {bp: 60, type: 'Steel', category: 'Physical'},
998
+ 'Mirror Shot': {bp: 65, type: 'Steel', category: 'Special'},
999
+ 'Mud Bomb': {bp: 65, type: 'Ground', category: 'Special'},
1000
+ 'Ominous Wind': {bp: 60, type: 'Ghost', category: 'Special'},
1001
+ Punishment: {
1002
+ bp: 0,
1003
+ type: 'Dark',
1004
+ makesContact: true,
1005
+ category: 'Physical',
1006
+ },
1007
+ 'Roar of Time': {bp: 150, type: 'Dragon', category: 'Special'},
1008
+ 'Rock Climb': {
1009
+ bp: 90,
1010
+ type: 'Normal',
1011
+ makesContact: true,
1012
+ category: 'Physical',
1013
+ },
1014
+ 'Seed Flare': {bp: 120, type: 'Grass', category: 'Special'},
1015
+ 'Spacial Rend': {bp: 100, type: 'Dragon', category: 'Special'},
1016
+ 'Trump Card': {
1017
+ bp: 0,
1018
+ type: 'Normal',
1019
+ makesContact: true,
1020
+ category: 'Special',
1021
+ },
1022
+ 'Aqua Jet': {
1023
+ bp: 40,
1024
+ type: 'Water',
1025
+ priority: 1,
1026
+ makesContact: true,
1027
+ category: 'Physical',
1028
+ },
1029
+ 'Aqua Tail': {
1030
+ bp: 90,
1031
+ type: 'Water',
1032
+ makesContact: true,
1033
+ category: 'Physical',
1034
+ },
1035
+ 'Attack Order': {bp: 90, type: 'Bug', category: 'Physical'},
1036
+ Brine: {bp: 65, type: 'Water', category: 'Special'},
1037
+ 'Bullet Punch': {
1038
+ bp: 40,
1039
+ type: 'Steel',
1040
+ priority: 1,
1041
+ makesContact: true,
1042
+ isPunch: true,
1043
+ category: 'Physical',
1044
+ },
1045
+ 'Charge Beam': {bp: 50, type: 'Electric', category: 'Special'},
1046
+ 'Close Combat': {
1047
+ bp: 120,
1048
+ type: 'Fighting',
1049
+ makesContact: true,
1050
+ category: 'Physical',
1051
+ },
1052
+ 'Cross Poison': {
1053
+ bp: 70,
1054
+ type: 'Poison',
1055
+ makesContact: true,
1056
+ category: 'Physical',
1057
+ },
1058
+ 'Dark Pulse': {bp: 80, type: 'Dark', category: 'Special'},
1059
+ 'Defend Order': {bp: 0, type: 'Bug'},
1060
+ Discharge: {
1061
+ bp: 80,
1062
+ type: 'Electric',
1063
+ target: 'allAdjacent',
1064
+ category: 'Special',
1065
+ },
1066
+ 'Earth Power': {bp: 90, type: 'Ground', category: 'Special'},
1067
+ 'Flash Cannon': {bp: 80, type: 'Steel', category: 'Special'},
1068
+ 'Focus Blast': {bp: 120, type: 'Fighting', category: 'Special'},
1069
+ 'Force Palm': {
1070
+ bp: 60,
1071
+ type: 'Fighting',
1072
+ makesContact: true,
1073
+ category: 'Physical',
1074
+ },
1075
+ 'Giga Impact': {
1076
+ bp: 150,
1077
+ type: 'Normal',
1078
+ makesContact: true,
1079
+ category: 'Physical',
1080
+ },
1081
+ 'Guard Swap': {bp: 0, type: 'Psychic'},
1082
+ 'Hammer Arm': {
1083
+ bp: 100,
1084
+ type: 'Fighting',
1085
+ makesContact: true,
1086
+ isPunch: true,
1087
+ category: 'Physical',
1088
+ },
1089
+ 'Ice Fang': {
1090
+ bp: 65,
1091
+ type: 'Ice',
1092
+ makesContact: true,
1093
+ isBite: true,
1094
+ category: 'Physical',
1095
+ },
1096
+ 'Ice Shard': {bp: 40, type: 'Ice', priority: 1, category: 'Physical'},
1097
+ 'Iron Head': {
1098
+ bp: 80,
1099
+ type: 'Steel',
1100
+ makesContact: true,
1101
+ category: 'Physical',
1102
+ },
1103
+ 'Lava Plume': {
1104
+ bp: 80,
1105
+ type: 'Fire',
1106
+ target: 'allAdjacent',
1107
+ category: 'Special',
1108
+ },
1109
+ 'Nasty Plot': {bp: 0, type: 'Dark'},
1110
+ 'Night Slash': {
1111
+ bp: 70,
1112
+ type: 'Dark',
1113
+ makesContact: true,
1114
+ category: 'Physical',
1115
+ },
1116
+ 'Poison Jab': {
1117
+ bp: 80,
1118
+ type: 'Poison',
1119
+ makesContact: true,
1120
+ category: 'Physical',
1121
+ },
1122
+ 'Power Swap': {bp: 0, type: 'Psychic'},
1123
+ 'Power Whip': {
1124
+ bp: 120,
1125
+ type: 'Grass',
1126
+ makesContact: true,
1127
+ category: 'Physical',
1128
+ },
1129
+ 'Psycho Cut': {bp: 70, type: 'Psychic', category: 'Physical'},
1130
+ 'Rock Polish': {bp: 0, type: 'Rock'},
1131
+ 'Rock Wrecker': {bp: 150, type: 'Rock', category: 'Physical'},
1132
+ 'Seed Bomb': {bp: 80, type: 'Grass', category: 'Physical'},
1133
+ 'Shadow Claw': {
1134
+ bp: 70,
1135
+ type: 'Ghost',
1136
+ makesContact: true,
1137
+ category: 'Physical',
1138
+ },
1139
+ 'Shadow Sneak': {
1140
+ bp: 40,
1141
+ type: 'Ghost',
1142
+ priority: 1,
1143
+ makesContact: true,
1144
+ category: 'Physical',
1145
+ },
1146
+ 'Stone Edge': {bp: 100, type: 'Rock', category: 'Physical'},
1147
+ 'Thunder Fang': {
1148
+ bp: 65,
1149
+ type: 'Electric',
1150
+ makesContact: true,
1151
+ isBite: true,
1152
+ category: 'Physical',
1153
+ },
1154
+ 'Vacuum Wave': {
1155
+ bp: 40,
1156
+ type: 'Fighting',
1157
+ priority: 1,
1158
+ category: 'Special',
1159
+ },
1160
+ 'X-Scissor': {
1161
+ bp: 80,
1162
+ type: 'Bug',
1163
+ makesContact: true,
1164
+ category: 'Physical',
1165
+ },
1166
+ 'Zen Headbutt': {
1167
+ bp: 80,
1168
+ type: 'Psychic',
1169
+ makesContact: true,
1170
+ category: 'Physical',
1171
+ },
1172
+ };
1173
+
1174
+ const DPP: {[name: string]: MoveData} = extend(true, {}, ADV, DPP_PATCH);
1175
+
1176
+ const BW_PATCH: {[name: string]: DeepPartial<MoveData>} = {
1177
+ 'Air Slash': {secondaries: true},
1178
+ Blizzard: {secondaries: true},
1179
+ 'Body Slam': {secondaries: true},
1180
+ Bounce: {secondaries: true},
1181
+ Bubble: {secondaries: true},
1182
+ 'Brave Bird': {recoil: [33, 100]},
1183
+ 'Bug Buzz': {secondaries: true},
1184
+ Chatter: {secondaries: true},
1185
+ Covet: {bp: 60},
1186
+ 'Dragon Rush': {secondaries: true},
1187
+ 'Drain Punch': {bp: 75},
1188
+ 'Energy Ball': {secondaries: true},
1189
+ Extrasensory: {secondaries: true},
1190
+ Feint: {bp: 30},
1191
+ Detect: {priority: 4},
1192
+ 'Double-Edge': {recoil: [33, 100]},
1193
+ Protect: {priority: 4},
1194
+ 'Fire Blast': {secondaries: true},
1195
+ 'Fire Spin': {bp: 35},
1196
+ Flamethrower: {secondaries: true},
1197
+ 'Fury Cutter': {bp: 20},
1198
+ 'Future Sight': {bp: 100, type: 'Psychic'},
1199
+ 'Giga Drain': {bp: 75},
1200
+ 'Gunk Shot': {secondaries: true},
1201
+ 'Heat Wave': {secondaries: true},
1202
+ 'Ice Beam': {secondaries: true},
1203
+ Lick: {secondaries: true},
1204
+ 'Meteor Mash': {secondaries: true},
1205
+ 'Muddy Water': {secondaries: true},
1206
+ Overheat: {},
1207
+ 'Poison Fang': {secondaries: true},
1208
+ 'Poison Gas': {target: 'allAdjacentFoes'},
1209
+ 'Rock Tomb': {secondaries: true},
1210
+ 'Sand Tomb': {bp: 35},
1211
+ 'Secret Power': {secondaries: true},
1212
+ Smog: {secondaries: true},
1213
+ Snore: {secondaries: true},
1214
+ Stomp: {secondaries: true},
1215
+ Thunder: {secondaries: true},
1216
+ Thunderbolt: {secondaries: true},
1217
+ Uproar: {bp: 90},
1218
+ Whirlpool: {bp: 35},
1219
+ 'Petal Dance': {bp: 120},
1220
+ Tackle: {bp: 50},
1221
+ Thrash: {bp: 120},
1222
+ 'Bone Club': {secondaries: true},
1223
+ Constrict: {secondaries: true},
1224
+ 'Dizzy Punch': {secondaries: true},
1225
+ 'Hyper Fang': {secondaries: true},
1226
+ 'Jump Kick': {bp: 100},
1227
+ 'Luster Purge': {secondaries: true},
1228
+ 'Mirror Shot': {secondaries: true},
1229
+ 'Mist Ball': {secondaries: true},
1230
+ 'Mud Bomb': {secondaries: true},
1231
+ 'Needle Arm': {secondaries: true},
1232
+ 'Ominous Wind': {secondaries: true},
1233
+ 'Rock Climb': {secondaries: true},
1234
+ 'Rolling Kick': {secondaries: true},
1235
+ 'Sacred Fire': {secondaries: true},
1236
+ 'Seed Flare': {secondaries: true},
1237
+ 'Signal Beam': {secondaries: true},
1238
+ 'Silver Wind': {secondaries: true},
1239
+ Twineedle: {secondaries: true},
1240
+ Acid: {secondaries: true},
1241
+ 'Ancient Power': {secondaries: true},
1242
+ Astonish: {secondaries: true},
1243
+ 'Aurora Beam': {secondaries: true},
1244
+ 'Beat Up': {bp: 0},
1245
+ Bite: {secondaries: true},
1246
+ 'Blaze Kick': {secondaries: true},
1247
+ 'Bubble Beam': {secondaries: true},
1248
+ 'Bullet Seed': {bp: 25},
1249
+ 'Charge Beam': {secondaries: true},
1250
+ Confusion: {secondaries: true},
1251
+ 'Cross Poison': {secondaries: true},
1252
+ Crunch: {secondaries: true},
1253
+ 'Crush Claw': {secondaries: true},
1254
+ Curse: {type: 'Ghost'},
1255
+ 'Dark Pulse': {secondaries: true},
1256
+ Discharge: {secondaries: true},
1257
+ 'Doom Desire': {bp: 140},
1258
+ 'Dragon Breath': {secondaries: true},
1259
+ 'Dynamic Punch': {secondaries: true},
1260
+ 'Earth Power': {secondaries: true},
1261
+ 'Extreme Speed': {priority: 2},
1262
+ Ember: {secondaries: true},
1263
+ 'Fake Out': {secondaries: true, priority: 3},
1264
+ 'Fire Fang': {secondaries: true},
1265
+ 'Fire Punch': {secondaries: true},
1266
+ 'Flame Wheel': {secondaries: true},
1267
+ 'Flare Blitz': {secondaries: true, recoil: [33, 100]},
1268
+ 'Flash Cannon': {secondaries: true},
1269
+ 'Focus Blast': {secondaries: true},
1270
+ 'Force Palm': {secondaries: true},
1271
+ Headbutt: {secondaries: true},
1272
+ 'High Jump Kick': {bp: 130},
1273
+ 'Ice Fang': {secondaries: true},
1274
+ 'Ice Punch': {secondaries: true},
1275
+ 'Icicle Spear': {bp: 25},
1276
+ 'Icy Wind': {secondaries: true},
1277
+ 'Iron Head': {secondaries: true},
1278
+ 'Iron Tail': {secondaries: true},
1279
+ 'Last Resort': {bp: 140},
1280
+ 'Lava Plume': {secondaries: true},
1281
+ 'Metal Claw': {secondaries: true},
1282
+ 'Mud Shot': {secondaries: true},
1283
+ 'Mud-Slap': {secondaries: true},
1284
+ Octazooka: {secondaries: true},
1285
+ 'Paleo Wave': {secondaries: true},
1286
+ 'Poison Jab': {secondaries: true},
1287
+ 'Poison Sting': {secondaries: true},
1288
+ 'Poison Tail': {secondaries: true},
1289
+ 'Powder Snow': {secondaries: true},
1290
+ Psybeam: {secondaries: true},
1291
+ Psychic: {secondaries: true},
1292
+ 'Rock Slide': {secondaries: true},
1293
+ 'Rock Smash': {secondaries: true},
1294
+ 'Shadow Ball': {secondaries: true},
1295
+ 'Shadow Strike': {secondaries: true},
1296
+ 'Sky Attack': {secondaries: true},
1297
+ Sludge: {secondaries: true},
1298
+ 'Sludge Bomb': {secondaries: true},
1299
+ Spark: {secondaries: true},
1300
+ 'Steel Wing': {secondaries: true},
1301
+ 'Thunder Fang': {secondaries: true},
1302
+ 'Thunder Punch': {secondaries: true},
1303
+ 'Thunder Shock': {secondaries: true},
1304
+ 'Tri Attack': {secondaries: true},
1305
+ Twister: {secondaries: true},
1306
+ 'Volt Tackle': {secondaries: true, recoil: [33, 100]},
1307
+ 'Wood Hammer': {recoil: [33, 100]},
1308
+ Waterfall: {secondaries: true},
1309
+ 'Water Pulse': {secondaries: true},
1310
+ 'Zap Cannon': {secondaries: true},
1311
+ 'Zen Headbutt': {secondaries: true},
1312
+ Autotomize: {bp: 0, type: 'Steel'},
1313
+ Bestow: {bp: 0, type: 'Normal'},
1314
+ 'Echoed Voice': {bp: 40, type: 'Normal', isSound: true, category: 'Special'},
1315
+ 'Electro Ball': {bp: 0, type: 'Electric', category: 'Special'},
1316
+ Entrainment: {bp: 0, type: 'Normal'},
1317
+ 'Final Gambit': {
1318
+ bp: 0,
1319
+ type: 'Fighting',
1320
+ makesContact: true,
1321
+ category: 'Special',
1322
+ },
1323
+ 'Fire Pledge': {bp: 50, type: 'Fire', category: 'Special'},
1324
+ 'Frost Breath': {bp: 40, type: 'Ice', willCrit: true, category: 'Special'},
1325
+ 'Grass Pledge': {bp: 50, type: 'Grass', category: 'Special'},
1326
+ 'Heal Pulse': {bp: 0, type: 'Psychic'},
1327
+ 'Heat Crash': {
1328
+ bp: 0,
1329
+ type: 'Fire',
1330
+ makesContact: true,
1331
+ category: 'Physical',
1332
+ },
1333
+ Hex: {bp: 50, type: 'Ghost', category: 'Special'},
1334
+ 'Horn Leech': {
1335
+ bp: 75,
1336
+ type: 'Grass',
1337
+ drain: [1, 2],
1338
+ makesContact: true,
1339
+ category: 'Physical',
1340
+ },
1341
+ Hurricane: {
1342
+ bp: 120,
1343
+ type: 'Flying',
1344
+ category: 'Special',
1345
+ secondaries: true,
1346
+ },
1347
+ Incinerate: {bp: 30, type: 'Fire', target: 'allAdjacentFoes', category: 'Special'},
1348
+ 'Low Sweep': {
1349
+ bp: 60,
1350
+ type: 'Fighting',
1351
+ makesContact: true,
1352
+ category: 'Physical',
1353
+ secondaries: true,
1354
+ },
1355
+ 'Magic Room': {bp: 0, type: 'Psychic'},
1356
+ 'Quick Guard': {bp: 0, type: 'Fighting', priority: 3},
1357
+ 'Rage Powder': {bp: 0, type: 'Bug', priority: 3},
1358
+ 'Relic Song': {
1359
+ bp: 75,
1360
+ type: 'Normal',
1361
+ isSound: true,
1362
+ target: 'allAdjacentFoes',
1363
+ category: 'Special',
1364
+ secondaries: true,
1365
+ },
1366
+ Round: {bp: 60, type: 'Normal', isSound: true, category: 'Special'},
1367
+ 'Sacred Sword': {
1368
+ bp: 90,
1369
+ type: 'Fighting',
1370
+ makesContact: true,
1371
+ category: 'Physical',
1372
+ ignoreDefensive: true,
1373
+ },
1374
+ Scald: {
1375
+ bp: 80,
1376
+ type: 'Water',
1377
+ category: 'Special',
1378
+ secondaries: true,
1379
+ },
1380
+ 'Simple Beam': {bp: 0, type: 'Normal'},
1381
+ 'Sky Drop': {
1382
+ bp: 60,
1383
+ type: 'Flying',
1384
+ makesContact: true,
1385
+ category: 'Physical',
1386
+ },
1387
+ Snarl: {
1388
+ bp: 55,
1389
+ type: 'Dark',
1390
+ isSound: true,
1391
+ target: 'allAdjacentFoes',
1392
+ category: 'Special',
1393
+ secondaries: true,
1394
+ },
1395
+ Soak: {bp: 0, type: 'Water'},
1396
+ Steamroller: {
1397
+ bp: 65,
1398
+ type: 'Bug',
1399
+ makesContact: true,
1400
+ category: 'Physical',
1401
+ secondaries: true,
1402
+ },
1403
+ 'Storm Throw': {
1404
+ bp: 40,
1405
+ type: 'Fighting',
1406
+ willCrit: true,
1407
+ makesContact: true,
1408
+ category: 'Physical',
1409
+ },
1410
+ 'Struggle Bug': {
1411
+ bp: 30,
1412
+ type: 'Bug',
1413
+ target: 'allAdjacentFoes',
1414
+ category: 'Special',
1415
+ secondaries: true,
1416
+ },
1417
+ Synchronoise: {
1418
+ bp: 70,
1419
+ type: 'Psychic',
1420
+ target: 'allAdjacent',
1421
+ category: 'Special',
1422
+ },
1423
+ 'Techno Blast': {bp: 85, type: 'Normal', category: 'Special'},
1424
+ Telekinesis: {bp: 0, type: 'Psychic'},
1425
+ 'Water Pledge': {bp: 50, type: 'Water', category: 'Special'},
1426
+ 'Wide Guard': {bp: 0, type: 'Rock', priority: 3},
1427
+ 'Wonder Room': {bp: 0, type: 'Psychic'},
1428
+ 'Ally Switch': {bp: 0, type: 'Psychic', priority: 1},
1429
+ 'Flame Burst': {bp: 70, type: 'Fire', category: 'Special'},
1430
+ 'Heavy Slam': {
1431
+ bp: 0,
1432
+ type: 'Steel',
1433
+ makesContact: true,
1434
+ category: 'Physical',
1435
+ },
1436
+ 'Reflect Type': {bp: 0, type: 'Normal'},
1437
+ 'Volt Switch': {bp: 70, type: 'Electric', category: 'Special'},
1438
+ 'Chip Away': {
1439
+ bp: 70,
1440
+ type: 'Normal',
1441
+ makesContact: true,
1442
+ category: 'Physical',
1443
+ ignoreDefensive: true,
1444
+ },
1445
+ 'Fiery Dance': {
1446
+ bp: 80,
1447
+ type: 'Fire',
1448
+ category: 'Special',
1449
+ secondaries: true,
1450
+ },
1451
+ 'Head Charge': {
1452
+ bp: 120,
1453
+ type: 'Normal',
1454
+ recoil: [1, 4],
1455
+ makesContact: true,
1456
+ category: 'Physical',
1457
+ },
1458
+ 'Heart Stamp': {
1459
+ bp: 60,
1460
+ type: 'Psychic',
1461
+ makesContact: true,
1462
+ category: 'Physical',
1463
+ secondaries: true,
1464
+ },
1465
+ Quash: {bp: 0, type: 'Dark'},
1466
+ 'Searing Shot': {
1467
+ bp: 100,
1468
+ type: 'Fire',
1469
+ target: 'allAdjacent',
1470
+ category: 'Special',
1471
+ secondaries: true,
1472
+ },
1473
+ 'Acid Spray': {
1474
+ bp: 40,
1475
+ type: 'Poison',
1476
+ category: 'Special',
1477
+ secondaries: true,
1478
+ },
1479
+ Acrobatics: {
1480
+ bp: 55,
1481
+ type: 'Flying',
1482
+ makesContact: true,
1483
+ category: 'Physical',
1484
+ },
1485
+ 'After You': {bp: 0, type: 'Normal'},
1486
+ 'Blue Flare': {
1487
+ bp: 130,
1488
+ type: 'Fire',
1489
+ category: 'Special',
1490
+ secondaries: true,
1491
+ },
1492
+ 'Bolt Strike': {
1493
+ bp: 130,
1494
+ type: 'Electric',
1495
+ makesContact: true,
1496
+ category: 'Physical',
1497
+ secondaries: true,
1498
+ },
1499
+ Bulldoze: {
1500
+ bp: 60,
1501
+ type: 'Ground',
1502
+ target: 'allAdjacent',
1503
+ category: 'Physical',
1504
+ secondaries: true,
1505
+ },
1506
+ 'Circle Throw': {
1507
+ bp: 60,
1508
+ type: 'Fighting',
1509
+ makesContact: true,
1510
+ category: 'Physical',
1511
+ },
1512
+ 'Clear Smog': {bp: 50, type: 'Poison', category: 'Special'},
1513
+ Coil: {bp: 0, type: 'Poison'},
1514
+ 'Cotton Guard': {bp: 0, type: 'Grass'},
1515
+ 'Dragon Tail': {
1516
+ bp: 60,
1517
+ type: 'Dragon',
1518
+ makesContact: true,
1519
+ category: 'Physical',
1520
+ },
1521
+ 'Drill Run': {
1522
+ bp: 80,
1523
+ type: 'Ground',
1524
+ makesContact: true,
1525
+ category: 'Physical',
1526
+ },
1527
+ 'Dual Chop': {
1528
+ bp: 40,
1529
+ type: 'Dragon',
1530
+ multihit: 2,
1531
+ makesContact: true,
1532
+ category: 'Physical',
1533
+ },
1534
+ Electroweb: {
1535
+ bp: 55,
1536
+ type: 'Electric',
1537
+ target: 'allAdjacentFoes',
1538
+ category: 'Special',
1539
+ secondaries: true,
1540
+ },
1541
+ 'Flame Charge': {
1542
+ bp: 50,
1543
+ type: 'Fire',
1544
+ makesContact: true,
1545
+ category: 'Physical',
1546
+ secondaries: true,
1547
+ },
1548
+ 'Foul Play': {
1549
+ bp: 95,
1550
+ type: 'Dark',
1551
+ makesContact: true,
1552
+ category: 'Physical',
1553
+ overrideOffensivePokemon: 'target',
1554
+ },
1555
+ 'Freeze Shock': {
1556
+ bp: 140,
1557
+ type: 'Ice',
1558
+ category: 'Physical',
1559
+ secondaries: true,
1560
+ },
1561
+ 'Fusion Bolt': {bp: 100, type: 'Electric', category: 'Physical'},
1562
+ 'Fusion Flare': {bp: 100, type: 'Fire', category: 'Special'},
1563
+ 'Gear Grind': {
1564
+ bp: 50,
1565
+ type: 'Steel',
1566
+ multihit: 2,
1567
+ makesContact: true,
1568
+ category: 'Physical',
1569
+ },
1570
+ Glaciate: {
1571
+ bp: 65,
1572
+ type: 'Ice',
1573
+ target: 'allAdjacentFoes',
1574
+ category: 'Special',
1575
+ secondaries: true,
1576
+ },
1577
+ 'Guard Split': {bp: 0, type: 'Psychic'},
1578
+ 'Hone Claws': {bp: 0, type: 'Dark'},
1579
+ 'Ice Burn': {
1580
+ bp: 140,
1581
+ type: 'Ice',
1582
+ category: 'Special',
1583
+ secondaries: true,
1584
+ },
1585
+ 'Icicle Crash': {
1586
+ bp: 85,
1587
+ type: 'Ice',
1588
+ category: 'Physical',
1589
+ secondaries: true,
1590
+ },
1591
+ Inferno: {
1592
+ bp: 100,
1593
+ type: 'Fire',
1594
+ category: 'Special',
1595
+ secondaries: true,
1596
+ },
1597
+ 'Leaf Tornado': {
1598
+ bp: 65,
1599
+ type: 'Grass',
1600
+ category: 'Special',
1601
+ secondaries: true,
1602
+ },
1603
+ 'Night Daze': {
1604
+ bp: 85,
1605
+ type: 'Dark',
1606
+ category: 'Special',
1607
+ secondaries: true,
1608
+ },
1609
+ 'Power Split': {bp: 0, type: 'Psychic'},
1610
+ Psyshock: {
1611
+ bp: 80,
1612
+ type: 'Psychic',
1613
+ category: 'Special',
1614
+ overrideDefensiveStat: 'def',
1615
+ },
1616
+ Psystrike: {
1617
+ bp: 100,
1618
+ type: 'Psychic',
1619
+ category: 'Special',
1620
+ overrideDefensiveStat: 'def',
1621
+ },
1622
+ 'Quiver Dance': {bp: 0, type: 'Bug'},
1623
+ 'Razor Shell': {
1624
+ bp: 75,
1625
+ type: 'Water',
1626
+ makesContact: true,
1627
+ category: 'Physical',
1628
+ secondaries: true,
1629
+ },
1630
+ Retaliate: {
1631
+ bp: 70,
1632
+ type: 'Normal',
1633
+ makesContact: true,
1634
+ category: 'Physical',
1635
+ },
1636
+ 'Secret Sword': {
1637
+ bp: 85,
1638
+ type: 'Fighting',
1639
+ category: 'Special',
1640
+ overrideDefensiveStat: 'def',
1641
+ },
1642
+ 'Shell Smash': {bp: 0, type: 'Normal'},
1643
+ 'Shift Gear': {bp: 0, type: 'Steel'},
1644
+ 'Sludge Wave': {
1645
+ bp: 95,
1646
+ type: 'Poison',
1647
+ target: 'allAdjacent',
1648
+ category: 'Special',
1649
+ secondaries: true,
1650
+ },
1651
+ 'Smack Down': {bp: 50, type: 'Rock', category: 'Physical'},
1652
+ 'Stored Power': {bp: 20, type: 'Psychic', category: 'Special'},
1653
+ 'Tail Slap': {
1654
+ bp: 25,
1655
+ type: 'Normal',
1656
+ multihit: [2, 5],
1657
+ makesContact: true,
1658
+ category: 'Physical',
1659
+ },
1660
+ 'V-create': {
1661
+ bp: 180,
1662
+ type: 'Fire',
1663
+ makesContact: true,
1664
+ category: 'Physical',
1665
+ },
1666
+ Venoshock: {bp: 65, type: 'Poison', category: 'Special'},
1667
+ 'Wild Charge': {
1668
+ bp: 90,
1669
+ type: 'Electric',
1670
+ recoil: [1, 4],
1671
+ makesContact: true,
1672
+ category: 'Physical',
1673
+ },
1674
+ 'Work Up': {bp: 0, type: 'Normal'},
1675
+ };
1676
+
1677
+ const BW: {[name: string]: MoveData} = extend(true, {}, DPP, BW_PATCH);
1678
+
1679
+ delete BW['Faint Attack'];
1680
+
1681
+ const XY_PATCH: {[name: string]: DeepPartial<MoveData>} = {
1682
+ 'Ice Ball': {isBullet: true},
1683
+ 'Knock Off': {bp: 65},
1684
+ Thief: {bp: 60},
1685
+ Barrage: {isBullet: true},
1686
+ Bubble: {bp: 40},
1687
+ Chatter: {bp: 65},
1688
+ 'Egg Bomb': {isBullet: true},
1689
+ 'Follow Me': {priority: 2},
1690
+ Hurricane: {bp: 110},
1691
+ 'Hidden Power': {bp: 60},
1692
+ 'Hidden Power Bug': {bp: 60},
1693
+ 'Hidden Power Dark': {bp: 60},
1694
+ 'Hidden Power Dragon': {bp: 60},
1695
+ 'Hidden Power Electric': {bp: 60},
1696
+ 'Hidden Power Fighting': {bp: 60},
1697
+ 'Hidden Power Fire': {bp: 60},
1698
+ 'Hidden Power Flying': {bp: 60},
1699
+ 'Hidden Power Ghost': {bp: 60},
1700
+ 'Hidden Power Grass': {bp: 60},
1701
+ 'Hidden Power Ground': {bp: 60},
1702
+ 'Hidden Power Ice': {bp: 60},
1703
+ 'Hidden Power Poison': {bp: 60},
1704
+ 'Hidden Power Psychic': {bp: 60},
1705
+ 'Hidden Power Rock': {bp: 60},
1706
+ 'Hidden Power Steel': {bp: 60},
1707
+ 'Hidden Power Water': {bp: 60},
1708
+ 'Magma Storm': {bp: 100},
1709
+ 'Magnet Bomb': {isBullet: true},
1710
+ 'Mist Ball': {isBullet: true},
1711
+ Moonlight: {type: 'Fairy'},
1712
+ 'Mud Bomb': {isBullet: true},
1713
+ 'Searing Shot': {isBullet: true},
1714
+ 'Smelling Salts': {bp: 70},
1715
+ Synchronoise: {bp: 120},
1716
+ 'Techno Blast': {bp: 120},
1717
+ Thunder: {bp: 110},
1718
+ 'Wake-Up Slap': {bp: 70},
1719
+ 'Acid Spray': {isBullet: true},
1720
+ 'Air Cutter': {bp: 60},
1721
+ 'Ancient Power': {},
1722
+ Assurance: {bp: 60},
1723
+ 'Aura Sphere': {bp: 80, isBullet: true, isPulse: true},
1724
+ Blizzard: {bp: 110},
1725
+ 'Bullet Seed': {isBullet: true},
1726
+ Charm: {type: 'Fairy'},
1727
+ 'Cotton Spore': {target: 'allAdjacentFoes'},
1728
+ Crabhammer: {bp: 100},
1729
+ 'Dark Pulse': {isPulse: true},
1730
+ 'Draco Meteor': {bp: 130},
1731
+ 'Dragon Pulse': {bp: 85, isPulse: true},
1732
+ 'Electro Ball': {isBullet: true},
1733
+ 'Energy Ball': {bp: 90, isBullet: true},
1734
+ 'Final Gambit': {makesContact: false},
1735
+ 'Fire Blast': {bp: 110},
1736
+ 'Fire Pledge': {bp: 80},
1737
+ Flamethrower: {bp: 90},
1738
+ 'Focus Blast': {isBullet: true},
1739
+ 'Frost Breath': {bp: 60},
1740
+ 'Fury Cutter': {bp: 40},
1741
+ 'Future Sight': {bp: 120},
1742
+ 'Grass Pledge': {bp: 80},
1743
+ 'Gyro Ball': {isBullet: true},
1744
+ 'Heal Pulse': {isPulse: true},
1745
+ 'Heat Wave': {bp: 95},
1746
+ Hex: {bp: 65},
1747
+ 'Hydro Pump': {bp: 110},
1748
+ 'Ice Beam': {bp: 90},
1749
+ Incinerate: {bp: 60},
1750
+ 'Leaf Storm': {bp: 130},
1751
+ Lick: {bp: 30},
1752
+ 'Low Sweep': {bp: 65},
1753
+ 'Meteor Mash': {bp: 90},
1754
+ 'Muddy Water': {bp: 90},
1755
+ Octazooka: {isBullet: true},
1756
+ Overheat: {bp: 130},
1757
+ 'Pin Missile': {bp: 25},
1758
+ 'Power Gem': {bp: 80},
1759
+ 'Rage Powder': {priority: 2},
1760
+ 'Rock Tomb': {bp: 60},
1761
+ 'Rock Wrecker': {isBullet: true},
1762
+ 'Seed Bomb': {isBullet: true},
1763
+ 'Shadow Ball': {isBullet: true},
1764
+ 'Skull Bash': {bp: 130},
1765
+ 'Sludge Bomb': {isBullet: true},
1766
+ Smog: {bp: 30},
1767
+ Snore: {bp: 50},
1768
+ 'Storm Throw': {bp: 60},
1769
+ 'Struggle Bug': {bp: 50},
1770
+ Surf: {bp: 90},
1771
+ 'Sweet Kiss': {type: 'Fairy'},
1772
+ Thunderbolt: {bp: 90},
1773
+ 'Vine Whip': {bp: 45},
1774
+ 'Water Pledge': {bp: 80},
1775
+ 'Water Pulse': {isPulse: true},
1776
+ 'Weather Ball': {isBullet: true},
1777
+ 'Zap Cannon': {isBullet: true},
1778
+ 'Diamond Storm': {
1779
+ bp: 100,
1780
+ type: 'Rock',
1781
+ target: 'allAdjacentFoes',
1782
+ category: 'Physical',
1783
+ secondaries: true,
1784
+ },
1785
+ 'Fell Stinger': {
1786
+ bp: 30,
1787
+ type: 'Bug',
1788
+ makesContact: true,
1789
+ category: 'Physical',
1790
+ },
1791
+ 'Flying Press': {
1792
+ bp: 80,
1793
+ type: 'Fighting',
1794
+ makesContact: true,
1795
+ category: 'Physical',
1796
+ },
1797
+ 'Hyperspace Fury': {
1798
+ bp: 100,
1799
+ type: 'Dark',
1800
+ breaksProtect: true,
1801
+ category: 'Physical',
1802
+ },
1803
+ 'Hyperspace Hole': {
1804
+ bp: 80,
1805
+ type: 'Psychic',
1806
+ breaksProtect: true,
1807
+ category: 'Special',
1808
+ },
1809
+ 'King\'s Shield': {bp: 0, type: 'Steel', priority: 4},
1810
+ 'Misty Terrain': {bp: 0, type: 'Fairy'},
1811
+ 'Mystical Fire': {
1812
+ bp: 65,
1813
+ type: 'Fire',
1814
+ category: 'Special',
1815
+ secondaries: true,
1816
+ },
1817
+ 'Parabolic Charge': {
1818
+ bp: 50,
1819
+ type: 'Electric',
1820
+ drain: [1, 2],
1821
+ target: 'allAdjacent',
1822
+ category: 'Special',
1823
+ },
1824
+ 'Parting Shot': {bp: 0, type: 'Dark', isSound: true},
1825
+ 'Phantom Force': {
1826
+ bp: 90,
1827
+ type: 'Ghost',
1828
+ breaksProtect: true,
1829
+ makesContact: true,
1830
+ category: 'Physical',
1831
+ },
1832
+ Powder: {bp: 0, type: 'Bug', priority: 1},
1833
+ 'Spiky Shield': {bp: 0, type: 'Grass', priority: 4},
1834
+ 'Thousand Arrows': {bp: 90, type: 'Ground', target: 'allAdjacentFoes', category: 'Physical'},
1835
+ 'Thousand Waves': {bp: 90, type: 'Ground', target: 'allAdjacentFoes', category: 'Physical'},
1836
+ 'Water Shuriken': {
1837
+ bp: 15,
1838
+ type: 'Water',
1839
+ multihit: [2, 5],
1840
+ priority: 1,
1841
+ category: 'Physical',
1842
+ },
1843
+ 'Dragon Ascent': {
1844
+ bp: 120,
1845
+ type: 'Flying',
1846
+ makesContact: true,
1847
+ category: 'Physical',
1848
+ },
1849
+ 'Electric Terrain': {bp: 0, type: 'Electric'},
1850
+ Geomancy: {bp: 0, type: 'Fairy'},
1851
+ 'Grassy Terrain': {bp: 0, type: 'Grass'},
1852
+ 'Ion Deluge': {bp: 0, type: 'Electric', priority: 1},
1853
+ 'Land\'s Wrath': {bp: 90, type: 'Ground', target: 'allAdjacentFoes', category: 'Physical'},
1854
+ 'Light of Ruin': {bp: 140, type: 'Fairy', recoil: [1, 2], category: 'Special'},
1855
+ 'Oblivion Wing': {
1856
+ bp: 80,
1857
+ type: 'Flying',
1858
+ drain: [3, 4],
1859
+ category: 'Special',
1860
+ },
1861
+ 'Origin Pulse': {
1862
+ bp: 110,
1863
+ type: 'Water',
1864
+ target: 'allAdjacentFoes',
1865
+ category: 'Special',
1866
+ isPulse: true,
1867
+ },
1868
+ 'Precipice Blades': {
1869
+ bp: 120,
1870
+ type: 'Ground',
1871
+ target: 'allAdjacentFoes',
1872
+ category: 'Physical',
1873
+ },
1874
+ Rototiller: {bp: 0, type: 'Ground'},
1875
+ 'Steam Eruption': {
1876
+ bp: 110,
1877
+ type: 'Water',
1878
+ category: 'Special',
1879
+ secondaries: true,
1880
+ },
1881
+ 'Aromatic Mist': {bp: 0, type: 'Fairy'},
1882
+ 'Baby-Doll Eyes': {bp: 0, type: 'Fairy', priority: 1},
1883
+ Belch: {bp: 120, type: 'Poison', category: 'Special'},
1884
+ Boomburst: {
1885
+ bp: 140,
1886
+ type: 'Normal',
1887
+ isSound: true,
1888
+ target: 'allAdjacent',
1889
+ category: 'Special',
1890
+ },
1891
+ Celebrate: {bp: 0, type: 'Normal'},
1892
+ Confide: {bp: 0, type: 'Normal', isSound: true},
1893
+ 'Crafty Shield': {bp: 0, type: 'Fairy', priority: 3},
1894
+ 'Dazzling Gleam': {bp: 80, type: 'Fairy', target: 'allAdjacentFoes', category: 'Special'},
1895
+ 'Disarming Voice': {
1896
+ bp: 40,
1897
+ type: 'Fairy',
1898
+ isSound: true,
1899
+ target: 'allAdjacentFoes',
1900
+ category: 'Special',
1901
+ },
1902
+ 'Draining Kiss': {
1903
+ bp: 50,
1904
+ type: 'Fairy',
1905
+ drain: [3, 4],
1906
+ makesContact: true,
1907
+ category: 'Special',
1908
+ },
1909
+ 'Eerie Impulse': {bp: 0, type: 'Electric'},
1910
+ Electrify: {bp: 0, type: 'Electric'},
1911
+ 'Fairy Lock': {bp: 0, type: 'Fairy'},
1912
+ 'Fairy Wind': {bp: 40, type: 'Fairy', category: 'Special'},
1913
+ 'Flower Shield': {bp: 0, type: 'Fairy'},
1914
+ 'Forest\'s Curse': {bp: 0, type: 'Grass'},
1915
+ 'Freeze-Dry': {
1916
+ bp: 70,
1917
+ type: 'Ice',
1918
+ category: 'Special',
1919
+ secondaries: true,
1920
+ },
1921
+ 'Happy Hour': {bp: 0, type: 'Normal'},
1922
+ 'Hold Back': {
1923
+ bp: 40,
1924
+ type: 'Normal',
1925
+ makesContact: true,
1926
+ category: 'Physical',
1927
+ },
1928
+ 'Hold Hands': {bp: 0, type: 'Normal'},
1929
+ Infestation: {bp: 20, type: 'Bug', makesContact: true, category: 'Special'},
1930
+ 'Magnetic Flux': {bp: 0, type: 'Electric'},
1931
+ 'Mat Block': {bp: 0, type: 'Fighting'},
1932
+ Moonblast: {
1933
+ bp: 95,
1934
+ type: 'Fairy',
1935
+ category: 'Special',
1936
+ secondaries: true,
1937
+ },
1938
+ 'Noble Roar': {bp: 0, type: 'Normal', isSound: true},
1939
+ Nuzzle: {
1940
+ bp: 20,
1941
+ type: 'Electric',
1942
+ makesContact: true,
1943
+ category: 'Physical',
1944
+ secondaries: true,
1945
+ },
1946
+ 'Petal Blizzard': {
1947
+ bp: 90,
1948
+ type: 'Grass',
1949
+ target: 'allAdjacent',
1950
+ category: 'Physical',
1951
+ },
1952
+ 'Play Nice': {bp: 0, type: 'Normal'},
1953
+ 'Play Rough': {
1954
+ bp: 90,
1955
+ type: 'Fairy',
1956
+ makesContact: true,
1957
+ category: 'Physical',
1958
+ secondaries: true,
1959
+ },
1960
+ 'Power-Up Punch': {
1961
+ bp: 40,
1962
+ type: 'Fighting',
1963
+ makesContact: true,
1964
+ isPunch: true,
1965
+ category: 'Physical',
1966
+ secondaries: true,
1967
+ },
1968
+ 'Sticky Web': {bp: 0, type: 'Bug'},
1969
+ 'Topsy-Turvy': {bp: 0, type: 'Dark'},
1970
+ 'Trick-or-Treat': {bp: 0, type: 'Ghost'},
1971
+ 'Venom Drench': {bp: 0, type: 'Poison', target: 'allAdjacentFoes'},
1972
+ };
1973
+
1974
+ const XY: {[name: string]: MoveData} = extend(true, {}, BW, XY_PATCH);
1975
+
1976
+ const SM_PATCH: {[name: string]: DeepPartial<MoveData>} = {
1977
+ 'Ally Switch': {priority: 2},
1978
+ Aeroblast: {zp: 180},
1979
+ Barrage: {zp: 100},
1980
+ Bide: {zp: 100},
1981
+ 'Bone Club': {zp: 120},
1982
+ Bonemerang: {zp: 100},
1983
+ Bubble: {zp: 100},
1984
+ Chatter: {zp: 120},
1985
+ 'Chip Away': {zp: 140},
1986
+ Clamp: {zp: 100},
1987
+ 'Comet Punch': {zp: 100},
1988
+ Constrict: {zp: 100},
1989
+ 'Crush Grip': {zp: 190},
1990
+ 'Diamond Storm': {zp: 180},
1991
+ 'Dizzy Punch': {zp: 140},
1992
+ 'Double Slap': {zp: 100},
1993
+ 'Dragon Ascent': {zp: 190},
1994
+ 'Dragon Rage': {zp: 100},
1995
+ 'Egg Bomb': {zp: 180},
1996
+ 'Feint Attack': {zp: 120},
1997
+ 'Fiery Dance': {zp: 160},
1998
+ 'Flame Burst': {zp: 140},
1999
+ Frustration: {zp: 160},
2000
+ 'Grass Knot': {zp: 160},
2001
+ 'Head Charge': {zp: 190},
2002
+ 'Heart Stamp': {zp: 120},
2003
+ 'Heat Crash': {zp: 160},
2004
+ 'Heavy Slam': {zp: 160},
2005
+ Hurricane: {zp: 185},
2006
+ 'Hidden Power': {zp: 120},
2007
+ 'Hidden Power Bug': {zp: 120},
2008
+ 'Hidden Power Dark': {zp: 120},
2009
+ 'Hidden Power Dragon': {zp: 120},
2010
+ 'Hidden Power Electric': {zp: 120},
2011
+ 'Hidden Power Fighting': {zp: 120},
2012
+ 'Hidden Power Fire': {zp: 120},
2013
+ 'Hidden Power Flying': {zp: 120},
2014
+ 'Hidden Power Ghost': {zp: 120},
2015
+ 'Hidden Power Grass': {zp: 120},
2016
+ 'Hidden Power Ground': {zp: 120},
2017
+ 'Hidden Power Ice': {zp: 120},
2018
+ 'Hidden Power Poison': {zp: 120},
2019
+ 'Hidden Power Psychic': {zp: 120},
2020
+ 'Hidden Power Rock': {zp: 120},
2021
+ 'Hidden Power Steel': {zp: 120},
2022
+ 'Hidden Power Water': {zp: 120},
2023
+ 'Hyper Fang': {zp: 160},
2024
+ 'Hyperspace Fury': {zp: 180},
2025
+ 'Hyperspace Hole': {zp: 160},
2026
+ 'Ice Ball': {zp: 100},
2027
+ Judgment: {zp: 180},
2028
+ 'Jump Kick': {zp: 180},
2029
+ 'Karate Chop': {zp: 100},
2030
+ 'Knock Off': {zp: 120},
2031
+ 'Land\'s Wrath': {zp: 185},
2032
+ 'Light of Ruin': {zp: 200},
2033
+ 'Low Kick': {zp: 160},
2034
+ 'Luster Purge': {zp: 140},
2035
+ 'Magma Storm': {zp: 180},
2036
+ 'Magnet Bomb': {zp: 120},
2037
+ Magnitude: {zp: 140},
2038
+ 'Mirror Shot': {zp: 120},
2039
+ 'Mist Ball': {zp: 140},
2040
+ 'Mud Bomb': {zp: 120},
2041
+ 'Natural Gift': {zp: 160},
2042
+ 'Needle Arm': {zp: 120},
2043
+ 'Oblivion Wing': {zp: 160},
2044
+ 'Ominous Wind': {zp: 120},
2045
+ 'Origin Pulse': {zp: 185},
2046
+ 'Precipice Blades': {zp: 190},
2047
+ 'Psycho Boost': {zp: 200},
2048
+ Psywave: {zp: 100},
2049
+ Punishment: {zp: 160},
2050
+ Pursuit: {zp: 100},
2051
+ Rage: {zp: 100},
2052
+ 'Rapid Spin': {zp: 100},
2053
+ 'Razor Wind': {zp: 160},
2054
+ 'Relic Song': {zp: 140},
2055
+ Return: {zp: 160},
2056
+ 'Roar of Time': {zp: 200},
2057
+ 'Rock Climb': {zp: 175},
2058
+ 'Rolling Kick': {zp: 120},
2059
+ 'Sacred Fire': {zp: 180},
2060
+ 'Searing Shot': {zp: 180},
2061
+ 'Secret Power': {zp: 140},
2062
+ 'Seed Flare': {zp: 190},
2063
+ 'Shadow Force': {zp: 190},
2064
+ 'Signal Beam': {zp: 140},
2065
+ 'Silver Wind': {zp: 120},
2066
+ 'Sky Drop': {zp: 120},
2067
+ 'Sky Uppercut': {zp: 160},
2068
+ 'Smelling Salts': {zp: 140},
2069
+ 'Solar Beam': {zp: 190},
2070
+ 'Sonic Boom': {zp: 100},
2071
+ 'Spacial Rend': {zp: 180},
2072
+ 'Spike Cannon': {zp: 120},
2073
+ 'Steam Eruption': {zp: 185},
2074
+ Steamroller: {zp: 120},
2075
+ Synchronoise: {zp: 190},
2076
+ 'Techno Blast': {zp: 190},
2077
+ 'Thousand Arrows': {zp: 180},
2078
+ 'Thousand Waves': {zp: 175},
2079
+ 'Trump Card': {zp: 160},
2080
+ Thunder: {zp: 185},
2081
+ Twineedle: {zp: 100},
2082
+ 'Wake-Up Slap': {zp: 140},
2083
+ 'Wring Out': {zp: 190},
2084
+ Absorb: {zp: 100},
2085
+ Acid: {zp: 100},
2086
+ 'Acid Spray': {zp: 100},
2087
+ Acrobatics: {zp: 100},
2088
+ 'Aerial Ace': {zp: 120},
2089
+ 'Air Cutter': {zp: 120},
2090
+ 'Air Slash': {zp: 140},
2091
+ 'Ancient Power': {zp: 120},
2092
+ 'Aqua Jet': {zp: 100},
2093
+ 'Aqua Tail': {zp: 175},
2094
+ 'Arm Thrust': {zp: 100},
2095
+ Assurance: {zp: 120},
2096
+ Astonish: {zp: 100},
2097
+ 'Attack Order': {zp: 175},
2098
+ 'Aura Sphere': {zp: 160},
2099
+ 'Aurora Beam': {zp: 120},
2100
+ Avalanche: {zp: 120},
2101
+ 'Beat Up': {zp: 100},
2102
+ Belch: {zp: 190},
2103
+ Bind: {zp: 100},
2104
+ Bite: {zp: 120},
2105
+ 'Blast Burn': {zp: 200},
2106
+ 'Blaze Kick': {zp: 160},
2107
+ Blizzard: {zp: 185},
2108
+ 'Blue Flare': {zp: 195},
2109
+ 'Body Slam': {zp: 160},
2110
+ 'Bolt Strike': {zp: 195},
2111
+ 'Bone Rush': {zp: 140},
2112
+ Boomburst: {zp: 200},
2113
+ Bounce: {zp: 160},
2114
+ 'Brave Bird': {zp: 190},
2115
+ 'Brick Break': {zp: 140},
2116
+ Brine: {zp: 120},
2117
+ 'Bubble Beam': {zp: 120},
2118
+ 'Bug Bite': {zp: 120},
2119
+ 'Bug Buzz': {zp: 175},
2120
+ Bulldoze: {zp: 120},
2121
+ 'Bullet Punch': {zp: 100},
2122
+ 'Bullet Seed': {zp: 140},
2123
+ 'Charge Beam': {zp: 100},
2124
+ 'Circle Throw': {zp: 120},
2125
+ 'Clear Smog': {zp: 100},
2126
+ 'Close Combat': {zp: 190},
2127
+ Confusion: {zp: 100},
2128
+ Counter: {zp: 100},
2129
+ Covet: {zp: 120},
2130
+ Crabhammer: {zp: 180},
2131
+ 'Cross Chop': {zp: 180},
2132
+ 'Cross Poison': {zp: 140},
2133
+ Crunch: {zp: 160},
2134
+ 'Crush Claw': {zp: 140},
2135
+ Cut: {zp: 100},
2136
+ 'Dark Pulse': {zp: 160},
2137
+ 'Dazzling Gleam': {zp: 160},
2138
+ Dig: {zp: 160},
2139
+ 'Disarming Voice': {zp: 100},
2140
+ Discharge: {zp: 160},
2141
+ Dive: {zp: 160},
2142
+ 'Doom Desire': {zp: 200},
2143
+ 'Double-Edge': {zp: 190},
2144
+ 'Double Hit': {zp: 140},
2145
+ 'Double Kick': {zp: 100},
2146
+ 'Draco Meteor': {zp: 195},
2147
+ 'Dragon Breath': {zp: 120},
2148
+ 'Dragon Claw': {zp: 160},
2149
+ 'Dragon Pulse': {zp: 160},
2150
+ 'Dragon Rush': {zp: 180},
2151
+ 'Dragon Tail': {zp: 120},
2152
+ 'Draining Kiss': {zp: 100},
2153
+ 'Drain Punch': {zp: 140},
2154
+ 'Dream Eater': {zp: 180},
2155
+ 'Drill Peck': {zp: 160},
2156
+ 'Drill Run': {zp: 160},
2157
+ 'Dual Chop': {zp: 100},
2158
+ 'Dynamic Punch': {zp: 180},
2159
+ 'Earth Power': {zp: 175},
2160
+ Earthquake: {zp: 180},
2161
+ 'Echoed Voice': {zp: 100},
2162
+ 'Electro Ball': {zp: 160},
2163
+ Electroweb: {zp: 100},
2164
+ Ember: {zp: 100},
2165
+ Endeavor: {zp: 160},
2166
+ 'Energy Ball': {zp: 175},
2167
+ Eruption: {zp: 200},
2168
+ Explosion: {zp: 200},
2169
+ Extrasensory: {zp: 160},
2170
+ 'Extreme Speed': {zp: 160},
2171
+ Facade: {zp: 140},
2172
+ 'Fairy Wind': {zp: 100},
2173
+ 'Fake Out': {zp: 100},
2174
+ 'False Swipe': {zp: 100},
2175
+ Feint: {zp: 100},
2176
+ 'Fell Stinger': {bp: 50, zp: 100},
2177
+ 'Final Gambit': {zp: 180},
2178
+ 'Fire Blast': {zp: 185},
2179
+ 'Fire Fang': {zp: 120},
2180
+ 'Fire Pledge': {zp: 160},
2181
+ 'Fire Punch': {zp: 140},
2182
+ 'Fire Spin': {zp: 100},
2183
+ Fissure: {zp: 180},
2184
+ Flail: {zp: 160},
2185
+ 'Flame Charge': {zp: 100},
2186
+ 'Flame Wheel': {zp: 120},
2187
+ Flamethrower: {zp: 175},
2188
+ 'Flare Blitz': {zp: 190},
2189
+ 'Flash Cannon': {zp: 160},
2190
+ Fling: {zp: 100},
2191
+ Fly: {zp: 175},
2192
+ 'Flying Press': {bp: 100, zp: 170},
2193
+ 'Focus Blast': {zp: 190},
2194
+ 'Focus Punch': {zp: 200},
2195
+ 'Force Palm': {zp: 120},
2196
+ 'Foul Play': {zp: 175},
2197
+ 'Freeze-Dry': {zp: 140},
2198
+ 'Freeze Shock': {zp: 200},
2199
+ 'Frenzy Plant': {zp: 200},
2200
+ 'Frost Breath': {zp: 120},
2201
+ 'Fury Attack': {zp: 100},
2202
+ 'Fury Cutter': {zp: 100},
2203
+ 'Fury Swipes': {zp: 100},
2204
+ 'Fusion Bolt': {zp: 180},
2205
+ 'Fusion Flare': {zp: 180},
2206
+ 'Future Sight': {zp: 190},
2207
+ 'Gear Grind': {zp: 180},
2208
+ 'Giga Drain': {zp: 140},
2209
+ 'Giga Impact': {zp: 200},
2210
+ Glaciate: {zp: 120},
2211
+ 'Grass Pledge': {zp: 160},
2212
+ Guillotine: {zp: 180},
2213
+ 'Gunk Shot': {zp: 190},
2214
+ Gust: {zp: 100},
2215
+ 'Gyro Ball': {zp: 160},
2216
+ 'Hammer Arm': {zp: 180},
2217
+ Headbutt: {zp: 140},
2218
+ 'Head Smash': {zp: 200},
2219
+ 'Heat Wave': {zp: 175},
2220
+ Hex: {zp: 160},
2221
+ 'High Jump Kick': {zp: 195},
2222
+ 'Hold Back': {zp: 100},
2223
+ 'Horn Attack': {zp: 120},
2224
+ 'Horn Drill': {zp: 180},
2225
+ 'Horn Leech': {zp: 140},
2226
+ 'Hydro Cannon': {zp: 200},
2227
+ 'Hydro Pump': {zp: 185},
2228
+ 'Hyper Beam': {zp: 200},
2229
+ 'Hyper Voice': {zp: 175},
2230
+ 'Ice Beam': {zp: 175},
2231
+ 'Ice Burn': {zp: 200},
2232
+ 'Ice Fang': {zp: 120},
2233
+ 'Ice Punch': {zp: 140},
2234
+ 'Ice Shard': {zp: 100},
2235
+ 'Icicle Crash': {zp: 160},
2236
+ 'Icicle Spear': {zp: 140},
2237
+ 'Icy Wind': {zp: 100},
2238
+ Incinerate: {zp: 120},
2239
+ Inferno: {zp: 180},
2240
+ Infestation: {zp: 100},
2241
+ 'Iron Head': {zp: 160},
2242
+ 'Iron Tail': {zp: 180},
2243
+ 'Last Resort': {zp: 200},
2244
+ 'Lava Plume': {zp: 160},
2245
+ 'Leaf Blade': {zp: 175},
2246
+ 'Leaf Storm': {zp: 195},
2247
+ 'Leaf Tornado': {zp: 120},
2248
+ 'Leech Life': {bp: 80, zp: 160},
2249
+ Lick: {zp: 100},
2250
+ 'Low Sweep': {zp: 120},
2251
+ 'Mach Punch': {zp: 100},
2252
+ 'Magical Leaf': {zp: 120},
2253
+ 'Mega Drain': {zp: 120},
2254
+ Megahorn: {zp: 190},
2255
+ 'Mega Kick': {zp: 190},
2256
+ 'Mega Punch': {zp: 160},
2257
+ 'Metal Burst': {zp: 100},
2258
+ 'Metal Claw': {zp: 100},
2259
+ 'Meteor Mash': {zp: 175},
2260
+ 'Mirror Coat': {zp: 100},
2261
+ Moonblast: {zp: 175},
2262
+ 'Mud Shot': {zp: 100},
2263
+ 'Mud-Slap': {zp: 100},
2264
+ 'Muddy Water': {zp: 175},
2265
+ 'Mystical Fire': {bp: 75, zp: 140},
2266
+ 'Night Daze': {zp: 160},
2267
+ 'Night Shade': {zp: 100},
2268
+ 'Night Slash': {zp: 140},
2269
+ Nuzzle: {zp: 100},
2270
+ Octazooka: {zp: 120},
2271
+ Outrage: {zp: 190},
2272
+ Overheat: {zp: 195},
2273
+ 'Paleo Wave': {zp: 160},
2274
+ 'Parabolic Charge': {bp: 65, zp: 120},
2275
+ Payback: {zp: 100},
2276
+ 'Pay Day': {zp: 100},
2277
+ Peck: {zp: 100},
2278
+ 'Petal Blizzard': {zp: 175},
2279
+ 'Petal Dance': {zp: 190},
2280
+ 'Phantom Force': {zp: 175},
2281
+ 'Pin Missile': {zp: 140},
2282
+ 'Play Rough': {zp: 175},
2283
+ Pluck: {zp: 120},
2284
+ 'Poison Fang': {zp: 100},
2285
+ 'Poison Jab': {zp: 160},
2286
+ 'Poison Sting': {zp: 100},
2287
+ 'Poison Tail': {zp: 100},
2288
+ Pound: {zp: 100},
2289
+ 'Powder Snow': {zp: 100},
2290
+ 'Power Gem': {zp: 160},
2291
+ 'Power-Up Punch': {zp: 100},
2292
+ 'Power Whip': {zp: 190},
2293
+ Present: {zp: 100},
2294
+ Psybeam: {zp: 120},
2295
+ Psychic: {zp: 175},
2296
+ 'Psycho Cut': {zp: 140},
2297
+ Psyshock: {zp: 160},
2298
+ Psystrike: {zp: 180},
2299
+ 'Quick Attack': {zp: 100},
2300
+ 'Razor Leaf': {zp: 100},
2301
+ 'Razor Shell': {zp: 140},
2302
+ Retaliate: {zp: 140},
2303
+ Revenge: {zp: 120},
2304
+ Reversal: {zp: 160},
2305
+ 'Rock Blast': {isBullet: true, zp: 140},
2306
+ 'Rock Slide': {zp: 140},
2307
+ 'Rock Smash': {zp: 100},
2308
+ 'Rock Throw': {zp: 100},
2309
+ 'Rock Tomb': {zp: 120},
2310
+ 'Rock Wrecker': {zp: 200},
2311
+ Rollout: {zp: 100},
2312
+ Round: {zp: 120},
2313
+ 'Sacred Sword': {zp: 175},
2314
+ 'Sand Tomb': {zp: 100},
2315
+ Scald: {zp: 160},
2316
+ Scratch: {zp: 100},
2317
+ 'Secret Sword': {zp: 160},
2318
+ 'Seed Bomb': {zp: 160},
2319
+ 'Seismic Toss': {zp: 100},
2320
+ 'Self-Destruct': {zp: 200},
2321
+ 'Shadow Ball': {zp: 160},
2322
+ 'Shadow Claw': {zp: 140},
2323
+ 'Shadow Punch': {zp: 120},
2324
+ 'Shadow Sneak': {zp: 100},
2325
+ 'Shadow Strike': {zp: 160},
2326
+ 'Sheer Cold': {zp: 180},
2327
+ 'Shock Wave': {zp: 120},
2328
+ 'Skull Bash': {zp: 195},
2329
+ 'Sky Attack': {zp: 200},
2330
+ Slam: {zp: 160},
2331
+ Slash: {zp: 140},
2332
+ Sludge: {zp: 120},
2333
+ 'Sludge Bomb': {zp: 175},
2334
+ 'Sludge Wave': {zp: 175},
2335
+ 'Smack Down': {zp: 100},
2336
+ Smog: {zp: 100},
2337
+ Snarl: {zp: 100},
2338
+ Snore: {zp: 100},
2339
+ Spark: {zp: 120},
2340
+ 'Spit Up': {zp: 100},
2341
+ 'Steel Wing': {zp: 140},
2342
+ Stomp: {zp: 120},
2343
+ 'Stone Edge': {zp: 180},
2344
+ 'Stored Power': {zp: 160},
2345
+ 'Storm Throw': {zp: 120},
2346
+ Strength: {zp: 160},
2347
+ 'Struggle Bug': {zp: 100},
2348
+ Submission: {zp: 160},
2349
+ 'Sucker Punch': {bp: 70, zp: 140},
2350
+ 'Super Fang': {zp: 100},
2351
+ Superpower: {zp: 190},
2352
+ Surf: {zp: 175},
2353
+ Swift: {zp: 120},
2354
+ Tackle: {bp: 40, zp: 100},
2355
+ 'Tail Slap': {zp: 140},
2356
+ 'Take Down': {zp: 175},
2357
+ Thief: {zp: 120},
2358
+ Thrash: {zp: 190},
2359
+ Thunderbolt: {zp: 175},
2360
+ 'Thunder Fang': {zp: 120},
2361
+ 'Thunder Punch': {zp: 140},
2362
+ 'Thunder Shock': {zp: 100},
2363
+ 'Tri Attack': {zp: 160},
2364
+ 'Triple Kick': {zp: 120},
2365
+ Twister: {zp: 100},
2366
+ 'U-turn': {zp: 140},
2367
+ Uproar: {zp: 175},
2368
+ 'Vacuum Wave': {zp: 100},
2369
+ 'V-create': {zp: 220},
2370
+ Venoshock: {zp: 120},
2371
+ 'Vine Whip': {zp: 100},
2372
+ 'Vise Grip': {zp: 100},
2373
+ 'Vital Throw': {zp: 140},
2374
+ 'Volt Switch': {zp: 140},
2375
+ 'Volt Tackle': {zp: 190},
2376
+ Waterfall: {zp: 160},
2377
+ 'Water Gun': {zp: 100},
2378
+ 'Water Pledge': {zp: 160},
2379
+ 'Water Pulse': {zp: 120},
2380
+ 'Water Shuriken': {category: 'Special', zp: 100},
2381
+ 'Water Spout': {zp: 200},
2382
+ 'Weather Ball': {zp: 160},
2383
+ Whirlpool: {zp: 100},
2384
+ 'Wild Charge': {zp: 175},
2385
+ 'Wing Attack': {zp: 120},
2386
+ 'Wood Hammer': {zp: 190},
2387
+ Wrap: {zp: 100},
2388
+ 'X-Scissor': {zp: 160},
2389
+ 'Zap Cannon': {zp: 190},
2390
+ 'Zen Headbutt': {zp: 160},
2391
+ '10,000,000 Volt Thunderbolt': {bp: 195, type: 'Electric', category: 'Special', isZ: true},
2392
+ 'Acid Downpour': {bp: 1, type: 'Poison', category: 'Physical', isZ: true},
2393
+ 'All-Out Pummeling': {bp: 1, type: 'Fighting', category: 'Physical', isZ: true},
2394
+ 'Baddy Bad': {bp: 90, type: 'Dark', category: 'Special', zp: 175},
2395
+ 'Baneful Bunker': {bp: 0, type: 'Poison', priority: 4},
2396
+ 'Beak Blast': {
2397
+ bp: 100,
2398
+ type: 'Flying',
2399
+ category: 'Physical',
2400
+ isBullet: true,
2401
+ zp: 180,
2402
+ },
2403
+ 'Black Hole Eclipse': {bp: 1, type: 'Dark', category: 'Physical', isZ: true},
2404
+ 'Bloom Doom': {bp: 1, type: 'Grass', category: 'Physical', isZ: true},
2405
+ 'Bouncy Bubble': {
2406
+ bp: 90,
2407
+ type: 'Water',
2408
+ drain: [1, 2],
2409
+ category: 'Special',
2410
+ zp: 175,
2411
+ },
2412
+ 'Breakneck Blitz': {bp: 1, type: 'Normal', category: 'Physical', isZ: true},
2413
+ 'Buzzy Buzz': {
2414
+ bp: 90,
2415
+ type: 'Electric',
2416
+ category: 'Special',
2417
+ secondaries: true,
2418
+ zp: 175,
2419
+ },
2420
+ Catastropika: {
2421
+ bp: 210,
2422
+ type: 'Electric',
2423
+ makesContact: true,
2424
+ category: 'Physical',
2425
+ isZ: true,
2426
+ },
2427
+ 'Clangorous Soulblaze': {
2428
+ bp: 185,
2429
+ type: 'Dragon',
2430
+ isSound: true,
2431
+ target: 'allAdjacentFoes',
2432
+ category: 'Special',
2433
+ secondaries: true,
2434
+ isZ: true,
2435
+ },
2436
+ 'Continental Crush': {bp: 1, type: 'Rock', category: 'Physical', isZ: true},
2437
+ 'Core Enforcer': {
2438
+ bp: 100,
2439
+ type: 'Dragon',
2440
+ target: 'allAdjacentFoes',
2441
+ category: 'Special',
2442
+ zp: 140,
2443
+ },
2444
+ 'Corkscrew Crash': {bp: 1, type: 'Steel', category: 'Physical', isZ: true},
2445
+ 'Devastating Drake': {bp: 1, type: 'Dragon', category: 'Physical', isZ: true},
2446
+ 'Double Iron Bash': {
2447
+ bp: 60,
2448
+ type: 'Steel',
2449
+ multihit: 2,
2450
+ makesContact: true,
2451
+ isPunch: true,
2452
+ category: 'Physical',
2453
+ secondaries: true,
2454
+ zp: 180,
2455
+ },
2456
+ 'Dragon Hammer': {
2457
+ bp: 90,
2458
+ type: 'Dragon',
2459
+ makesContact: true,
2460
+ category: 'Physical',
2461
+ zp: 175,
2462
+ },
2463
+ 'Extreme Evoboost': {bp: 0, type: 'Normal', isZ: true},
2464
+ 'Fleur Cannon': {
2465
+ bp: 130,
2466
+ type: 'Fairy',
2467
+ self: {boosts: {spa: -2}},
2468
+ category: 'Special',
2469
+ zp: 195,
2470
+ },
2471
+ 'Floral Healing': {bp: 0, type: 'Fairy'},
2472
+ 'Freezy Frost': {bp: 90, type: 'Ice', category: 'Special', zp: 175},
2473
+ 'Genesis Supernova': {
2474
+ bp: 185,
2475
+ type: 'Psychic',
2476
+ category: 'Special',
2477
+ secondaries: true,
2478
+ isZ: true,
2479
+ },
2480
+ 'Gigavolt Havoc': {bp: 1, type: 'Electric', category: 'Physical', isZ: true},
2481
+ 'Glitzy Glow': {bp: 90, type: 'Psychic', category: 'Special', zp: 175},
2482
+ 'Guardian of Alola': {bp: 0, type: 'Fairy', category: 'Special', isZ: true},
2483
+ 'Hydro Vortex': {bp: 1, type: 'Water', category: 'Physical', isZ: true},
2484
+ 'Ice Hammer': {
2485
+ bp: 100,
2486
+ type: 'Ice',
2487
+ makesContact: true,
2488
+ isPunch: true,
2489
+ category: 'Physical',
2490
+ zp: 180,
2491
+ },
2492
+ 'Inferno Overdrive': {bp: 1, type: 'Fire', category: 'Physical', isZ: true},
2493
+ Instruct: {bp: 0, type: 'Psychic'},
2494
+ 'Let\'s Snuggle Forever': {
2495
+ bp: 190,
2496
+ type: 'Fairy',
2497
+ makesContact: true,
2498
+ category: 'Physical',
2499
+ isZ: true,
2500
+ },
2501
+ 'Light That Burns the Sky': {
2502
+ bp: 200,
2503
+ type: 'Psychic',
2504
+ category: 'Special',
2505
+ isZ: true,
2506
+ },
2507
+ 'Malicious Moonsault': {
2508
+ bp: 180,
2509
+ type: 'Dark',
2510
+ makesContact: true,
2511
+ category: 'Physical',
2512
+ isZ: true,
2513
+ },
2514
+ 'Menacing Moonraze Maelstrom': {bp: 200, type: 'Ghost', category: 'Special', isZ: true},
2515
+ 'Mind Blown': {
2516
+ bp: 150,
2517
+ type: 'Fire',
2518
+ mindBlownRecoil: true,
2519
+ target: 'allAdjacent',
2520
+ category: 'Special',
2521
+ zp: 200,
2522
+ },
2523
+ 'Multi-Attack': {
2524
+ bp: 90,
2525
+ type: 'Normal',
2526
+ makesContact: true,
2527
+ category: 'Physical',
2528
+ zp: 185,
2529
+ },
2530
+ 'Nature\'s Madness': {bp: 0, type: 'Fairy', category: 'Special', zp: 100},
2531
+ 'Never-Ending Nightmare': {bp: 1, type: 'Ghost', category: 'Physical', isZ: true},
2532
+ 'Oceanic Operetta': {bp: 195, type: 'Water', category: 'Special', isZ: true},
2533
+ 'Psychic Terrain': {bp: 0, type: 'Psychic'},
2534
+ 'Pulverizing Pancake': {
2535
+ bp: 210,
2536
+ type: 'Normal',
2537
+ makesContact: true,
2538
+ category: 'Physical',
2539
+ isZ: true,
2540
+ },
2541
+ 'Revelation Dance': {bp: 90, type: 'Normal', category: 'Special', zp: 175},
2542
+ 'Sappy Seed': {bp: 90, type: 'Grass', category: 'Physical', zp: 175},
2543
+ 'Savage Spin-Out': {bp: 1, type: 'Bug', category: 'Physical', isZ: true},
2544
+ 'Searing Sunraze Smash': {
2545
+ bp: 200,
2546
+ type: 'Steel',
2547
+ makesContact: true,
2548
+ category: 'Physical',
2549
+ isZ: true,
2550
+ },
2551
+ 'Shadow Bone': {
2552
+ bp: 85,
2553
+ type: 'Ghost',
2554
+ category: 'Physical',
2555
+ secondaries: true,
2556
+ zp: 160,
2557
+ },
2558
+ 'Shattered Psyche': {bp: 1, type: 'Psychic', category: 'Physical', isZ: true},
2559
+ 'Shore Up': {bp: 0, type: 'Ground'},
2560
+ 'Sinister Arrow Raid': {bp: 180, type: 'Ghost', category: 'Physical', isZ: true},
2561
+ 'Sizzly Slide': {
2562
+ bp: 90,
2563
+ type: 'Fire',
2564
+ makesContact: true,
2565
+ category: 'Physical',
2566
+ secondaries: true,
2567
+ zp: 175,
2568
+ },
2569
+ 'Solar Blade': {
2570
+ bp: 125,
2571
+ type: 'Grass',
2572
+ makesContact: true,
2573
+ category: 'Physical',
2574
+ zp: 190,
2575
+ },
2576
+ 'Soul-Stealing 7-Star Strike': {
2577
+ bp: 195,
2578
+ type: 'Ghost',
2579
+ makesContact: true,
2580
+ category: 'Physical',
2581
+ isZ: true,
2582
+ },
2583
+ 'Sparkly Swirl': {bp: 90, type: 'Fairy', category: 'Special', zp: 175},
2584
+ 'Splintered Stormshards': {bp: 190, type: 'Rock', category: 'Physical', isZ: true},
2585
+ Spotlight: {bp: 0, type: 'Normal', priority: 3},
2586
+ 'Stoked Sparksurfer': {
2587
+ bp: 175,
2588
+ type: 'Electric',
2589
+ category: 'Special',
2590
+ secondaries: true,
2591
+ isZ: true,
2592
+ },
2593
+ 'Subzero Slammer': {bp: 1, type: 'Ice', category: 'Physical', isZ: true},
2594
+ 'Supersonic Skystrike': {bp: 1, type: 'Flying', category: 'Physical', isZ: true},
2595
+ 'Tectonic Rage': {bp: 1, type: 'Ground', category: 'Physical', isZ: true},
2596
+ 'Throat Chop': {
2597
+ bp: 80,
2598
+ type: 'Dark',
2599
+ makesContact: true,
2600
+ category: 'Physical',
2601
+ secondaries: true,
2602
+ zp: 160,
2603
+ },
2604
+ 'Toxic Thread': {bp: 0, type: 'Poison'},
2605
+ 'Twinkle Tackle': {bp: 1, type: 'Fairy', category: 'Physical', isZ: true},
2606
+ 'Zippy Zap': {
2607
+ bp: 50,
2608
+ type: 'Electric',
2609
+ willCrit: true,
2610
+ priority: 2,
2611
+ makesContact: true,
2612
+ category: 'Physical',
2613
+ zp: 100,
2614
+ },
2615
+ Accelerock: {
2616
+ bp: 40,
2617
+ type: 'Rock',
2618
+ priority: 1,
2619
+ makesContact: true,
2620
+ category: 'Physical',
2621
+ zp: 100,
2622
+ },
2623
+ 'Anchor Shot': {
2624
+ bp: 80,
2625
+ type: 'Steel',
2626
+ makesContact: true,
2627
+ category: 'Physical',
2628
+ secondaries: true,
2629
+ zp: 160,
2630
+ },
2631
+ 'Aurora Veil': {bp: 0, type: 'Ice'},
2632
+ 'Brutal Swing': {
2633
+ bp: 60,
2634
+ type: 'Dark',
2635
+ makesContact: true,
2636
+ target: 'allAdjacent',
2637
+ category: 'Physical',
2638
+ zp: 120,
2639
+ },
2640
+ 'Burn Up': {bp: 130, type: 'Fire', category: 'Special', zp: 195},
2641
+ 'Clanging Scales': {
2642
+ bp: 110,
2643
+ type: 'Dragon',
2644
+ isSound: true,
2645
+ target: 'allAdjacentFoes',
2646
+ category: 'Special',
2647
+ zp: 185,
2648
+ },
2649
+ 'Darkest Lariat': {
2650
+ bp: 85,
2651
+ type: 'Dark',
2652
+ makesContact: true,
2653
+ category: 'Physical',
2654
+ ignoreDefensive: true,
2655
+ zp: 160,
2656
+ },
2657
+ 'Fire Lash': {
2658
+ bp: 80,
2659
+ type: 'Fire',
2660
+ makesContact: true,
2661
+ category: 'Physical',
2662
+ secondaries: true,
2663
+ zp: 160,
2664
+ },
2665
+ 'First Impression': {
2666
+ bp: 90,
2667
+ type: 'Bug',
2668
+ priority: 2,
2669
+ makesContact: true,
2670
+ category: 'Physical',
2671
+ zp: 175,
2672
+ },
2673
+ 'Floaty Fall': {
2674
+ bp: 90,
2675
+ type: 'Flying',
2676
+ makesContact: true,
2677
+ category: 'Physical',
2678
+ secondaries: true,
2679
+ zp: 175,
2680
+ },
2681
+ 'Gear Up': {bp: 0, type: 'Steel'},
2682
+ 'High Horsepower': {
2683
+ bp: 95,
2684
+ type: 'Ground',
2685
+ makesContact: true,
2686
+ category: 'Physical',
2687
+ zp: 175,
2688
+ },
2689
+ 'Laser Focus': {bp: 0, type: 'Normal'},
2690
+ Leafage: {bp: 40, type: 'Grass', category: 'Physical', zp: 100},
2691
+ Liquidation: {
2692
+ bp: 85,
2693
+ type: 'Water',
2694
+ makesContact: true,
2695
+ category: 'Physical',
2696
+ secondaries: true,
2697
+ zp: 160,
2698
+ },
2699
+ Lunge: {
2700
+ bp: 80,
2701
+ type: 'Bug',
2702
+ makesContact: true,
2703
+ category: 'Physical',
2704
+ secondaries: true,
2705
+ zp: 160,
2706
+ },
2707
+ 'Moongeist Beam': {bp: 100, type: 'Ghost', category: 'Special', zp: 180},
2708
+ 'Photon Geyser': {
2709
+ bp: 100,
2710
+ type: 'Psychic',
2711
+ category: 'Special',
2712
+ zp: 180,
2713
+ },
2714
+ 'Pika Papow': {bp: 0, type: 'Electric', category: 'Special', zp: 100},
2715
+ 'Plasma Fists': {
2716
+ bp: 100,
2717
+ type: 'Electric',
2718
+ makesContact: true,
2719
+ isPunch: true,
2720
+ category: 'Physical',
2721
+ zp: 180,
2722
+ },
2723
+ 'Pollen Puff': {
2724
+ bp: 90,
2725
+ type: 'Bug',
2726
+ category: 'Special',
2727
+ isBullet: true,
2728
+ zp: 175,
2729
+ },
2730
+ 'Power Trip': {
2731
+ bp: 20,
2732
+ type: 'Dark',
2733
+ makesContact: true,
2734
+ category: 'Physical',
2735
+ zp: 160,
2736
+ },
2737
+ 'Prismatic Laser': {bp: 160, type: 'Psychic', category: 'Special', zp: 200},
2738
+ 'Psychic Fangs': {
2739
+ bp: 85,
2740
+ type: 'Psychic',
2741
+ makesContact: true,
2742
+ isBite: true,
2743
+ category: 'Physical',
2744
+ zp: 160,
2745
+ },
2746
+ Purify: {bp: 0, type: 'Poison'},
2747
+ 'Shell Trap': {
2748
+ bp: 150,
2749
+ type: 'Fire',
2750
+ target: 'allAdjacentFoes',
2751
+ category: 'Special',
2752
+ zp: 200,
2753
+ },
2754
+ 'Smart Strike': {
2755
+ bp: 70,
2756
+ type: 'Steel',
2757
+ makesContact: true,
2758
+ category: 'Physical',
2759
+ zp: 140,
2760
+ },
2761
+ 'Sparkling Aria': {
2762
+ bp: 90,
2763
+ type: 'Water',
2764
+ isSound: true,
2765
+ target: 'allAdjacent',
2766
+ category: 'Special',
2767
+ secondaries: true,
2768
+ zp: 175,
2769
+ },
2770
+ 'Spectral Thief': {
2771
+ bp: 90,
2772
+ type: 'Ghost',
2773
+ makesContact: true,
2774
+ category: 'Physical',
2775
+ zp: 175,
2776
+ },
2777
+ 'Speed Swap': {bp: 0, type: 'Psychic'},
2778
+ 'Spirit Shackle': {
2779
+ bp: 80,
2780
+ type: 'Ghost',
2781
+ category: 'Physical',
2782
+ secondaries: true,
2783
+ zp: 160,
2784
+ },
2785
+ 'Splishy Splash': {
2786
+ bp: 90,
2787
+ type: 'Water',
2788
+ target: 'allAdjacentFoes',
2789
+ category: 'Special',
2790
+ secondaries: true,
2791
+ zp: 175,
2792
+ },
2793
+ 'Stomping Tantrum': {
2794
+ bp: 75,
2795
+ type: 'Ground',
2796
+ makesContact: true,
2797
+ category: 'Physical',
2798
+ zp: 140,
2799
+ },
2800
+ 'Strength Sap': {bp: 0, type: 'Grass'},
2801
+ 'Sunsteel Strike': {
2802
+ bp: 100,
2803
+ type: 'Steel',
2804
+ makesContact: true,
2805
+ category: 'Physical',
2806
+ zp: 180,
2807
+ },
2808
+ 'Tearful Look': {bp: 0, type: 'Normal'},
2809
+ 'Trop Kick': {
2810
+ bp: 70,
2811
+ type: 'Grass',
2812
+ makesContact: true,
2813
+ category: 'Physical',
2814
+ secondaries: true,
2815
+ zp: 140,
2816
+ },
2817
+ 'Veevee Volley': {
2818
+ bp: 0,
2819
+ type: 'Normal',
2820
+ makesContact: true,
2821
+ category: 'Physical',
2822
+ zp: 100,
2823
+ },
2824
+ 'Zing Zap': {
2825
+ bp: 80,
2826
+ type: 'Electric',
2827
+ makesContact: true,
2828
+ category: 'Physical',
2829
+ secondaries: true,
2830
+ zp: 160,
2831
+ },
2832
+ };
2833
+
2834
+ const SM: {[name: string]: MoveData} = extend(true, {}, XY, SM_PATCH);
2835
+
2836
+ const SS_PATCH: {[name: string]: DeepPartial<MoveData>} = {
2837
+ 'Apple Acid': {
2838
+ bp: 80,
2839
+ type: 'Grass',
2840
+ category: 'Special',
2841
+ secondaries: true,
2842
+ zp: 160,
2843
+ maxPower: 130,
2844
+ },
2845
+ 'Astral Barrage': {
2846
+ bp: 120,
2847
+ type: 'Ghost',
2848
+ category: 'Special',
2849
+ target: 'allAdjacentFoes',
2850
+ zp: 190,
2851
+ maxPower: 140,
2852
+ },
2853
+ 'Aura Wheel': {
2854
+ bp: 110,
2855
+ type: 'Electric',
2856
+ category: 'Physical',
2857
+ secondaries: true,
2858
+ zp: 185,
2859
+ maxPower: 140,
2860
+ },
2861
+ 'Behemoth Bash': {
2862
+ bp: 100,
2863
+ type: 'Steel',
2864
+ makesContact: true,
2865
+ category: 'Physical',
2866
+ zp: 180,
2867
+ maxPower: 130,
2868
+ },
2869
+ 'Behemoth Blade': {
2870
+ bp: 100,
2871
+ type: 'Steel',
2872
+ makesContact: true,
2873
+ category: 'Physical',
2874
+ zp: 180,
2875
+ maxPower: 130,
2876
+ },
2877
+ 'Body Press': {
2878
+ bp: 80,
2879
+ type: 'Fighting',
2880
+ makesContact: true,
2881
+ category: 'Physical',
2882
+ overrideOffensiveStat: 'def',
2883
+ zp: 160,
2884
+ maxPower: 90,
2885
+ },
2886
+ 'Bolt Beak': {
2887
+ bp: 85,
2888
+ type: 'Electric',
2889
+ makesContact: true,
2890
+ category: 'Physical',
2891
+ zp: 160,
2892
+ maxPower: 130,
2893
+ },
2894
+ 'Branch Poke': {
2895
+ bp: 40,
2896
+ type: 'Grass',
2897
+ makesContact: true,
2898
+ category: 'Physical',
2899
+ zp: 100,
2900
+ maxPower: 90,
2901
+ },
2902
+ 'Breaking Swipe': {
2903
+ bp: 60,
2904
+ type: 'Dragon',
2905
+ makesContact: true,
2906
+ target: 'allAdjacentFoes',
2907
+ category: 'Physical',
2908
+ secondaries: true,
2909
+ zp: 120,
2910
+ maxPower: 110,
2911
+ },
2912
+ 'Burning Jealousy': {
2913
+ bp: 70,
2914
+ type: 'Fire',
2915
+ target: 'allAdjacentFoes',
2916
+ category: 'Special',
2917
+ secondaries: true,
2918
+ zp: 140,
2919
+ maxPower: 120,
2920
+ },
2921
+ 'Clangorous Soul': {bp: 0, type: 'Dragon', isSound: true},
2922
+ 'Coaching': {
2923
+ bp: 0,
2924
+ type: 'Fighting',
2925
+ category: 'Status',
2926
+ },
2927
+ 'Corrosive Gas': {
2928
+ bp: 0,
2929
+ type: 'Poison',
2930
+ category: 'Status',
2931
+ target: 'allAdjacent',
2932
+ },
2933
+ 'Court Change': {bp: 0, type: 'Normal'},
2934
+ Decorate: {bp: 0, type: 'Fairy'},
2935
+ 'Dragon Darts': {
2936
+ bp: 50,
2937
+ type: 'Dragon',
2938
+ multihit: 2,
2939
+ category: 'Physical',
2940
+ zp: 100,
2941
+ maxPower: 130,
2942
+ },
2943
+ 'Dragon Energy': {
2944
+ bp: 150,
2945
+ type: 'Dragon',
2946
+ category: 'Special',
2947
+ target: 'allAdjacentFoes',
2948
+ zp: 200,
2949
+ maxPower: 150,
2950
+ },
2951
+ 'Drum Beating': {
2952
+ bp: 80,
2953
+ type: 'Grass',
2954
+ category: 'Physical',
2955
+ secondaries: true,
2956
+ zp: 160,
2957
+ maxPower: 130,
2958
+ },
2959
+ 'Dual Wingbeat': {
2960
+ bp: 40,
2961
+ type: 'Flying',
2962
+ category: 'Physical',
2963
+ makesContact: true,
2964
+ multihit: 2,
2965
+ zp: 100,
2966
+ maxPower: 130,
2967
+ },
2968
+ 'Dynamax Cannon': {
2969
+ bp: 100,
2970
+ type: 'Dragon',
2971
+ category: 'Special',
2972
+ zp: 180,
2973
+ maxPower: 130,
2974
+ },
2975
+ 'Eerie Spell': {
2976
+ bp: 80,
2977
+ type: 'Psychic',
2978
+ category: 'Special',
2979
+ isSound: true,
2980
+ secondaries: true,
2981
+ zp: 160,
2982
+ maxPower: 130,
2983
+ },
2984
+ Eternabeam: {
2985
+ bp: 160,
2986
+ type: 'Dragon',
2987
+ category: 'Special',
2988
+ zp: 200,
2989
+ maxPower: 150,
2990
+ },
2991
+ 'Expanding Force': {
2992
+ bp: 80,
2993
+ type: 'Psychic',
2994
+ category: 'Special',
2995
+ zp: 160,
2996
+ maxPower: 130,
2997
+ },
2998
+ 'False Surrender': {
2999
+ bp: 80,
3000
+ type: 'Dark',
3001
+ makesContact: true,
3002
+ category: 'Physical',
3003
+ zp: 160,
3004
+ maxPower: 130,
3005
+ },
3006
+ 'Fiery Wrath': {
3007
+ bp: 90,
3008
+ type: 'Dark',
3009
+ category: 'Special',
3010
+ target: 'allAdjacentFoes',
3011
+ secondaries: true,
3012
+ zp: 175,
3013
+ maxPower: 130,
3014
+ },
3015
+ 'Fishious Rend': {
3016
+ bp: 85,
3017
+ type: 'Water',
3018
+ makesContact: true,
3019
+ isBite: true,
3020
+ category: 'Physical',
3021
+ zp: 160,
3022
+ maxPower: 130,
3023
+ },
3024
+ 'Flip Turn': {
3025
+ bp: 60,
3026
+ type: 'Water',
3027
+ category: 'Physical',
3028
+ makesContact: true,
3029
+ zp: 120,
3030
+ maxPower: 110,
3031
+ },
3032
+ 'Freezing Glare': {
3033
+ bp: 90,
3034
+ type: 'Psychic',
3035
+ category: 'Special',
3036
+ secondaries: true,
3037
+ zp: 175,
3038
+ maxPower: 130,
3039
+ },
3040
+ 'Glacial Lance': {
3041
+ bp: 130,
3042
+ type: 'Ice',
3043
+ category: 'Physical',
3044
+ target: 'allAdjacentFoes',
3045
+ zp: 195,
3046
+ maxPower: 140,
3047
+ },
3048
+ 'G-Max Befuddle': {
3049
+ bp: 10,
3050
+ type: 'Bug',
3051
+ category: 'Physical',
3052
+ isMax: true,
3053
+ maxPower: 1,
3054
+ },
3055
+ 'G-Max Centiferno': {
3056
+ bp: 10,
3057
+ type: 'Fire',
3058
+ category: 'Physical',
3059
+ isMax: true,
3060
+ maxPower: 1,
3061
+ },
3062
+ 'G-Max Cannonade': {
3063
+ bp: 10,
3064
+ type: 'Water',
3065
+ category: 'Physical',
3066
+ isMax: true,
3067
+ maxPower: 1,
3068
+ },
3069
+ 'G-Max Chi Strike': {
3070
+ bp: 10,
3071
+ type: 'Fighting',
3072
+ category: 'Physical',
3073
+ isMax: true,
3074
+ maxPower: 1,
3075
+ },
3076
+ 'G-Max Cuddle': {
3077
+ bp: 10,
3078
+ type: 'Normal',
3079
+ category: 'Physical',
3080
+ isMax: true,
3081
+ maxPower: 1,
3082
+ },
3083
+ 'G-Max Depletion': {
3084
+ bp: 10,
3085
+ type: 'Dragon',
3086
+ category: 'Physical',
3087
+ isMax: true,
3088
+ maxPower: 1,
3089
+ },
3090
+ 'G-Max Drum Solo': {
3091
+ bp: 160,
3092
+ type: 'Grass',
3093
+ category: 'Physical',
3094
+ isMax: true,
3095
+ maxPower: 1,
3096
+ },
3097
+ 'G-Max Fireball': {
3098
+ bp: 160,
3099
+ type: 'Fire',
3100
+ category: 'Physical',
3101
+ isMax: true,
3102
+ maxPower: 1,
3103
+ },
3104
+ 'G-Max Finale': {
3105
+ bp: 10,
3106
+ type: 'Fairy',
3107
+ category: 'Physical',
3108
+ isMax: true,
3109
+ maxPower: 1,
3110
+ },
3111
+ 'G-Max Foam Burst': {
3112
+ bp: 10,
3113
+ type: 'Water',
3114
+ category: 'Physical',
3115
+ isMax: true,
3116
+ maxPower: 1,
3117
+ },
3118
+ 'G-Max Gold Rush': {
3119
+ bp: 10,
3120
+ type: 'Normal',
3121
+ category: 'Physical',
3122
+ isMax: true,
3123
+ maxPower: 1,
3124
+ },
3125
+ 'G-Max Gravitas': {
3126
+ bp: 10,
3127
+ type: 'Psychic',
3128
+ category: 'Physical',
3129
+ isMax: true,
3130
+ maxPower: 1,
3131
+ },
3132
+ 'G-Max Hydrosnipe': {
3133
+ bp: 160,
3134
+ type: 'Water',
3135
+ category: 'Physical',
3136
+ isMax: true,
3137
+ maxPower: 1,
3138
+ },
3139
+ 'G-Max Malodor': {
3140
+ bp: 10,
3141
+ type: 'Poison',
3142
+ category: 'Physical',
3143
+ isMax: true,
3144
+ maxPower: 1,
3145
+ },
3146
+ 'G-Max Meltdown': {
3147
+ bp: 10,
3148
+ type: 'Steel',
3149
+ category: 'Physical',
3150
+ isMax: true,
3151
+ maxPower: 1,
3152
+ },
3153
+ 'G-Max One Blow': {
3154
+ bp: 10,
3155
+ type: 'Dark',
3156
+ category: 'Physical',
3157
+ isMax: true,
3158
+ maxPower: 1,
3159
+ },
3160
+ 'G-Max Rapid Flow': {
3161
+ bp: 10,
3162
+ type: 'Water',
3163
+ category: 'Physical',
3164
+ isMax: true,
3165
+ maxPower: 1,
3166
+ },
3167
+ 'G-Max Replenish': {
3168
+ bp: 10,
3169
+ type: 'Normal',
3170
+ category: 'Physical',
3171
+ isMax: true,
3172
+ maxPower: 1,
3173
+ },
3174
+ 'G-Max Resonance': {
3175
+ bp: 10,
3176
+ type: 'Ice',
3177
+ category: 'Physical',
3178
+ isMax: true,
3179
+ maxPower: 1,
3180
+ },
3181
+ 'G-Max Sandblast': {
3182
+ bp: 10,
3183
+ type: 'Ground',
3184
+ category: 'Physical',
3185
+ isMax: true,
3186
+ maxPower: 1,
3187
+ },
3188
+ 'G-Max Smite': {
3189
+ bp: 10,
3190
+ type: 'Fairy',
3191
+ category: 'Physical',
3192
+ isMax: true,
3193
+ maxPower: 1,
3194
+ },
3195
+ 'G-Max Snooze': {
3196
+ bp: 10,
3197
+ type: 'Dark',
3198
+ category: 'Physical',
3199
+ isMax: true,
3200
+ maxPower: 1,
3201
+ },
3202
+ 'G-Max Steelsurge': {
3203
+ bp: 10,
3204
+ type: 'Steel',
3205
+ category: 'Physical',
3206
+ isMax: true,
3207
+ maxPower: 1,
3208
+ },
3209
+ 'G-Max Stonesurge': {
3210
+ bp: 10,
3211
+ type: 'Water',
3212
+ category: 'Physical',
3213
+ isMax: true,
3214
+ maxPower: 1,
3215
+ },
3216
+ 'G-Max Stun Shock': {
3217
+ bp: 10,
3218
+ type: 'Electric',
3219
+ category: 'Physical',
3220
+ isMax: true,
3221
+ maxPower: 1,
3222
+ },
3223
+ 'G-Max Sweetness': {
3224
+ bp: 10,
3225
+ type: 'Grass',
3226
+ category: 'Physical',
3227
+ isMax: true,
3228
+ maxPower: 1,
3229
+ },
3230
+ 'G-Max Tartness': {
3231
+ bp: 10,
3232
+ type: 'Grass',
3233
+ category: 'Physical',
3234
+ isMax: true,
3235
+ maxPower: 1,
3236
+ },
3237
+ 'G-Max Terror': {
3238
+ bp: 10,
3239
+ type: 'Ghost',
3240
+ category: 'Physical',
3241
+ isMax: true,
3242
+ maxPower: 1,
3243
+ },
3244
+ 'G-Max Vine Lash': {
3245
+ bp: 10,
3246
+ type: 'Grass',
3247
+ category: 'Physical',
3248
+ isMax: true,
3249
+ maxPower: 1,
3250
+ },
3251
+ 'G-Max Volcalith': {
3252
+ bp: 10,
3253
+ type: 'Rock',
3254
+ category: 'Physical',
3255
+ isMax: true,
3256
+ maxPower: 1,
3257
+ },
3258
+ 'G-Max Volt Crash': {
3259
+ bp: 10,
3260
+ type: 'Electric',
3261
+ category: 'Physical',
3262
+ isMax: true,
3263
+ maxPower: 1,
3264
+ },
3265
+ 'G-Max Wildfire': {
3266
+ bp: 10,
3267
+ type: 'Fire',
3268
+ category: 'Physical',
3269
+ isMax: true,
3270
+ maxPower: 1,
3271
+ },
3272
+ 'G-Max Wind Rage': {
3273
+ bp: 10,
3274
+ type: 'Flying',
3275
+ category: 'Physical',
3276
+ isMax: true,
3277
+ maxPower: 1,
3278
+ },
3279
+ 'Grassy Glide': {
3280
+ bp: 70,
3281
+ type: 'Grass',
3282
+ category: 'Physical',
3283
+ makesContact: true,
3284
+ zp: 140,
3285
+ maxPower: 120,
3286
+ },
3287
+ 'Grav Apple': {
3288
+ bp: 80,
3289
+ type: 'Grass',
3290
+ category: 'Physical',
3291
+ secondaries: true,
3292
+ zp: 160,
3293
+ maxPower: 130,
3294
+ },
3295
+ 'Jaw Lock': {
3296
+ bp: 80,
3297
+ type: 'Dark',
3298
+ makesContact: true,
3299
+ isBite: true,
3300
+ category: 'Physical',
3301
+ zp: 160,
3302
+ maxPower: 130,
3303
+ },
3304
+ 'Jungle Healing': {
3305
+ bp: 0,
3306
+ type: 'Grass',
3307
+ category: 'Status',
3308
+ },
3309
+ 'Lash Out': {
3310
+ bp: 75,
3311
+ type: 'Dark',
3312
+ makesContact: true,
3313
+ category: 'Physical',
3314
+ zp: 140,
3315
+ maxPower: 130,
3316
+ },
3317
+ 'Life Dew': {bp: 0, type: 'Water'},
3318
+ 'Magic Powder': {bp: 0, type: 'Psychic'},
3319
+ 'Max Airstream': {
3320
+ bp: 10,
3321
+ type: 'Flying',
3322
+ category: 'Physical',
3323
+ isMax: true,
3324
+ maxPower: 1,
3325
+ },
3326
+ 'Max Darkness': {
3327
+ bp: 10,
3328
+ type: 'Dark',
3329
+ category: 'Physical',
3330
+ isMax: true,
3331
+ maxPower: 1,
3332
+ },
3333
+ 'Max Flare': {
3334
+ bp: 100,
3335
+ type: 'Fire',
3336
+ category: 'Physical',
3337
+ isMax: true,
3338
+ maxPower: 1,
3339
+ },
3340
+ 'Max Flutterby': {
3341
+ bp: 10,
3342
+ type: 'Bug',
3343
+ category: 'Physical',
3344
+ isMax: true,
3345
+ maxPower: 1,
3346
+ },
3347
+ 'Max Geyser': {
3348
+ bp: 10,
3349
+ type: 'Water',
3350
+ category: 'Physical',
3351
+ isMax: true,
3352
+ maxPower: 1,
3353
+ },
3354
+ 'Max Guard': {bp: 0, type: 'Normal', priority: 4, isMax: true},
3355
+ 'Max Hailstorm': {
3356
+ bp: 10,
3357
+ type: 'Ice',
3358
+ category: 'Physical',
3359
+ isMax: true,
3360
+ maxPower: 1,
3361
+ },
3362
+ 'Max Knuckle': {
3363
+ bp: 10,
3364
+ type: 'Fighting',
3365
+ category: 'Physical',
3366
+ isMax: true,
3367
+ maxPower: 1,
3368
+ },
3369
+ 'Max Lightning': {
3370
+ bp: 10,
3371
+ type: 'Electric',
3372
+ category: 'Physical',
3373
+ isMax: true,
3374
+ maxPower: 1,
3375
+ },
3376
+ 'Max Mindstorm': {
3377
+ bp: 10,
3378
+ type: 'Psychic',
3379
+ category: 'Physical',
3380
+ isMax: true,
3381
+ maxPower: 1,
3382
+ },
3383
+ 'Max Ooze': {
3384
+ bp: 10,
3385
+ type: 'Poison',
3386
+ category: 'Physical',
3387
+ isMax: true,
3388
+ maxPower: 1,
3389
+ },
3390
+ 'Max Overgrowth': {
3391
+ bp: 10,
3392
+ type: 'Grass',
3393
+ category: 'Physical',
3394
+ isMax: true,
3395
+ maxPower: 1,
3396
+ },
3397
+ 'Max Phantasm': {
3398
+ bp: 10,
3399
+ type: 'Ghost',
3400
+ category: 'Physical',
3401
+ isMax: true,
3402
+ maxPower: 1,
3403
+ },
3404
+ 'Max Quake': {
3405
+ bp: 10,
3406
+ type: 'Ground',
3407
+ category: 'Physical',
3408
+ isMax: true,
3409
+ maxPower: 1,
3410
+ },
3411
+ 'Max Rockfall': {
3412
+ bp: 10,
3413
+ type: 'Rock',
3414
+ category: 'Physical',
3415
+ isMax: true,
3416
+ maxPower: 1,
3417
+ },
3418
+ 'Max Starfall': {
3419
+ bp: 10,
3420
+ type: 'Fairy',
3421
+ category: 'Physical',
3422
+ isMax: true,
3423
+ maxPower: 1,
3424
+ },
3425
+ 'Max Steelspike': {
3426
+ bp: 10,
3427
+ type: 'Steel',
3428
+ category: 'Physical',
3429
+ isMax: true,
3430
+ maxPower: 1,
3431
+ },
3432
+ 'Max Strike': {
3433
+ bp: 10,
3434
+ type: 'Normal',
3435
+ category: 'Physical',
3436
+ isMax: true,
3437
+ maxPower: 1,
3438
+ },
3439
+ 'Max Wyrmwind': {
3440
+ bp: 10,
3441
+ type: 'Dragon',
3442
+ category: 'Physical',
3443
+ isMax: true,
3444
+ maxPower: 1,
3445
+ },
3446
+ 'Meteor Assault': {
3447
+ bp: 150,
3448
+ type: 'Fighting',
3449
+ category: 'Physical',
3450
+ zp: 200,
3451
+ maxPower: 100,
3452
+ },
3453
+ 'Meteor Beam': {
3454
+ bp: 120,
3455
+ type: 'Rock',
3456
+ category: 'Special',
3457
+ zp: 190,
3458
+ maxPower: 140,
3459
+ },
3460
+ 'Misty Explosion': {
3461
+ bp: 100,
3462
+ type: 'Fairy',
3463
+ category: 'Special',
3464
+ target: 'allAdjacent',
3465
+ zp: 180,
3466
+ maxPower: 130,
3467
+ },
3468
+ 'No Retreat': {bp: 0, type: 'Fighting'},
3469
+ Obstruct: {bp: 0, type: 'Dark', priority: 4},
3470
+ Octolock: {bp: 0, type: 'Fighting'},
3471
+ Overdrive: {
3472
+ bp: 80,
3473
+ type: 'Electric',
3474
+ isSound: true,
3475
+ target: 'allAdjacentFoes',
3476
+ category: 'Special',
3477
+ zp: 160,
3478
+ maxPower: 130,
3479
+ },
3480
+ Poltergeist: {
3481
+ bp: 110,
3482
+ type: 'Ghost',
3483
+ category: 'Physical',
3484
+ zp: 185,
3485
+ maxPower: 140,
3486
+ },
3487
+ 'Pyro Ball': {
3488
+ bp: 120,
3489
+ type: 'Fire',
3490
+ category: 'Physical',
3491
+ secondaries: true,
3492
+ isBullet: true,
3493
+ zp: 190,
3494
+ maxPower: 140,
3495
+ },
3496
+ 'Rising Voltage': {
3497
+ bp: 70,
3498
+ type: 'Electric',
3499
+ category: 'Special',
3500
+ zp: 140,
3501
+ maxPower: 140,
3502
+ },
3503
+ 'Scale Shot': {
3504
+ bp: 25,
3505
+ type: 'Dragon',
3506
+ category: 'Physical',
3507
+ multihit: [2, 5],
3508
+ zp: 140,
3509
+ maxPower: 130,
3510
+ },
3511
+ 'Shell Side Arm': {
3512
+ bp: 90,
3513
+ type: 'Poison',
3514
+ category: 'Special',
3515
+ secondaries: true,
3516
+ zp: 175,
3517
+ maxPower: 90,
3518
+ },
3519
+ 'Snap Trap': {
3520
+ bp: 35,
3521
+ type: 'Grass',
3522
+ makesContact: true,
3523
+ category: 'Physical',
3524
+ zp: 100,
3525
+ maxPower: 90,
3526
+ },
3527
+ 'Snipe Shot': {
3528
+ bp: 80,
3529
+ type: 'Water',
3530
+ category: 'Special',
3531
+ zp: 160,
3532
+ maxPower: 130,
3533
+ },
3534
+ 'Scorching Sands': {
3535
+ bp: 70,
3536
+ type: 'Ground',
3537
+ category: 'Special',
3538
+ secondaries: true,
3539
+ zp: 140,
3540
+ maxPower: 120,
3541
+ },
3542
+ 'Skitter Smack': {
3543
+ bp: 70,
3544
+ type: 'Bug',
3545
+ category: 'Physical',
3546
+ makesContact: true,
3547
+ secondaries: true,
3548
+ zp: 140,
3549
+ maxPower: 120,
3550
+ },
3551
+ 'Spirit Break': {
3552
+ bp: 75,
3553
+ type: 'Fairy',
3554
+ makesContact: true,
3555
+ category: 'Physical',
3556
+ secondaries: true,
3557
+ zp: 140,
3558
+ maxPower: 130,
3559
+ },
3560
+ 'Steel Beam': {
3561
+ bp: 140,
3562
+ type: 'Steel',
3563
+ mindBlownRecoil: true,
3564
+ category: 'Special',
3565
+ zp: 200,
3566
+ maxPower: 140,
3567
+ },
3568
+ 'Steel Roller': {
3569
+ bp: 130,
3570
+ type: 'Steel',
3571
+ category: 'Physical',
3572
+ makesContact: true,
3573
+ zp: 195,
3574
+ maxPower: 140,
3575
+ },
3576
+ 'Strange Steam': {
3577
+ bp: 90,
3578
+ type: 'Fairy',
3579
+ category: 'Special',
3580
+ secondaries: true,
3581
+ zp: 175,
3582
+ maxPower: 130,
3583
+ },
3584
+ 'Surging Strikes': {
3585
+ bp: 25,
3586
+ type: 'Water',
3587
+ category: 'Physical',
3588
+ makesContact: true,
3589
+ willCrit: true,
3590
+ isPunch: true,
3591
+ multihit: 3,
3592
+ zp: 140,
3593
+ maxPower: 130,
3594
+ },
3595
+ 'Terrain Pulse': {
3596
+ bp: 50,
3597
+ type: 'Normal',
3598
+ category: 'Special',
3599
+ isPulse: true,
3600
+ zp: 160,
3601
+ maxPower: 130,
3602
+ },
3603
+ 'Triple Axel': {
3604
+ bp: 20,
3605
+ type: 'Ice',
3606
+ category: 'Physical',
3607
+ makesContact: true,
3608
+ multihit: 3,
3609
+ multiaccuracy: true,
3610
+ zp: 120,
3611
+ maxPower: 140,
3612
+ },
3613
+ 'Wicked Blow': {
3614
+ bp: 80,
3615
+ type: 'Dark',
3616
+ category: 'Physical',
3617
+ makesContact: true,
3618
+ willCrit: true,
3619
+ isPunch: true,
3620
+ zp: 160,
3621
+ maxPower: 130,
3622
+ },
3623
+ 'Stuff Cheeks': {bp: 0, type: 'Normal'},
3624
+ 'Tar Shot': {bp: 0, type: 'Rock'},
3625
+ Teatime: {bp: 0, type: 'Normal'},
3626
+ 'Thunder Cage': {
3627
+ bp: 80,
3628
+ type: 'Electric',
3629
+ category: 'Special',
3630
+ zp: 160,
3631
+ maxPower: 130,
3632
+ },
3633
+ 'Thunderous Kick': {
3634
+ bp: 90,
3635
+ type: 'Fighting',
3636
+ category: 'Physical',
3637
+ secondaries: true,
3638
+ makesContact: true,
3639
+ zp: 175,
3640
+ maxPower: 90,
3641
+ },
3642
+ '10,000,000 Volt Thunderbolt': {maxPower: 1},
3643
+ Absorb: {maxPower: 90},
3644
+ Accelerock: {maxPower: 90},
3645
+ Acid: {maxPower: 70},
3646
+ 'Acid Downpour': {maxPower: 1},
3647
+ 'Acid Spray': {maxPower: 70},
3648
+ Acrobatics: {maxPower: 110},
3649
+ 'Aerial Ace': {maxPower: 110},
3650
+ Aeroblast: {maxPower: 130},
3651
+ 'Air Cutter': {maxPower: 110},
3652
+ 'Air Slash': {maxPower: 130},
3653
+ 'All-Out Pummeling': {maxPower: 1},
3654
+ 'Anchor Shot': {maxPower: 130},
3655
+ 'Ancient Power': {maxPower: 110},
3656
+ 'Aqua Jet': {maxPower: 90},
3657
+ 'Aqua Tail': {maxPower: 130},
3658
+ 'Arm Thrust': {maxPower: 70},
3659
+ Assurance: {maxPower: 110},
3660
+ Astonish: {maxPower: 90},
3661
+ 'Attack Order': {maxPower: 130},
3662
+ 'Aura Sphere': {maxPower: 90},
3663
+ 'Aurora Beam': {maxPower: 120},
3664
+ Avalanche: {maxPower: 110},
3665
+ Barrage: {maxPower: 90},
3666
+ 'Beak Blast': {maxPower: 130},
3667
+ 'Beat Up': {maxPower: 100},
3668
+ Belch: {maxPower: 95},
3669
+ Bide: {maxPower: 100},
3670
+ Bind: {maxPower: 90},
3671
+ Bite: {maxPower: 110},
3672
+ 'Black Hole Eclipse': {maxPower: 1},
3673
+ 'Blast Burn': {maxPower: 150},
3674
+ 'Blaze Kick': {maxPower: 130},
3675
+ Blizzard: {maxPower: 140},
3676
+ 'Bloom Doom': {maxPower: 1},
3677
+ 'Blue Flare': {maxPower: 140},
3678
+ 'Body Slam': {maxPower: 130},
3679
+ 'Bolt Strike': {maxPower: 140},
3680
+ 'Bone Club': {maxPower: 120},
3681
+ Bonemerang: {maxPower: 130},
3682
+ 'Bone Rush': {maxPower: 130},
3683
+ Boomburst: {maxPower: 140},
3684
+ Bounce: {maxPower: 130},
3685
+ 'Brave Bird': {maxPower: 140},
3686
+ 'Breakneck Blitz': {maxPower: 1},
3687
+ 'Brick Break': {maxPower: 90},
3688
+ Brine: {maxPower: 120},
3689
+ 'Brutal Swing': {maxPower: 110},
3690
+ Bubble: {maxPower: 90},
3691
+ 'Bubble Beam': {maxPower: 120},
3692
+ 'Bug Bite': {maxPower: 110},
3693
+ 'Bug Buzz': {maxPower: 130},
3694
+ Bulldoze: {maxPower: 110},
3695
+ 'Bullet Punch': {maxPower: 90},
3696
+ 'Bullet Seed': {maxPower: 130},
3697
+ 'Burn Up': {maxPower: 140},
3698
+ Catastropika: {maxPower: 1},
3699
+ 'Charge Beam': {maxPower: 100},
3700
+ Chatter: {maxPower: 120},
3701
+ 'Chip Away': {maxPower: 120},
3702
+ 'Circle Throw': {maxPower: 80},
3703
+ Clamp: {maxPower: 90},
3704
+ 'Clanging Scales': {maxPower: 140},
3705
+ 'Clangorous Soulblaze': {maxPower: 1},
3706
+ 'Clear Smog': {maxPower: 75},
3707
+ 'Close Combat': {maxPower: 95},
3708
+ 'Comet Punch': {maxPower: 100},
3709
+ Confusion: {maxPower: 100},
3710
+ Constrict: {maxPower: 90},
3711
+ 'Continental Crush': {maxPower: 1},
3712
+ 'Core Enforcer': {maxPower: 130},
3713
+ 'Corkscrew Crash': {maxPower: 1},
3714
+ Counter: {maxPower: 75},
3715
+ Covet: {maxPower: 110},
3716
+ Crabhammer: {maxPower: 130},
3717
+ 'Cross Chop': {maxPower: 90},
3718
+ 'Cross Poison': {maxPower: 85},
3719
+ Crunch: {maxPower: 130},
3720
+ 'Crush Claw': {maxPower: 130},
3721
+ 'Crush Grip': {maxPower: 140},
3722
+ Cut: {maxPower: 100},
3723
+ 'Darkest Lariat': {maxPower: 130},
3724
+ 'Dark Pulse': {maxPower: 130},
3725
+ 'Dazzling Gleam': {maxPower: 130},
3726
+ 'Devastating Drake': {maxPower: 1},
3727
+ 'Diamond Storm': {maxPower: 130},
3728
+ Dig: {maxPower: 130},
3729
+ 'Disarming Voice': {maxPower: 90},
3730
+ Discharge: {maxPower: 130},
3731
+ Dive: {maxPower: 130},
3732
+ 'Dizzy Punch': {maxPower: 120},
3733
+ 'Doom Desire': {maxPower: 140},
3734
+ 'Double-Edge': {maxPower: 140},
3735
+ 'Double Hit': {maxPower: 120},
3736
+ 'Double Iron Bash': {maxPower: 140},
3737
+ 'Double Kick': {maxPower: 80},
3738
+ 'Double Slap': {maxPower: 90},
3739
+ 'Draco Meteor': {maxPower: 140},
3740
+ 'Dragon Ascent': {maxPower: 140},
3741
+ 'Dragon Breath': {maxPower: 110},
3742
+ 'Dragon Claw': {maxPower: 130},
3743
+ 'Dragon Hammer': {maxPower: 130},
3744
+ 'Dragon Pulse': {maxPower: 130},
3745
+ 'Dragon Rage': {maxPower: 100},
3746
+ 'Dragon Rush': {maxPower: 130},
3747
+ 'Dragon Tail': {maxPower: 110},
3748
+ 'Draining Kiss': {maxPower: 100},
3749
+ 'Drain Punch': {maxPower: 90},
3750
+ 'Dream Eater': {maxPower: 130},
3751
+ 'Drill Peck': {maxPower: 130},
3752
+ 'Drill Run': {maxPower: 130},
3753
+ 'Dual Chop': {maxPower: 130},
3754
+ 'Dynamic Punch': {maxPower: 90},
3755
+ 'Earth Power': {maxPower: 130},
3756
+ Earthquake: {maxPower: 130},
3757
+ 'Echoed Voice': {maxPower: 90},
3758
+ 'Egg Bomb': {maxPower: 130},
3759
+ 'Electro Ball': {maxPower: 130},
3760
+ Electroweb: {maxPower: 110},
3761
+ Ember: {maxPower: 90},
3762
+ Endeavor: {maxPower: 130},
3763
+ 'Energy Ball': {maxPower: 130},
3764
+ Eruption: {maxPower: 150},
3765
+ Explosion: {maxPower: 150},
3766
+ Extrasensory: {maxPower: 130},
3767
+ 'Extreme Speed': {maxPower: 130},
3768
+ Facade: {maxPower: 120},
3769
+ 'Fairy Wind': {maxPower: 90},
3770
+ 'Fake Out': {maxPower: 90},
3771
+ 'False Swipe': {maxPower: 90},
3772
+ Feint: {maxPower: 90},
3773
+ 'Feint Attack': {maxPower: 110},
3774
+ 'Fell Stinger': {maxPower: 100},
3775
+ 'Fiery Dance': {maxPower: 130},
3776
+ 'Final Gambit': {maxPower: 100},
3777
+ 'Fire Blast': {maxPower: 140},
3778
+ 'Fire Fang': {maxPower: 120},
3779
+ 'Fire Lash': {maxPower: 130},
3780
+ 'Fire Pledge': {maxPower: 130},
3781
+ 'Fire Punch': {maxPower: 130},
3782
+ 'Fire Spin': {maxPower: 90},
3783
+ 'First Impression': {maxPower: 130},
3784
+ Fissure: {maxPower: 130},
3785
+ Flail: {maxPower: 130},
3786
+ 'Flame Burst': {maxPower: 120},
3787
+ 'Flame Charge': {maxPower: 100},
3788
+ 'Flame Wheel': {maxPower: 110},
3789
+ Flamethrower: {maxPower: 130},
3790
+ 'Flare Blitz': {maxPower: 140},
3791
+ 'Flash Cannon': {maxPower: 130},
3792
+ 'Fleur Cannon': {maxPower: 140},
3793
+ Fling: {maxPower: 100},
3794
+ Fly: {maxPower: 130},
3795
+ 'Flying Press': {maxPower: 90},
3796
+ 'Focus Blast': {maxPower: 95},
3797
+ 'Focus Punch': {maxPower: 100},
3798
+ 'Force Palm': {maxPower: 80},
3799
+ 'Foul Play': {maxPower: 130},
3800
+ 'Freeze-Dry': {maxPower: 120},
3801
+ 'Freeze Shock': {maxPower: 140},
3802
+ 'Frenzy Plant': {maxPower: 150},
3803
+ 'Frost Breath': {maxPower: 110},
3804
+ Frustration: {maxPower: 130},
3805
+ 'Fury Attack': {maxPower: 90},
3806
+ 'Fury Cutter': {maxPower: 90},
3807
+ 'Fury Swipes': {maxPower: 100},
3808
+ 'Fusion Bolt': {maxPower: 130},
3809
+ 'Fusion Flare': {maxPower: 130},
3810
+ 'Future Sight': {maxPower: 140},
3811
+ 'Gear Grind': {maxPower: 130},
3812
+ 'Genesis Supernova': {maxPower: 1},
3813
+ 'Giga Drain': {maxPower: 130},
3814
+ 'Giga Impact': {maxPower: 150},
3815
+ 'Gigavolt Havoc': {maxPower: 1},
3816
+ Glaciate: {maxPower: 120},
3817
+ 'Grass Knot': {maxPower: 130},
3818
+ 'Grass Pledge': {maxPower: 130},
3819
+ 'Guardian of Alola': {maxPower: 1},
3820
+ Guillotine: {maxPower: 130},
3821
+ 'Gunk Shot': {maxPower: 95},
3822
+ Gust: {maxPower: 90},
3823
+ 'Gyro Ball': {maxPower: 130},
3824
+ 'Hammer Arm': {maxPower: 90},
3825
+ Headbutt: {maxPower: 120},
3826
+ 'Head Charge': {maxPower: 140},
3827
+ 'Head Smash': {maxPower: 150},
3828
+ 'Heart Stamp': {maxPower: 110},
3829
+ 'Heat Crash': {maxPower: 130},
3830
+ 'Heat Wave': {maxPower: 130},
3831
+ 'Heavy Slam': {maxPower: 130},
3832
+ Hex: {maxPower: 120},
3833
+ 'Hidden Power': {maxPower: 110},
3834
+ 'Hidden Power Bug': {maxPower: 110},
3835
+ 'Hidden Power Dark': {maxPower: 110},
3836
+ 'Hidden Power Dragon': {maxPower: 110},
3837
+ 'Hidden Power Electric': {maxPower: 110},
3838
+ 'Hidden Power Fighting': {maxPower: 80},
3839
+ 'Hidden Power Fire': {maxPower: 110},
3840
+ 'Hidden Power Flying': {maxPower: 110},
3841
+ 'Hidden Power Ghost': {maxPower: 110},
3842
+ 'Hidden Power Grass': {maxPower: 110},
3843
+ 'Hidden Power Ground': {maxPower: 110},
3844
+ 'Hidden Power Ice': {maxPower: 110},
3845
+ 'Hidden Power Poison': {maxPower: 80},
3846
+ 'Hidden Power Psychic': {maxPower: 110},
3847
+ 'Hidden Power Rock': {maxPower: 110},
3848
+ 'Hidden Power Steel': {maxPower: 110},
3849
+ 'Hidden Power Water': {maxPower: 110},
3850
+ 'High Horsepower': {maxPower: 130},
3851
+ 'High Jump Kick': {maxPower: 95},
3852
+ 'Hold Back': {maxPower: 90},
3853
+ 'Horn Attack': {maxPower: 120},
3854
+ 'Horn Drill': {maxPower: 130},
3855
+ 'Horn Leech': {maxPower: 130},
3856
+ Howl: {isSound: true},
3857
+ Hurricane: {maxPower: 140},
3858
+ 'Hydro Cannon': {maxPower: 150},
3859
+ 'Hydro Pump': {maxPower: 140},
3860
+ 'Hydro Vortex': {maxPower: 1},
3861
+ 'Hyper Beam': {maxPower: 150},
3862
+ 'Hyper Fang': {maxPower: 130},
3863
+ 'Hyperspace Fury': {maxPower: 130},
3864
+ 'Hyperspace Hole': {maxPower: 130},
3865
+ 'Hyper Voice': {maxPower: 130},
3866
+ 'Ice Ball': {maxPower: 90},
3867
+ 'Ice Beam': {maxPower: 130},
3868
+ 'Ice Burn': {maxPower: 140},
3869
+ 'Ice Fang': {maxPower: 120},
3870
+ 'Ice Hammer': {maxPower: 130},
3871
+ 'Ice Punch': {maxPower: 130},
3872
+ 'Ice Shard': {maxPower: 90},
3873
+ 'Icicle Crash': {maxPower: 130},
3874
+ 'Icicle Spear': {maxPower: 130},
3875
+ 'Icy Wind': {maxPower: 110},
3876
+ Incinerate: {maxPower: 110},
3877
+ Inferno: {maxPower: 130},
3878
+ 'Inferno Overdrive': {maxPower: 1},
3879
+ Infestation: {maxPower: 90},
3880
+ 'Iron Head': {maxPower: 130},
3881
+ 'Iron Tail': {maxPower: 130},
3882
+ Judgment: {maxPower: 130},
3883
+ 'Jump Kick': {maxPower: 90},
3884
+ 'Karate Chop': {maxPower: 75},
3885
+ 'Knock Off': {maxPower: 120},
3886
+ 'Land\'s Wrath': {maxPower: 130},
3887
+ 'Last Resort': {maxPower: 140},
3888
+ 'Lava Plume': {maxPower: 130},
3889
+ Leafage: {maxPower: 90},
3890
+ 'Leaf Blade': {maxPower: 130},
3891
+ 'Leaf Storm': {maxPower: 140},
3892
+ 'Leaf Tornado': {maxPower: 120},
3893
+ 'Leech Life': {maxPower: 130},
3894
+ 'Let\'s Snuggle Forever': {maxPower: 1},
3895
+ Lick: {maxPower: 90},
3896
+ 'Light of Ruin': {maxPower: 140},
3897
+ 'Light That Burns the Sky': {maxPower: 1},
3898
+ Liquidation: {maxPower: 130},
3899
+ 'Low Kick': {maxPower: 100},
3900
+ 'Low Sweep': {maxPower: 85},
3901
+ Lunge: {maxPower: 130},
3902
+ 'Luster Purge': {maxPower: 120},
3903
+ 'Mach Punch': {maxPower: 70},
3904
+ 'Magical Leaf': {maxPower: 110},
3905
+ 'Magma Storm': {maxPower: 130},
3906
+ 'Magnet Bomb': {maxPower: 110},
3907
+ Magnitude: {maxPower: 140},
3908
+ 'Malicious Moonsault': {maxPower: 1},
3909
+ 'Mega Drain': {maxPower: 90},
3910
+ Megahorn: {maxPower: 140},
3911
+ 'Mega Kick': {maxPower: 140},
3912
+ 'Mega Punch': {maxPower: 130},
3913
+ 'Menacing Moonraze Maelstrom': {maxPower: 1},
3914
+ 'Metal Burst': {maxPower: 100},
3915
+ 'Metal Claw': {maxPower: 100},
3916
+ 'Meteor Mash': {maxPower: 130},
3917
+ 'Mind Blown': {maxPower: 150},
3918
+ 'Mirror Coat': {maxPower: 100},
3919
+ 'Mirror Shot': {maxPower: 120},
3920
+ 'Mist Ball': {maxPower: 120},
3921
+ Moonblast: {maxPower: 130},
3922
+ 'Moongeist Beam': {maxPower: 130},
3923
+ 'Mud Bomb': {maxPower: 120},
3924
+ 'Mud Shot': {maxPower: 110},
3925
+ 'Mud-Slap': {maxPower: 90},
3926
+ 'Muddy Water': {maxPower: 130},
3927
+ 'Multi-Attack': {bp: 120, maxPower: 95},
3928
+ 'Mystical Fire': {maxPower: 130},
3929
+ 'Natural Gift': {maxPower: 130},
3930
+ 'Nature\'s Madness': {maxPower: 100},
3931
+ 'Needle Arm': {maxPower: 110},
3932
+ 'Never-Ending Nightmare': {maxPower: 1},
3933
+ 'Night Daze': {maxPower: 130},
3934
+ 'Night Shade': {maxPower: 100},
3935
+ 'Night Slash': {maxPower: 120},
3936
+ Nuzzle: {maxPower: 90},
3937
+ 'Oblivion Wing': {maxPower: 130},
3938
+ 'Oceanic Operetta': {maxPower: 1},
3939
+ Octazooka: {maxPower: 120},
3940
+ 'Ominous Wind': {maxPower: 110},
3941
+ 'Origin Pulse': {maxPower: 140},
3942
+ Outrage: {maxPower: 140},
3943
+ Overheat: {maxPower: 140},
3944
+ 'Paleo Wave': {maxPower: 130},
3945
+ 'Parabolic Charge': {maxPower: 120},
3946
+ Payback: {maxPower: 100},
3947
+ 'Pay Day': {maxPower: 90},
3948
+ Peck: {maxPower: 90},
3949
+ 'Petal Blizzard': {maxPower: 130},
3950
+ 'Petal Dance': {maxPower: 140},
3951
+ 'Phantom Force': {maxPower: 130},
3952
+ 'Photon Geyser': {maxPower: 130},
3953
+ 'Pin Missile': {maxPower: 130},
3954
+ 'Plasma Fists': {maxPower: 130},
3955
+ 'Play Rough': {maxPower: 130},
3956
+ Pluck: {maxPower: 110},
3957
+ 'Poison Fang': {maxPower: 75},
3958
+ 'Poison Jab': {maxPower: 90},
3959
+ 'Poison Sting': {maxPower: 70},
3960
+ 'Poison Tail': {maxPower: 75},
3961
+ 'Pollen Puff': {maxPower: 130},
3962
+ Pound: {maxPower: 90},
3963
+ 'Powder Snow': {maxPower: 90},
3964
+ 'Power Gem': {maxPower: 130},
3965
+ 'Power Trip': {maxPower: 130},
3966
+ 'Power-Up Punch': {maxPower: 70},
3967
+ 'Power Whip': {maxPower: 140},
3968
+ 'Precipice Blades': {maxPower: 140},
3969
+ Present: {maxPower: 100},
3970
+ 'Prismatic Laser': {maxPower: 150},
3971
+ Psybeam: {maxPower: 120},
3972
+ Psychic: {maxPower: 130},
3973
+ 'Psychic Fangs': {maxPower: 130},
3974
+ 'Psycho Boost': {maxPower: 140},
3975
+ 'Psycho Cut': {maxPower: 120},
3976
+ Psyshock: {maxPower: 130},
3977
+ Psystrike: {maxPower: 130},
3978
+ Psywave: {maxPower: 100},
3979
+ 'Pulverizing Pancake': {maxPower: 1},
3980
+ Punishment: {maxPower: 130},
3981
+ Pursuit: {maxPower: 90},
3982
+ 'Quick Attack': {maxPower: 90},
3983
+ Rage: {maxPower: 90},
3984
+ 'Rapid Spin': {bp: 50, secondaries: true, maxPower: 100},
3985
+ 'Razor Leaf': {maxPower: 110},
3986
+ 'Razor Shell': {maxPower: 130},
3987
+ 'Razor Wind': {maxPower: 130},
3988
+ 'Relic Song': {maxPower: 130},
3989
+ Retaliate: {maxPower: 120},
3990
+ Return: {maxPower: 130},
3991
+ 'Revelation Dance': {maxPower: 130},
3992
+ Revenge: {maxPower: 80},
3993
+ Reversal: {maxPower: 100},
3994
+ 'Roar of Time': {maxPower: 150},
3995
+ 'Rock Blast': {maxPower: 130},
3996
+ 'Rock Climb': {maxPower: 130},
3997
+ 'Rock Slide': {maxPower: 130},
3998
+ 'Rock Smash': {maxPower: 70},
3999
+ 'Rock Throw': {maxPower: 100},
4000
+ 'Rock Tomb': {maxPower: 110},
4001
+ 'Rock Wrecker': {maxPower: 150},
4002
+ 'Rolling Kick': {maxPower: 80},
4003
+ Rollout: {maxPower: 90},
4004
+ Round: {maxPower: 110},
4005
+ 'Sacred Fire': {maxPower: 130},
4006
+ 'Sacred Sword': {maxPower: 90},
4007
+ 'Sand Tomb': {maxPower: 90},
4008
+ 'Savage Spin-Out': {maxPower: 1},
4009
+ Scald: {maxPower: 130},
4010
+ Scratch: {maxPower: 90},
4011
+ 'Searing Shot': {maxPower: 130},
4012
+ 'Searing Sunraze Smash': {maxPower: 1},
4013
+ 'Secret Power': {maxPower: 120},
4014
+ 'Secret Sword': {maxPower: 90},
4015
+ 'Seed Bomb': {maxPower: 130},
4016
+ 'Seed Flare': {maxPower: 140},
4017
+ 'Seismic Toss': {maxPower: 75},
4018
+ 'Self-Destruct': {maxPower: 150},
4019
+ 'Shadow Ball': {maxPower: 130},
4020
+ 'Shadow Bone': {maxPower: 130},
4021
+ 'Shadow Claw': {maxPower: 120},
4022
+ 'Shadow Force': {maxPower: 140},
4023
+ 'Shadow Punch': {maxPower: 110},
4024
+ 'Shadow Sneak': {maxPower: 90},
4025
+ 'Shadow Strike': {maxPower: 130},
4026
+ 'Shattered Psyche': {maxPower: 1},
4027
+ 'Sheer Cold': {maxPower: 130},
4028
+ 'Shell Trap': {maxPower: 150},
4029
+ 'Shock Wave': {maxPower: 110},
4030
+ 'Signal Beam': {maxPower: 130},
4031
+ 'Silver Wind': {maxPower: 110},
4032
+ 'Sinister Arrow Raid': {maxPower: 1},
4033
+ 'Skull Bash': {maxPower: 140},
4034
+ 'Sky Attack': {maxPower: 140},
4035
+ 'Sky Drop': {maxPower: 110},
4036
+ 'Sky Uppercut': {maxPower: 90},
4037
+ Slam: {maxPower: 130},
4038
+ Slash: {maxPower: 120},
4039
+ Sludge: {maxPower: 85},
4040
+ 'Sludge Bomb': {maxPower: 90},
4041
+ 'Sludge Wave': {maxPower: 90},
4042
+ 'Smack Down': {maxPower: 100},
4043
+ 'Smart Strike': {maxPower: 120},
4044
+ 'Smelling Salts': {maxPower: 120},
4045
+ Smog: {maxPower: 70},
4046
+ Snarl: {maxPower: 110},
4047
+ Snore: {maxPower: 100},
4048
+ 'Solar Beam': {maxPower: 140},
4049
+ 'Solar Blade': {maxPower: 140},
4050
+ 'Sonic Boom': {maxPower: 100},
4051
+ 'Soul-Stealing 7-Star Strike': {maxPower: 1},
4052
+ 'Spacial Rend': {maxPower: 130},
4053
+ Spark: {maxPower: 120},
4054
+ 'Sparkling Aria': {maxPower: 130},
4055
+ 'Spectral Thief': {maxPower: 130},
4056
+ 'Spike Cannon': {maxPower: 120},
4057
+ 'Spirit Shackle': {maxPower: 130},
4058
+ 'Spit Up': {maxPower: 100},
4059
+ 'Splintered Stormshards': {maxPower: 1},
4060
+ 'Steam Eruption': {maxPower: 140},
4061
+ Steamroller: {maxPower: 120},
4062
+ 'Steel Wing': {maxPower: 120},
4063
+ 'Stoked Sparksurfer': {maxPower: 1},
4064
+ Stomp: {maxPower: 120},
4065
+ 'Stomping Tantrum': {maxPower: 130},
4066
+ 'Stone Edge': {maxPower: 130},
4067
+ 'Stored Power': {maxPower: 130},
4068
+ 'Storm Throw': {maxPower: 80},
4069
+ Strength: {maxPower: 130},
4070
+ 'Struggle Bug': {maxPower: 100},
4071
+ Submission: {maxPower: 90},
4072
+ 'Subzero Slammer': {maxPower: 1},
4073
+ 'Sucker Punch': {maxPower: 120},
4074
+ 'Sunsteel Strike': {maxPower: 130},
4075
+ 'Super Fang': {maxPower: 100},
4076
+ Superpower: {maxPower: 95},
4077
+ 'Supersonic Skystrike': {maxPower: 1},
4078
+ Surf: {maxPower: 130},
4079
+ Swift: {maxPower: 110},
4080
+ Synchronoise: {maxPower: 140},
4081
+ Tackle: {maxPower: 90},
4082
+ 'Tail Slap': {maxPower: 130},
4083
+ 'Take Down': {maxPower: 130},
4084
+ 'Techno Blast': {maxPower: 140},
4085
+ 'Tectonic Rage': {maxPower: 1},
4086
+ Thief: {maxPower: 110},
4087
+ 'Thousand Arrows': {maxPower: 130},
4088
+ 'Thousand Waves': {maxPower: 130},
4089
+ Thrash: {maxPower: 140},
4090
+ 'Throat Chop': {maxPower: 130},
4091
+ Thunder: {maxPower: 140},
4092
+ Thunderbolt: {maxPower: 130},
4093
+ 'Thunder Fang': {maxPower: 120},
4094
+ 'Thunder Punch': {maxPower: 130},
4095
+ 'Thunder Shock': {maxPower: 90},
4096
+ 'Tri Attack': {maxPower: 130},
4097
+ 'Triple Kick': {maxPower: 80},
4098
+ 'Trop Kick': {maxPower: 120},
4099
+ 'Trump Card': {maxPower: 130},
4100
+ Twineedle: {maxPower: 100},
4101
+ 'Twinkle Tackle': {maxPower: 1},
4102
+ Twister: {maxPower: 90},
4103
+ 'U-turn': {maxPower: 120},
4104
+ Uproar: {maxPower: 130},
4105
+ 'Vacuum Wave': {maxPower: 70},
4106
+ 'V-create': {maxPower: 150},
4107
+ Venoshock: {maxPower: 85},
4108
+ 'Vine Whip': {maxPower: 100},
4109
+ 'Vise Grip': {maxPower: 110},
4110
+ 'Vital Throw': {maxPower: 85},
4111
+ 'Volt Switch': {maxPower: 120},
4112
+ 'Volt Tackle': {maxPower: 140},
4113
+ 'Wake-Up Slap': {maxPower: 85},
4114
+ Waterfall: {maxPower: 130},
4115
+ 'Water Gun': {maxPower: 90},
4116
+ 'Water Pledge': {maxPower: 130},
4117
+ 'Water Pulse': {maxPower: 110},
4118
+ 'Water Shuriken': {maxPower: 90},
4119
+ 'Water Spout': {maxPower: 150},
4120
+ 'Weather Ball': {maxPower: 130},
4121
+ Whirlpool: {maxPower: 90},
4122
+ 'Wild Charge': {maxPower: 130},
4123
+ 'Wing Attack': {maxPower: 110},
4124
+ 'Wood Hammer': {maxPower: 140},
4125
+ Wrap: {maxPower: 90},
4126
+ 'Wring Out': {maxPower: 140},
4127
+ 'X-Scissor': {maxPower: 130},
4128
+ 'Zap Cannon': {maxPower: 140},
4129
+ 'Zen Headbutt': {maxPower: 130},
4130
+ 'Zing Zap': {maxPower: 130},
4131
+ };
4132
+
4133
+ const SS: {[name: string]: MoveData} = extend(true, {}, SM, SS_PATCH);
4134
+
4135
+ const LGPE_MOVES = [
4136
+ 'Baddy Bad',
4137
+ 'Bouncy Bubble',
4138
+ 'Buzzy Buzz',
4139
+ 'Freezy Frost',
4140
+ 'Glitzy Glow',
4141
+ 'Sappy Seed',
4142
+ 'Sizzly Slide',
4143
+ 'Sparkly Swirl',
4144
+ 'Zippy Zap',
4145
+ 'Floaty Fall',
4146
+ 'Pika Papow',
4147
+ 'Splishy Splash',
4148
+ 'Veevee Volley',
4149
+ ];
4150
+ for (const m of LGPE_MOVES) {
4151
+ delete SS[m];
4152
+ }
4153
+
4154
+ const SV_PATCH: {[name: string]: DeepPartial<MoveData>} = {
4155
+ 'Aerial Ace': {isSlicing: true},
4156
+ Aeroblast: {isWind: true},
4157
+ 'Air Cutter': {isSlicing: true, isWind: true},
4158
+ 'Air Slash': {isSlicing: true},
4159
+ 'Behemoth Blade': {isSlicing: true},
4160
+ Blizzard: {isWind: true},
4161
+ 'Cross Poison': {isSlicing: true},
4162
+ Cut: {isSlicing: true},
4163
+ 'Fairy Wind': {isWind: true},
4164
+ 'Fury Cutter': {isSlicing: true},
4165
+ 'Glacial Lance': {bp: 120, zp: 190},
4166
+ 'Grassy Glide': {bp: 55, zp: 100, maxPower: 110},
4167
+ Gust: {isWind: true},
4168
+ 'Heat Wave': {isWind: true},
4169
+ Hurricane: {isWind: true},
4170
+ 'Icy Wind': {isWind: true},
4171
+ 'Leaf Blade': {isSlicing: true},
4172
+ 'Luster Purge': {bp: 95, zp: 175, maxPower: 130},
4173
+ 'Mist Ball': {bp: 95, zp: 175, maxPower: 130},
4174
+ 'Night Slash': {isSlicing: true},
4175
+ 'Petal Blizzard': {isWind: true},
4176
+ 'Psycho Cut': {isSlicing: true},
4177
+ 'Razor Leaf': {isSlicing: true},
4178
+ 'Razor Shell': {isSlicing: true},
4179
+ 'Sacred Sword': {isSlicing: true},
4180
+ 'Secret Sword': {isSlicing: true},
4181
+ Sandstorm: {isWind: true},
4182
+ Slash: {isSlicing: true},
4183
+ 'Solar Blade': {isSlicing: true},
4184
+ Tailwind: {isWind: true},
4185
+ Twister: {isWind: true},
4186
+ Whirlwind: {isWind: true},
4187
+ 'Wicked Blow': {bp: 75, zp: 140},
4188
+ 'X-Scissor': {isSlicing: true},
4189
+ 'Aqua Cutter': {
4190
+ bp: 70,
4191
+ type: 'Water',
4192
+ category: 'Physical',
4193
+ zp: 140,
4194
+ maxPower: 120,
4195
+ isSlicing: true,
4196
+ },
4197
+ 'Alluring Voice': {
4198
+ bp: 80,
4199
+ type: 'Fairy',
4200
+ category: 'Special',
4201
+ zp: 160,
4202
+ maxPower: 130,
4203
+ secondaries: true,
4204
+ isSound: true,
4205
+ },
4206
+ 'Aqua Step': {
4207
+ bp: 80,
4208
+ type: 'Water',
4209
+ category: 'Physical',
4210
+ zp: 160,
4211
+ maxPower: 130,
4212
+ secondaries: true,
4213
+ makesContact: true,
4214
+ },
4215
+ 'Armor Cannon': {
4216
+ bp: 120,
4217
+ type: 'Fire',
4218
+ category: 'Special',
4219
+ zp: 190,
4220
+ maxPower: 140,
4221
+ },
4222
+ 'Axe Kick': {
4223
+ bp: 120,
4224
+ type: 'Fighting',
4225
+ category: 'Physical',
4226
+ zp: 190,
4227
+ maxPower: 95,
4228
+ secondaries: true,
4229
+ hasCrashDamage: true,
4230
+ makesContact: true,
4231
+ },
4232
+ 'Barb Barrage': {
4233
+ bp: 60,
4234
+ type: 'Poison',
4235
+ category: 'Physical',
4236
+ zp: 120,
4237
+ maxPower: 80,
4238
+ secondaries: true,
4239
+ },
4240
+ 'Bitter Blade': {
4241
+ bp: 90,
4242
+ type: 'Fire',
4243
+ category: 'Physical',
4244
+ zp: 175,
4245
+ maxPower: 130,
4246
+ makesContact: true,
4247
+ isSlicing: true,
4248
+ drain: [1, 2],
4249
+ },
4250
+ 'Bitter Malice': {
4251
+ bp: 75,
4252
+ type: 'Ghost',
4253
+ category: 'Special',
4254
+ zp: 140,
4255
+ maxPower: 130,
4256
+ secondaries: true,
4257
+ },
4258
+ 'Blazing Torque': {
4259
+ bp: 80,
4260
+ type: 'Fire',
4261
+ category: 'Physical',
4262
+ zp: 160,
4263
+ maxPower: 130,
4264
+ secondaries: true,
4265
+ },
4266
+ 'Bleakwind Storm': {
4267
+ bp: 100,
4268
+ type: 'Flying',
4269
+ category: 'Special',
4270
+ zp: 180,
4271
+ maxPower: 130,
4272
+ secondaries: true,
4273
+ isWind: true,
4274
+ target: 'allAdjacentFoes',
4275
+ },
4276
+ 'Blood Moon': {
4277
+ bp: 140,
4278
+ type: 'Normal',
4279
+ category: 'Special',
4280
+ zp: 200,
4281
+ maxPower: 140,
4282
+ },
4283
+ 'Burning Bulwark': {bp: 0, type: 'Fire', priority: 4},
4284
+ 'Ceaseless Edge': {
4285
+ bp: 65,
4286
+ type: 'Dark',
4287
+ category: 'Physical',
4288
+ zp: 120,
4289
+ maxPower: 120,
4290
+ makesContact: true,
4291
+ isSlicing: true,
4292
+ secondaries: true,
4293
+ },
4294
+ 'Chilling Water': {
4295
+ bp: 50,
4296
+ type: 'Water',
4297
+ category: 'Special',
4298
+ zp: 100,
4299
+ maxPower: 100,
4300
+ secondaries: true,
4301
+ },
4302
+ 'Chilly Reception': {
4303
+ bp: 0,
4304
+ type: 'Ice',
4305
+ category: 'Status',
4306
+ },
4307
+ 'Chloroblast': {
4308
+ bp: 150,
4309
+ type: 'Grass',
4310
+ mindBlownRecoil: true,
4311
+ category: 'Special',
4312
+ zp: 200,
4313
+ maxPower: 150,
4314
+ },
4315
+ 'Collision Course': {
4316
+ bp: 100,
4317
+ type: 'Fighting',
4318
+ category: 'Physical',
4319
+ zp: 180,
4320
+ maxPower: 90,
4321
+ makesContact: true, // Deals 1.3x on super effective
4322
+ },
4323
+ 'Combat Torque': {
4324
+ bp: 100,
4325
+ type: 'Fighting',
4326
+ category: 'Physical',
4327
+ zp: 180,
4328
+ maxPower: 90,
4329
+ secondaries: true,
4330
+ },
4331
+ Comeuppance: {
4332
+ bp: 0,
4333
+ type: 'Dark',
4334
+ category: 'Physical',
4335
+ zp: 100,
4336
+ maxPower: 100,
4337
+ makesContact: true,
4338
+ },
4339
+ Doodle: {
4340
+ bp: 0,
4341
+ type: 'Normal',
4342
+ category: 'Status',
4343
+ },
4344
+ 'Double Shock': {
4345
+ bp: 120,
4346
+ type: 'Electric',
4347
+ category: 'Physical',
4348
+ zp: 190,
4349
+ maxPower: 140,
4350
+ makesContact: true,
4351
+ },
4352
+ 'Dire Claw': {
4353
+ bp: 80,
4354
+ type: 'Poison',
4355
+ category: 'Physical',
4356
+ zp: 160,
4357
+ maxPower: 90,
4358
+ makesContact: true,
4359
+ secondaries: true,
4360
+ },
4361
+ 'Dragon Cheer': {bp: 0, type: 'Dragon'},
4362
+ 'Electro Drift': {
4363
+ bp: 100,
4364
+ type: 'Electric',
4365
+ category: 'Special',
4366
+ zp: 180,
4367
+ maxPower: 130,
4368
+ makesContact: true, // deals 1.3x on super effective
4369
+ },
4370
+ 'Electro Shot': {
4371
+ bp: 130,
4372
+ type: 'Electric',
4373
+ category: 'Special',
4374
+ zp: 195,
4375
+ maxPower: 140,
4376
+ },
4377
+ 'Esper Wing': {
4378
+ bp: 80,
4379
+ type: 'Psychic',
4380
+ category: 'Special',
4381
+ zp: 160,
4382
+ maxPower: 130,
4383
+ secondaries: true,
4384
+ },
4385
+ 'Fickle Beam': {
4386
+ bp: 80,
4387
+ type: 'Dragon',
4388
+ category: 'Special',
4389
+ zp: 160,
4390
+ maxPower: 130,
4391
+ },
4392
+ 'Fillet Away': {
4393
+ bp: 0,
4394
+ type: 'Normal',
4395
+ category: 'Status',
4396
+ },
4397
+ 'Flower Trick': {
4398
+ bp: 70,
4399
+ type: 'Grass',
4400
+ category: 'Physical',
4401
+ willCrit: true,
4402
+ zp: 140,
4403
+ maxPower: 120,
4404
+ },
4405
+ 'Gigaton Hammer': {
4406
+ bp: 160,
4407
+ type: 'Steel',
4408
+ category: 'Physical',
4409
+ zp: 200,
4410
+ maxPower: 150,
4411
+ },
4412
+ 'Glaive Rush': {
4413
+ bp: 120,
4414
+ type: 'Dragon',
4415
+ category: 'Physical',
4416
+ zp: 190,
4417
+ maxPower: 140,
4418
+ makesContact: true,
4419
+ },
4420
+ 'Hard Press': {
4421
+ bp: 0,
4422
+ type: 'Steel',
4423
+ category: 'Physical',
4424
+ zp: 100,
4425
+ maxPower: 100,
4426
+ makesContact: true,
4427
+ },
4428
+ 'Headlong Rush': {
4429
+ bp: 120,
4430
+ type: 'Ground',
4431
+ category: 'Physical',
4432
+ zp: 190,
4433
+ maxPower: 140,
4434
+ makesContact: true,
4435
+ isPunch: true,
4436
+ },
4437
+ 'Hydro Steam': {
4438
+ bp: 80,
4439
+ type: 'Water',
4440
+ category: 'Special',
4441
+ zp: 160,
4442
+ maxPower: 130,
4443
+ },
4444
+ 'Hyper Drill': {
4445
+ bp: 100,
4446
+ type: 'Normal',
4447
+ category: 'Physical',
4448
+ zp: 180,
4449
+ maxPower: 130,
4450
+ makesContact: true,
4451
+ breaksProtect: true,
4452
+ },
4453
+ 'Ice Spinner': {
4454
+ bp: 80,
4455
+ type: 'Ice',
4456
+ category: 'Physical',
4457
+ zp: 160,
4458
+ maxPower: 130,
4459
+ makesContact: true,
4460
+ },
4461
+ 'Infernal Parade': {
4462
+ bp: 60,
4463
+ type: 'Ghost',
4464
+ category: 'Special',
4465
+ zp: 120,
4466
+ maxPower: 110,
4467
+ secondaries: true,
4468
+ },
4469
+ 'Ivy Cudgel': {
4470
+ bp: 100,
4471
+ type: 'Grass',
4472
+ category: 'Physical',
4473
+ zp: 180,
4474
+ maxPower: 130,
4475
+ },
4476
+ 'Jet Punch': {
4477
+ bp: 60,
4478
+ type: 'Water',
4479
+ category: 'Physical',
4480
+ zp: 120,
4481
+ maxPower: 110,
4482
+ makesContact: true,
4483
+ isPunch: true,
4484
+ priority: 1,
4485
+ },
4486
+ 'Kowtow Cleave': {
4487
+ bp: 85,
4488
+ type: 'Dark',
4489
+ category: 'Physical',
4490
+ zp: 160,
4491
+ maxPower: 130,
4492
+ makesContact: true,
4493
+ isSlicing: true,
4494
+ },
4495
+ 'Last Respects': {
4496
+ bp: 50,
4497
+ type: 'Ghost',
4498
+ category: 'Physical',
4499
+ zp: 100,
4500
+ maxPower: 100,
4501
+ },
4502
+ 'Lumina Crash': {
4503
+ bp: 80,
4504
+ type: 'Psychic',
4505
+ category: 'Special',
4506
+ zp: 160,
4507
+ maxPower: 130,
4508
+ secondaries: true,
4509
+ },
4510
+ 'Lunar Blessing': {
4511
+ bp: 0,
4512
+ type: 'Psychic',
4513
+ category: 'Status',
4514
+ },
4515
+ 'Magical Torque': {
4516
+ bp: 100,
4517
+ type: 'Fairy',
4518
+ category: 'Physical',
4519
+ zp: 180,
4520
+ maxPower: 130,
4521
+ secondaries: true,
4522
+ },
4523
+ 'Make It Rain': {
4524
+ bp: 120,
4525
+ type: 'Steel',
4526
+ category: 'Special',
4527
+ zp: 190,
4528
+ maxPower: 140,
4529
+ target: 'allAdjacentFoes',
4530
+ self: {boosts: {spa: -1}},
4531
+ },
4532
+ 'Malignant Chain': {
4533
+ bp: 100,
4534
+ type: 'Poison',
4535
+ category: 'Special',
4536
+ zp: 180,
4537
+ maxPower: 90,
4538
+ secondaries: true,
4539
+ },
4540
+ 'Matcha Gotcha': {
4541
+ bp: 80,
4542
+ type: 'Grass',
4543
+ category: 'Special',
4544
+ target: 'allAdjacentFoes',
4545
+ zp: 160,
4546
+ maxPower: 130,
4547
+ secondaries: true,
4548
+ drain: [1, 2],
4549
+ },
4550
+ 'Mighty Cleave': {
4551
+ bp: 95,
4552
+ type: 'Rock',
4553
+ category: 'Physical',
4554
+ zp: 175,
4555
+ maxPower: 130,
4556
+ makesContact: true,
4557
+ isSlicing: true,
4558
+ },
4559
+ 'Mortal Spin': {
4560
+ bp: 30,
4561
+ type: 'Poison',
4562
+ category: 'Physical',
4563
+ zp: 100,
4564
+ maxPower: 70,
4565
+ makesContact: true,
4566
+ secondaries: true,
4567
+ target: 'allAdjacentFoes',
4568
+ },
4569
+ 'Mountain Gale': {
4570
+ bp: 100,
4571
+ type: 'Ice',
4572
+ category: 'Physical',
4573
+ zp: 180,
4574
+ maxPower: 130,
4575
+ secondaries: true,
4576
+ },
4577
+ 'Mystical Power': {
4578
+ bp: 70,
4579
+ type: 'Psychic',
4580
+ category: 'Special',
4581
+ zp: 140,
4582
+ maxPower: 120,
4583
+ secondaries: true,
4584
+ },
4585
+ 'Noxious Torque': {
4586
+ bp: 100,
4587
+ type: 'Poison',
4588
+ category: 'Physical',
4589
+ zp: 180,
4590
+ maxPower: 90,
4591
+ secondaries: true,
4592
+ },
4593
+ 'Order Up': {
4594
+ bp: 80,
4595
+ type: 'Dragon',
4596
+ category: 'Physical',
4597
+ zp: 160,
4598
+ maxPower: 130,
4599
+ isPulse: true,
4600
+ // Sheer Force boost implemented in gen789.ts
4601
+ },
4602
+ 'Psychic Noise': {
4603
+ bp: 75,
4604
+ type: 'Psychic',
4605
+ category: 'Special',
4606
+ zp: 140,
4607
+ maxPower: 130,
4608
+ secondaries: true,
4609
+ isSound: true,
4610
+ },
4611
+ 'Population Bomb': {
4612
+ bp: 20,
4613
+ type: 'Normal',
4614
+ category: 'Physical',
4615
+ zp: 100,
4616
+ maxPower: 90,
4617
+ makesContact: true,
4618
+ isSlicing: true,
4619
+ multihit: 10,
4620
+ multiaccuracy: true,
4621
+ },
4622
+ Pounce: {
4623
+ bp: 50,
4624
+ type: 'Bug',
4625
+ category: 'Physical',
4626
+ zp: 100,
4627
+ maxPower: 100,
4628
+ makesContact: true,
4629
+ secondaries: true,
4630
+ },
4631
+ 'Power Shift': {
4632
+ bp: 0,
4633
+ type: 'Normal',
4634
+ category: 'Status',
4635
+ },
4636
+ Psyblade: {
4637
+ bp: 80,
4638
+ type: 'Psychic',
4639
+ category: 'Physical',
4640
+ zp: 160,
4641
+ maxPower: 130,
4642
+ makesContact: true,
4643
+ isSlicing: true,
4644
+ },
4645
+ 'Psyshield Bash': {
4646
+ bp: 70,
4647
+ type: 'Psychic',
4648
+ category: 'Physical',
4649
+ zp: 140,
4650
+ maxPower: 120,
4651
+ makesContact: true,
4652
+ secondaries: true,
4653
+ },
4654
+ 'Rage Fist': {
4655
+ bp: 50,
4656
+ type: 'Ghost',
4657
+ category: 'Physical',
4658
+ zp: 100,
4659
+ maxPower: 100,
4660
+ makesContact: true,
4661
+ isPunch: true,
4662
+ },
4663
+ 'Raging Bull': {
4664
+ bp: 90,
4665
+ type: 'Normal',
4666
+ category: 'Physical',
4667
+ zp: 175,
4668
+ maxPower: 130,
4669
+ makesContact: true,
4670
+ },
4671
+ 'Raging Fury': {
4672
+ bp: 120,
4673
+ type: 'Fire',
4674
+ category: 'Physical',
4675
+ zp: 190,
4676
+ maxPower: 140,
4677
+ },
4678
+ 'Revival Blessing': {
4679
+ bp: 0,
4680
+ type: 'Normal',
4681
+ category: 'Status',
4682
+ },
4683
+ Ruination: {
4684
+ bp: 0,
4685
+ type: 'Dark',
4686
+ category: 'Special',
4687
+ zp: 100,
4688
+ maxPower: 100,
4689
+ },
4690
+ 'Salt Cure': {
4691
+ bp: 40,
4692
+ type: 'Rock',
4693
+ category: 'Physical',
4694
+ zp: 100,
4695
+ maxPower: 90,
4696
+ secondaries: true,
4697
+ },
4698
+ 'Sandsear Storm': {
4699
+ bp: 100,
4700
+ type: 'Ground',
4701
+ category: 'Special',
4702
+ zp: 180,
4703
+ maxPower: 130,
4704
+ secondaries: true,
4705
+ isWind: true,
4706
+ target: 'allAdjacentFoes',
4707
+ },
4708
+ 'Shed Tail': {
4709
+ bp: 0,
4710
+ type: 'Normal',
4711
+ category: 'Status',
4712
+ },
4713
+ Shelter: {
4714
+ bp: 0,
4715
+ type: 'Steel',
4716
+ category: 'Status',
4717
+ },
4718
+ 'Silk Trap': {
4719
+ bp: 0,
4720
+ type: 'Bug',
4721
+ category: 'Status',
4722
+ priority: 4,
4723
+ },
4724
+ Snowscape: {
4725
+ bp: 0,
4726
+ type: 'Ice',
4727
+ category: 'Status',
4728
+ },
4729
+ 'Spicy Extract': {
4730
+ bp: 0,
4731
+ type: 'Grass',
4732
+ category: 'Status',
4733
+ },
4734
+ 'Spin Out': {
4735
+ bp: 100,
4736
+ type: 'Steel',
4737
+ category: 'Physical',
4738
+ zp: 180,
4739
+ maxPower: 130,
4740
+ makesContact: true,
4741
+ },
4742
+ 'Springtide Storm': {
4743
+ bp: 100,
4744
+ type: 'Fairy',
4745
+ category: 'Special',
4746
+ zp: 180,
4747
+ maxPower: 130,
4748
+ secondaries: true,
4749
+ isWind: true,
4750
+ target: 'allAdjacentFoes',
4751
+ },
4752
+ 'Stone Axe': {
4753
+ bp: 65,
4754
+ type: 'Rock',
4755
+ category: 'Physical',
4756
+ zp: 120,
4757
+ maxPower: 120,
4758
+ makesContact: true,
4759
+ isSlicing: true,
4760
+ secondaries: true,
4761
+ },
4762
+ 'Supercell Slam': {
4763
+ bp: 100,
4764
+ type: 'Electric',
4765
+ category: 'Physical',
4766
+ zp: 180,
4767
+ maxPower: 130,
4768
+ makesContact: true,
4769
+ hasCrashDamage: true,
4770
+ },
4771
+ 'Syrup Bomb': {
4772
+ bp: 60,
4773
+ type: 'Grass',
4774
+ category: 'Special',
4775
+ zp: 120,
4776
+ maxPower: 110,
4777
+ isBullet: true,
4778
+ secondaries: true,
4779
+ },
4780
+ 'Tachyon Cutter': {
4781
+ bp: 50,
4782
+ type: 'Steel',
4783
+ category: 'Special',
4784
+ zp: 180,
4785
+ maxPower: 140,
4786
+ multihit: 2,
4787
+ isSlicing: true,
4788
+ },
4789
+ 'Take Heart': {
4790
+ bp: 0,
4791
+ type: 'Psychic',
4792
+ category: 'Status',
4793
+ },
4794
+ 'Temper Flare': {
4795
+ bp: 75,
4796
+ type: 'Fire',
4797
+ category: 'Physical',
4798
+ zp: 140,
4799
+ maxPower: 130,
4800
+ makesContact: true,
4801
+ },
4802
+ 'Tera Blast': {
4803
+ bp: 80,
4804
+ type: 'Normal',
4805
+ category: 'Special',
4806
+ zp: 160,
4807
+ maxPower: 130,
4808
+ },
4809
+ 'Tera Starstorm': {
4810
+ bp: 120,
4811
+ type: 'Normal',
4812
+ category: 'Special',
4813
+ zp: 190,
4814
+ maxPower: 140,
4815
+ },
4816
+ 'Thunderclap': {
4817
+ bp: 70,
4818
+ type: 'Electric',
4819
+ category: 'Special',
4820
+ zp: 140,
4821
+ maxPower: 120,
4822
+ priority: 1,
4823
+ },
4824
+ 'Tidy Up': {
4825
+ bp: 0,
4826
+ type: 'Normal',
4827
+ category: 'Status',
4828
+ },
4829
+ 'Torch Song': {
4830
+ bp: 80,
4831
+ type: 'Fire',
4832
+ category: 'Special',
4833
+ zp: 160,
4834
+ maxPower: 130,
4835
+ secondaries: true,
4836
+ isSound: true,
4837
+ },
4838
+ Trailblaze: {
4839
+ bp: 50,
4840
+ type: 'Grass',
4841
+ category: 'Physical',
4842
+ zp: 100,
4843
+ maxPower: 100,
4844
+ secondaries: true,
4845
+ makesContact: true,
4846
+ },
4847
+ 'Triple Arrows': {
4848
+ bp: 90,
4849
+ type: 'Fighting',
4850
+ category: 'Physical',
4851
+ zp: 175,
4852
+ maxPower: 90,
4853
+ secondaries: true,
4854
+ },
4855
+ 'Triple Dive': {
4856
+ bp: 30,
4857
+ type: 'Water',
4858
+ category: 'Physical',
4859
+ zp: 100,
4860
+ maxPower: 90,
4861
+ makesContact: true,
4862
+ multihit: 3,
4863
+ },
4864
+ 'Twin Beam': {
4865
+ bp: 40,
4866
+ type: 'Psychic',
4867
+ category: 'Special',
4868
+ zp: 100,
4869
+ maxPower: 90,
4870
+ multihit: 2,
4871
+ },
4872
+ 'Upper Hand': {
4873
+ bp: 65,
4874
+ type: 'Fighting',
4875
+ category: 'Physical',
4876
+ zp: 120,
4877
+ maxPower: 85,
4878
+ makesContact: true,
4879
+ secondaries: true,
4880
+ priority: 3,
4881
+ },
4882
+ 'Victory Dance': {
4883
+ bp: 0,
4884
+ type: 'Fighting',
4885
+ category: 'Status',
4886
+ },
4887
+ 'Wave Crash': {
4888
+ bp: 120,
4889
+ type: 'Water',
4890
+ category: 'Physical',
4891
+ zp: 190,
4892
+ maxPower: 140,
4893
+ makesContact: true,
4894
+ recoil: [33, 100],
4895
+ },
4896
+ 'Wicked Torque': {
4897
+ bp: 80,
4898
+ type: 'Dark',
4899
+ category: 'Physical',
4900
+ zp: 160,
4901
+ maxPower: 130,
4902
+ secondaries: true,
4903
+ },
4904
+ 'Wildbolt Storm': {
4905
+ bp: 100,
4906
+ type: 'Electric',
4907
+ category: 'Special',
4908
+ zp: 180,
4909
+ maxPower: 130,
4910
+ secondaries: true,
4911
+ isWind: true,
4912
+ target: 'allAdjacentFoes',
4913
+ },
4914
+ };
4915
+
4916
+ const SV: {[name: string]: MoveData} = extend(true, {}, SS, SV_PATCH);
4917
+
4918
+ export const MOVES = [{}, RBY, GSC, ADV, DPP, BW, XY, SM, SS, SV];
4919
+
4920
+ export class Moves implements I.Moves {
4921
+ private readonly gen: I.GenerationNum;
4922
+
4923
+ constructor(gen: I.GenerationNum) {
4924
+ this.gen = gen;
4925
+ }
4926
+
4927
+ get(id: I.ID) {
4928
+ return MOVES_BY_ID[this.gen][id];
4929
+ }
4930
+
4931
+ *[Symbol.iterator]() {
4932
+ for (const id in MOVES_BY_ID[this.gen]) {
4933
+ yield this.get(id as I.ID)!;
4934
+ }
4935
+ }
4936
+ }
4937
+
4938
+ class Move implements I.Move {
4939
+ readonly kind: 'Move';
4940
+ readonly id: I.ID;
4941
+ readonly name: I.MoveName;
4942
+ readonly basePower!: number;
4943
+ readonly type!: I.TypeName;
4944
+ readonly category?: I.MoveCategory;
4945
+ readonly flags: I.MoveFlags;
4946
+ readonly secondaries?: boolean;
4947
+ readonly target?: I.MoveTarget;
4948
+ readonly recoil?: [number, number];
4949
+ readonly hasCrashDamage?: boolean;
4950
+ readonly mindBlownRecoil?: boolean;
4951
+ readonly struggleRecoil?: boolean;
4952
+ readonly willCrit?: boolean;
4953
+ readonly drain?: [number, number];
4954
+ readonly priority?: number;
4955
+ readonly self?: I.SelfOrSecondaryEffect | null;
4956
+ readonly ignoreDefensive?: boolean;
4957
+ readonly overrideOffensiveStat?: I.StatIDExceptHP;
4958
+ readonly overrideDefensiveStat?: I.StatIDExceptHP;
4959
+ readonly overrideOffensivePokemon?: 'target' | 'source';
4960
+ readonly overrideDefensivePokemon?: 'target' | 'source';
4961
+ readonly breaksProtect?: boolean;
4962
+ readonly isZ?: boolean;
4963
+ readonly zMove?: {
4964
+ basePower?: number;
4965
+ };
4966
+ readonly isMax?: boolean;
4967
+ readonly maxMove?: {
4968
+ basePower: number;
4969
+ };
4970
+ readonly zp?: number;
4971
+ readonly maxPower?: number;
4972
+ readonly multihit?: number | number[];
4973
+ readonly multiaccuracy?: boolean;
4974
+
4975
+ private static readonly FLAGS = new Set([
4976
+ 'bp',
4977
+ 'makesContact',
4978
+ 'isPunch',
4979
+ 'isBite',
4980
+ 'isBullet',
4981
+ 'isSound',
4982
+ 'isPulse',
4983
+ 'zp',
4984
+ 'maxPower',
4985
+ 'isSlicing',
4986
+ 'isWind',
4987
+ ]);
4988
+
4989
+ constructor(name: string, data: MoveData, gen: number) {
4990
+ this.kind = 'Move';
4991
+ this.id = toID(name);
4992
+ this.name = name as I.MoveName;
4993
+
4994
+ // TODO: remove this once MoveData is migrated to flags and Object.assign just handles this
4995
+ this.flags = {};
4996
+ if (data.makesContact) this.flags.contact = 1;
4997
+ if (data.isPunch) this.flags.punch = 1;
4998
+ if (data.isBite) this.flags.bite = 1;
4999
+ if (data.isBullet) this.flags.bullet = 1;
5000
+ if (data.isSound) this.flags.sound = 1;
5001
+ if (data.isPulse) this.flags.pulse = 1;
5002
+ if (data.isSlicing) this.flags.slicing = 1;
5003
+ if (data.isWind) this.flags.wind = 1;
5004
+
5005
+ assignWithout(this, data, Move.FLAGS);
5006
+
5007
+ this.basePower = data.bp;
5008
+ if (data.zp) this.zMove = {basePower: data.zp};
5009
+ if (data.maxPower) this.maxMove = {basePower: data.maxPower};
5010
+
5011
+ if (!this.category && gen >= 4) this.category = 'Status';
5012
+ if (this.struggleRecoil) delete (this as any).recoil;
5013
+ }
5014
+ }
5015
+
5016
+ const MOVES_BY_ID: Array<{[id: string]: Move}> = [];
5017
+
5018
+ let gen = 0;
5019
+ for (const moves of MOVES) {
5020
+ const map: {[id: string]: Move} = {};
5021
+ for (const move in moves) {
5022
+ const data = moves[move];
5023
+ const m = new Move(move, data, gen);
5024
+ map[m.id] = m;
5025
+ }
5026
+ MOVES_BY_ID.push(map);
5027
+ gen++;
5028
+ }