@pkmn/sim 0.7.11 → 0.7.13

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 (145) hide show
  1. package/build/cjs/config/formats.js +114 -84
  2. package/build/cjs/config/formats.js.map +1 -1
  3. package/build/cjs/data/abilities.js +25 -16
  4. package/build/cjs/data/abilities.js.map +1 -1
  5. package/build/cjs/data/aliases.js +3 -2
  6. package/build/cjs/data/aliases.js.map +1 -1
  7. package/build/cjs/data/conditions.js +1 -1
  8. package/build/cjs/data/conditions.js.map +1 -1
  9. package/build/cjs/data/formats-data.js +917 -917
  10. package/build/cjs/data/formats-data.js.map +1 -1
  11. package/build/cjs/data/items.js +104 -38
  12. package/build/cjs/data/items.js.map +1 -1
  13. package/build/cjs/data/learnsets.js +9 -9
  14. package/build/cjs/data/mods/gen1/conditions.js +30 -31
  15. package/build/cjs/data/mods/gen1/conditions.js.map +1 -1
  16. package/build/cjs/data/mods/gen1/moves.js +68 -100
  17. package/build/cjs/data/mods/gen1/moves.js.map +1 -1
  18. package/build/cjs/data/mods/gen1/scripts.js +16 -6
  19. package/build/cjs/data/mods/gen1/scripts.js.map +1 -1
  20. package/build/cjs/data/mods/gen3/formats-data.js +52 -52
  21. package/build/cjs/data/mods/gen3/formats-data.js.map +1 -1
  22. package/build/cjs/data/mods/gen4/moves.js +32 -24
  23. package/build/cjs/data/mods/gen4/moves.js.map +1 -1
  24. package/build/cjs/data/mods/gen4/rulesets.js +1 -1
  25. package/build/cjs/data/mods/gen4/rulesets.js.map +1 -1
  26. package/build/cjs/data/mods/gen5/formats-data.js +15 -15
  27. package/build/cjs/data/mods/gen5/formats-data.js.map +1 -1
  28. package/build/cjs/data/mods/gen5/rulesets.js +1 -1
  29. package/build/cjs/data/mods/gen5/rulesets.js.map +1 -1
  30. package/build/cjs/data/mods/gen6/formats-data.js +3 -3
  31. package/build/cjs/data/mods/gen6/formats-data.js.map +1 -1
  32. package/build/cjs/data/mods/gen7/formats-data.js +6 -6
  33. package/build/cjs/data/mods/gen7/formats-data.js.map +1 -1
  34. package/build/cjs/data/mods/gen7/items.js +8 -0
  35. package/build/cjs/data/mods/gen7/items.js.map +1 -1
  36. package/build/cjs/data/mods/gen7/rulesets.js +1 -1
  37. package/build/cjs/data/mods/gen7/rulesets.js.map +1 -1
  38. package/build/cjs/data/mods/gen8/formats-data.js +2 -2
  39. package/build/cjs/data/mods/gen8/formats-data.js.map +1 -1
  40. package/build/cjs/data/mods/gen8/items.js +76 -0
  41. package/build/cjs/data/mods/gen8/items.js.map +1 -1
  42. package/build/cjs/data/mods/gen8/moves.js +9 -0
  43. package/build/cjs/data/mods/gen8/moves.js.map +1 -1
  44. package/build/cjs/data/mods/gen8/pokedex.js +4 -0
  45. package/build/cjs/data/mods/gen8/pokedex.js.map +1 -1
  46. package/build/cjs/data/moves.js +111 -61
  47. package/build/cjs/data/moves.js.map +1 -1
  48. package/build/cjs/data/pokedex.js +5 -1
  49. package/build/cjs/data/pokedex.js.map +1 -1
  50. package/build/cjs/data/rulesets.js +1 -1
  51. package/build/cjs/data/rulesets.js.map +1 -1
  52. package/build/cjs/data/tags.js +4 -0
  53. package/build/cjs/data/tags.js.map +1 -1
  54. package/build/cjs/data/text/abilities.js +87 -55
  55. package/build/cjs/data/text/abilities.js.map +1 -1
  56. package/build/cjs/data/text/items.js +26 -13
  57. package/build/cjs/data/text/items.js.map +1 -1
  58. package/build/cjs/data/text/moves.js +179 -103
  59. package/build/cjs/data/text/moves.js.map +1 -1
  60. package/build/cjs/sim/battle-actions.js +9 -9
  61. package/build/cjs/sim/battle-actions.js.map +1 -1
  62. package/build/cjs/sim/battle-queue.js +1 -0
  63. package/build/cjs/sim/battle-queue.js.map +1 -1
  64. package/build/cjs/sim/battle.js +37 -2
  65. package/build/cjs/sim/battle.js.map +1 -1
  66. package/build/cjs/sim/pokemon.js +14 -6
  67. package/build/cjs/sim/pokemon.js.map +1 -1
  68. package/build/cjs/sim/side.js +7 -12
  69. package/build/cjs/sim/side.js.map +1 -1
  70. package/build/cjs/sim/team-validator.js +0 -4
  71. package/build/cjs/sim/team-validator.js.map +1 -1
  72. package/build/esm/config/formats.mjs +114 -84
  73. package/build/esm/config/formats.mjs.map +1 -1
  74. package/build/esm/data/abilities.mjs +25 -16
  75. package/build/esm/data/abilities.mjs.map +1 -1
  76. package/build/esm/data/aliases.mjs +3 -2
  77. package/build/esm/data/aliases.mjs.map +1 -1
  78. package/build/esm/data/conditions.mjs +1 -1
  79. package/build/esm/data/conditions.mjs.map +1 -1
  80. package/build/esm/data/formats-data.mjs +917 -917
  81. package/build/esm/data/formats-data.mjs.map +1 -1
  82. package/build/esm/data/items.mjs +104 -38
  83. package/build/esm/data/items.mjs.map +1 -1
  84. package/build/esm/data/learnsets.mjs +9 -9
  85. package/build/esm/data/mods/gen1/conditions.mjs +30 -31
  86. package/build/esm/data/mods/gen1/conditions.mjs.map +1 -1
  87. package/build/esm/data/mods/gen1/moves.mjs +68 -100
  88. package/build/esm/data/mods/gen1/moves.mjs.map +1 -1
  89. package/build/esm/data/mods/gen1/scripts.mjs +16 -6
  90. package/build/esm/data/mods/gen1/scripts.mjs.map +1 -1
  91. package/build/esm/data/mods/gen3/formats-data.mjs +52 -52
  92. package/build/esm/data/mods/gen3/formats-data.mjs.map +1 -1
  93. package/build/esm/data/mods/gen4/moves.mjs +32 -24
  94. package/build/esm/data/mods/gen4/moves.mjs.map +1 -1
  95. package/build/esm/data/mods/gen4/rulesets.mjs +1 -1
  96. package/build/esm/data/mods/gen4/rulesets.mjs.map +1 -1
  97. package/build/esm/data/mods/gen5/formats-data.mjs +15 -15
  98. package/build/esm/data/mods/gen5/formats-data.mjs.map +1 -1
  99. package/build/esm/data/mods/gen5/rulesets.mjs +1 -1
  100. package/build/esm/data/mods/gen5/rulesets.mjs.map +1 -1
  101. package/build/esm/data/mods/gen6/formats-data.mjs +3 -3
  102. package/build/esm/data/mods/gen6/formats-data.mjs.map +1 -1
  103. package/build/esm/data/mods/gen7/formats-data.mjs +6 -6
  104. package/build/esm/data/mods/gen7/formats-data.mjs.map +1 -1
  105. package/build/esm/data/mods/gen7/items.mjs +8 -0
  106. package/build/esm/data/mods/gen7/items.mjs.map +1 -1
  107. package/build/esm/data/mods/gen7/rulesets.mjs +1 -1
  108. package/build/esm/data/mods/gen7/rulesets.mjs.map +1 -1
  109. package/build/esm/data/mods/gen8/formats-data.mjs +2 -2
  110. package/build/esm/data/mods/gen8/formats-data.mjs.map +1 -1
  111. package/build/esm/data/mods/gen8/items.mjs +76 -0
  112. package/build/esm/data/mods/gen8/items.mjs.map +1 -1
  113. package/build/esm/data/mods/gen8/moves.mjs +9 -0
  114. package/build/esm/data/mods/gen8/moves.mjs.map +1 -1
  115. package/build/esm/data/mods/gen8/pokedex.mjs +4 -0
  116. package/build/esm/data/mods/gen8/pokedex.mjs.map +1 -1
  117. package/build/esm/data/moves.mjs +111 -61
  118. package/build/esm/data/moves.mjs.map +1 -1
  119. package/build/esm/data/pokedex.mjs +5 -1
  120. package/build/esm/data/pokedex.mjs.map +1 -1
  121. package/build/esm/data/rulesets.mjs +1 -1
  122. package/build/esm/data/rulesets.mjs.map +1 -1
  123. package/build/esm/data/tags.mjs +4 -0
  124. package/build/esm/data/tags.mjs.map +1 -1
  125. package/build/esm/data/text/abilities.mjs +87 -55
  126. package/build/esm/data/text/abilities.mjs.map +1 -1
  127. package/build/esm/data/text/items.mjs +26 -13
  128. package/build/esm/data/text/items.mjs.map +1 -1
  129. package/build/esm/data/text/moves.mjs +179 -103
  130. package/build/esm/data/text/moves.mjs.map +1 -1
  131. package/build/esm/sim/battle-actions.mjs +9 -9
  132. package/build/esm/sim/battle-actions.mjs.map +1 -1
  133. package/build/esm/sim/battle-queue.mjs +1 -0
  134. package/build/esm/sim/battle-queue.mjs.map +1 -1
  135. package/build/esm/sim/battle.mjs +37 -2
  136. package/build/esm/sim/battle.mjs.map +1 -1
  137. package/build/esm/sim/pokemon.mjs +14 -6
  138. package/build/esm/sim/pokemon.mjs.map +1 -1
  139. package/build/esm/sim/side.mjs +7 -12
  140. package/build/esm/sim/side.mjs.map +1 -1
  141. package/build/esm/sim/team-validator.mjs +0 -4
  142. package/build/esm/sim/team-validator.mjs.map +1 -1
  143. package/build/types/sim/battle-queue.d.ts +2 -2
  144. package/build/types/sim/side.d.ts +1 -1
  145. package/package.json +3 -3
@@ -39854,7 +39854,7 @@ export const Learnsets = {
39854
39854
  assurance: [
39855
39855
  '9L25', '8M',
39856
39856
  '8L25', '7L25',
39857
- '6L25', '5L43',
39857
+ '6L25', '5L25',
39858
39858
  '4L43'
39859
39859
  ],
39860
39860
  attract: [
@@ -39875,7 +39875,7 @@ export const Learnsets = {
39875
39875
  '9M', '9L20',
39876
39876
  '8L20', '7L17',
39877
39877
  '7V', '6L17',
39878
- '5L29', '4L29',
39878
+ '5L17', '4L29',
39879
39879
  '3L30'
39880
39880
  ],
39881
39881
  copycat: ['9L1', '8L1'],
@@ -39903,7 +39903,7 @@ export const Learnsets = {
39903
39903
  '3M'
39904
39904
  ],
39905
39905
  faketears: ['9M', '8M'],
39906
- feintattack: ['7L20', '7V', '6L20', '5L36', '4L36', '3L36'],
39906
+ feintattack: ['7L20', '7V', '6L20', '5L21', '4L36', '3L36'],
39907
39907
  flash: ['7V', '6M', '5M', '4M', '3M'],
39908
39908
  focusenergy: ['8M'],
39909
39909
  foulplay: ['9M', '8M', '7T', '6T', '5T'],
@@ -39913,7 +39913,7 @@ export const Learnsets = {
39913
39913
  guardswap: [
39914
39914
  '9L35', '8M',
39915
39915
  '8L35', '7L45',
39916
- '6L45', '5L78',
39916
+ '6L45', '5L45',
39917
39917
  '4L78'
39918
39918
  ],
39919
39919
  headbutt: ['7V', '4T'],
@@ -39944,21 +39944,21 @@ export const Learnsets = {
39944
39944
  '9L55', '8L55',
39945
39945
  '7T', '7L41',
39946
39946
  '6T', '6L41',
39947
- '5T', '5L50',
39947
+ '5T', '5L41',
39948
39948
  '4T', '4L50'
39949
39949
  ],
39950
39950
  lightscreen: ['9M'],
39951
39951
  meanlook: [
39952
39952
  '9L50', '8L50',
39953
39953
  '7L37', '7V',
39954
- '6L37', '5L57',
39954
+ '6L37', '5L37',
39955
39955
  '4L57', '3L42'
39956
39956
  ],
39957
39957
  mimic: ['3T'],
39958
39958
  moonlight: [
39959
39959
  '9L30', '8L30',
39960
39960
  '7L33', '7V',
39961
- '6L33', '5L71',
39961
+ '6L33', '5L33',
39962
39962
  '4L71', '3L52'
39963
39963
  ],
39964
39964
  mudslap: ['7V', '4T', '3T'],
@@ -39981,7 +39981,7 @@ export const Learnsets = {
39981
39981
  quickattack: [
39982
39982
  '9L10', '8L10',
39983
39983
  '7L13', '7V',
39984
- '6L13', '5L22',
39984
+ '6L13', '5L13',
39985
39985
  '4L22', '3L23'
39986
39986
  ],
39987
39987
  raindance: [
@@ -40009,7 +40009,7 @@ export const Learnsets = {
40009
40009
  '9L45', '8M',
40010
40010
  '8L45', '7L29',
40011
40011
  '7V', '6L29',
40012
- '5L64', '4L64',
40012
+ '5L29', '4L64',
40013
40013
  '3L47'
40014
40014
  ],
40015
40015
  secretpower: ['6M', '4M', '3M'],
@@ -37,12 +37,14 @@ export const Conditions = {
37
37
  if (this.randomChance(63, 256)) {
38
38
  this.add('cant', pokemon, 'par');
39
39
  pokemon.removeVolatile('bide');
40
- pokemon.removeVolatile('twoturnmove');
41
- pokemon.removeVolatile('fly');
42
- pokemon.removeVolatile('dig');
43
- pokemon.removeVolatile('solarbeam');
44
- pokemon.removeVolatile('skullbash');
40
+ if (pokemon.removeVolatile('twoturnmove')) {
41
+ if (pokemon.volatiles['invulnerability']) {
42
+ this.hint(`In Gen 1, when a Dig/Fly user is fully paralyzed while semi-invulnerable, ` +
43
+ `it will remain semi-invulnerable until it switches out or fully executes Dig/Fly`, true);
44
+ }
45
+ }
45
46
  pokemon.removeVolatile('partialtrappinglock');
47
+ pokemon.removeVolatile('lockedmove');
46
48
  return false;
47
49
  }
48
50
  },
@@ -147,11 +149,9 @@ export const Conditions = {
147
149
  this.directDamage(damage, pokemon, target);
148
150
  pokemon.removeVolatile('bide');
149
151
  pokemon.removeVolatile('twoturnmove');
150
- pokemon.removeVolatile('fly');
151
- pokemon.removeVolatile('dig');
152
- pokemon.removeVolatile('solarbeam');
153
- pokemon.removeVolatile('skullbash');
152
+ pokemon.removeVolatile('invulnerability');
154
153
  pokemon.removeVolatile('partialtrappinglock');
154
+ pokemon.removeVolatile('lockedmove');
155
155
  return false;
156
156
  }
157
157
  return;
@@ -234,30 +234,29 @@ export const Conditions = {
234
234
  target.addVolatile('confusion');
235
235
  },
236
236
  },
237
- stall: {
238
- name: 'stall',
239
- // Protect, Detect, Endure counter
240
- duration: 2,
241
- counterMax: 256,
242
- onStart() {
243
- this.effectState.counter = 2;
237
+ twoturnmove: {
238
+ // Skull Bash, Solar Beam, ...
239
+ name: 'twoturnmove',
240
+ onStart(attacker, defender, effect) {
241
+ // ("attacker" is the Pokemon using the two turn move and the Pokemon this condition is being applied to)
242
+ this.effectState.move = effect.id;
243
+ this.effectState.sourceEffect = effect.sourceEffect;
244
+ this.attrLastMove('[still]');
244
245
  },
245
- onStallMove() {
246
- // this.effectState.counter should never be undefined here.
247
- // However, just in case, use 1 if it is undefined.
248
- const counter = this.effectState.counter || 1;
249
- if (counter >= 256) {
250
- // 2^32 - special-cased because Battle.random(n) can't handle n > 2^16 - 1
251
- return (this.random() * 4294967296 < 1);
252
- }
253
- this.debug("Success chance: " + Math.round(100 / counter) + "%");
254
- return this.randomChance(1, counter);
246
+ onLockMove() {
247
+ return this.effectState.move;
255
248
  },
256
- onRestart() {
257
- if (this.effectState.counter < this.effect.counterMax) {
258
- this.effectState.counter *= 2;
259
- }
260
- this.effectState.duration = 2;
249
+ },
250
+ invulnerability: {
251
+ // Dig/Fly
252
+ name: 'invulnerability',
253
+ onInvulnerability(target, source, move) {
254
+ if (target === source)
255
+ return true;
256
+ if (move.id === 'swift' || move.id === 'transform')
257
+ return true;
258
+ this.add('-message', 'The foe ' + target.name + ' can\'t be hit while invulnerable!');
259
+ return false;
261
260
  },
262
261
  },
263
262
  };
@@ -1 +1 @@
1
- {"version":3,"file":"conditions.js","sourceRoot":"","sources":["../../../../../data/mods/gen1/conditions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conditions.js","sourceRoot":"","sources":["../../../../../data/mods/gen1/conditions.ts"],"names":[],"mappings":"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"}
@@ -33,80 +33,36 @@ export const Moves = {
33
33
  inherit: true,
34
34
  priority: 0,
35
35
  accuracy: true,
36
- ignoreEvasion: true,
37
36
  condition: {
38
- duration: 2,
39
- durationCallback(target, source, effect) {
40
- return this.random(3, 5);
41
- },
42
37
  onStart(pokemon) {
43
- this.effectState.totalDamage = 0;
44
- this.effectState.lastDamage = 0;
38
+ this.effectState.damage = 0;
39
+ this.effectState.time = this.random(2, 4);
45
40
  this.add('-start', pokemon, 'Bide');
46
41
  },
47
- onHit(target, source, move) {
48
- if (source && source !== target && move.category !== 'Physical' && move.category !== 'Special') {
49
- const damage = this.effectState.totalDamage;
50
- this.effectState.totalDamage += damage;
51
- this.effectState.lastDamage = damage;
52
- this.effectState.sourceSlot = source.getSlot();
53
- }
54
- },
55
- onDamage(damage, target, source, move) {
56
- if (!source || source.isAlly(target))
57
- return;
58
- if (!move || move.effectType !== 'Move')
59
- return;
60
- if (!damage && this.effectState.lastDamage > 0) {
61
- damage = this.effectState.totalDamage;
62
- }
63
- this.effectState.totalDamage += damage;
64
- this.effectState.lastDamage = damage;
65
- this.effectState.sourceSlot = source.getSlot();
66
- },
67
- onAfterSetStatus(status, pokemon) {
68
- // Sleep, freeze, and partial trap will just pause duration.
69
- if (pokemon.volatiles['flinch']) {
70
- this.effectState.duration++;
71
- }
72
- else if (pokemon.volatiles['partiallytrapped']) {
73
- this.effectState.duration++;
74
- }
75
- else {
76
- switch (status.id) {
77
- case 'slp':
78
- case 'frz':
79
- this.effectState.duration++;
80
- break;
81
- }
82
- }
83
- },
84
42
  onBeforeMove(pokemon, t, move) {
85
- if (this.effectState.duration === 1) {
86
- this.add('-end', pokemon, 'Bide');
87
- if (!this.effectState.totalDamage) {
88
- this.debug("Bide failed because no damage was taken");
43
+ const currentMove = this.dex.getActiveMove('bide');
44
+ if (pokemon.volatiles['disable']?.move === 'bide') {
45
+ this.add('cant', pokemon, 'Disable', currentMove);
46
+ return false;
47
+ }
48
+ this.effectState.damage += this.lastDamage;
49
+ this.effectState.time--;
50
+ if (!this.effectState.time) {
51
+ this.add('-end', pokemon, currentMove);
52
+ if (!this.effectState.damage) {
53
+ this.debug("Bide failed because no damage was stored");
89
54
  this.add('-fail', pokemon);
55
+ pokemon.removeVolatile('bide');
90
56
  return false;
91
57
  }
92
- const target = this.getAtSlot(this.effectState.sourceSlot);
93
- this.actions.moveHit(target, pokemon, move, { damage: this.effectState.totalDamage * 2 });
58
+ const target = this.getRandomTarget(pokemon, 'Pound');
59
+ this.actions.moveHit(target, pokemon, currentMove, { damage: this.effectState.damage * 2 });
94
60
  pokemon.removeVolatile('bide');
95
61
  return false;
96
62
  }
97
63
  this.add('-activate', pokemon, 'Bide');
98
64
  return false;
99
65
  },
100
- onDisableMove(pokemon) {
101
- if (!pokemon.hasMove('bide')) {
102
- return;
103
- }
104
- for (const moveSlot of pokemon.moveSlots) {
105
- if (moveSlot.id !== 'bide') {
106
- pokemon.disableMove(moveSlot.id);
107
- }
108
- }
109
- },
110
66
  },
111
67
  type: "???", // Will look as Normal but it's STAB-less
112
68
  },
@@ -248,25 +204,16 @@ export const Moves = {
248
204
  dig: {
249
205
  inherit: true,
250
206
  basePower: 100,
251
- condition: {
252
- duration: 2,
253
- onLockMove: 'dig',
254
- onInvulnerability(target, source, move) {
255
- if (move.id === 'swift' || move.id === 'transform')
256
- return true;
257
- this.add('-message', 'The foe ' + target.name + ' can\'t be hit underground!');
258
- return false;
259
- },
260
- onDamage(damage, target, source, move) {
261
- if (!move || move.effectType !== 'Move')
262
- return;
263
- if (!source)
264
- return;
265
- if (move.id === 'earthquake') {
266
- this.add('-message', 'The foe ' + target.name + ' can\'t be hit underground!');
267
- return null;
268
- }
269
- },
207
+ condition: {},
208
+ onTryMove(attacker, defender, move) {
209
+ if (attacker.removeVolatile('twoturnmove')) {
210
+ attacker.removeVolatile('invulnerability');
211
+ return;
212
+ }
213
+ this.add('-prepare', attacker, move.name);
214
+ attacker.addVolatile('twoturnmove', defender);
215
+ attacker.addVolatile('invulnerability', defender);
216
+ return null;
270
217
  },
271
218
  },
272
219
  disable: {
@@ -306,6 +253,7 @@ export const Moves = {
306
253
  }
307
254
  if (move.id === this.effectState.move) {
308
255
  this.add('cant', pokemon, 'Disable', move);
256
+ pokemon.removeVolatile('twoturnmove');
309
257
  return false;
310
258
  }
311
259
  },
@@ -370,25 +318,16 @@ export const Moves = {
370
318
  },
371
319
  fly: {
372
320
  inherit: true,
373
- condition: {
374
- duration: 2,
375
- onLockMove: 'fly',
376
- onInvulnerability(target, source, move) {
377
- if (move.id === 'swift' || move.id === 'transform')
378
- return true;
379
- this.add('-message', 'The foe ' + target.name + ' can\'t be hit while flying!');
380
- return false;
381
- },
382
- onDamage(damage, target, source, move) {
383
- if (!move || move.effectType !== 'Move')
384
- return;
385
- if (!source || source.isAlly(target))
386
- return;
387
- if (move.id === 'gust' || move.id === 'thunder') {
388
- this.add('-message', 'The foe ' + target.name + ' can\'t be hit while flying!');
389
- return null;
390
- }
391
- },
321
+ condition: {},
322
+ onTryMove(attacker, defender, move) {
323
+ if (attacker.removeVolatile('twoturnmove')) {
324
+ attacker.removeVolatile('invulnerability');
325
+ return;
326
+ }
327
+ this.add('-prepare', attacker, move.name);
328
+ attacker.addVolatile('twoturnmove', defender);
329
+ attacker.addVolatile('invulnerability', defender);
330
+ return null;
392
331
  },
393
332
  },
394
333
  focusenergy: {
@@ -661,6 +600,14 @@ export const Moves = {
661
600
  inherit: true,
662
601
  critRatio: 1,
663
602
  target: "normal",
603
+ onTryMove(attacker, defender, move) {
604
+ if (attacker.removeVolatile('twoturnmove')) {
605
+ return;
606
+ }
607
+ this.add('-prepare', attacker, move.name);
608
+ attacker.addVolatile('twoturnmove', defender);
609
+ return null;
610
+ },
664
611
  },
665
612
  recover: {
666
613
  inherit: true,
@@ -751,13 +698,21 @@ export const Moves = {
751
698
  skullbash: {
752
699
  inherit: true,
753
700
  onTryMove(attacker, defender, move) {
754
- if (attacker.removeVolatile(move.id)) {
701
+ if (attacker.removeVolatile('twoturnmove')) {
755
702
  return;
756
703
  }
757
704
  this.add('-prepare', attacker, move.name);
758
- if (!this.runEvent('ChargeMove', attacker, defender, move)) {
705
+ attacker.addVolatile('twoturnmove', defender);
706
+ return null;
707
+ },
708
+ },
709
+ skyattack: {
710
+ inherit: true,
711
+ onTryMove(attacker, defender, move) {
712
+ if (attacker.removeVolatile('twoturnmove')) {
759
713
  return;
760
714
  }
715
+ this.add('-prepare', attacker, move.name);
761
716
  attacker.addVolatile('twoturnmove', defender);
762
717
  return null;
763
718
  },
@@ -773,6 +728,17 @@ export const Moves = {
773
728
  status: 'psn',
774
729
  },
775
730
  },
731
+ solarbeam: {
732
+ inherit: true,
733
+ onTryMove(attacker, defender, move) {
734
+ if (attacker.removeVolatile('twoturnmove')) {
735
+ return;
736
+ }
737
+ this.add('-prepare', attacker, move.name);
738
+ attacker.addVolatile('twoturnmove', defender);
739
+ return null;
740
+ },
741
+ },
776
742
  sonicboom: {
777
743
  inherit: true,
778
744
  ignoreImmunity: true,
@@ -849,6 +815,8 @@ export const Moves = {
849
815
  // Substitute, here we deliberately use the uncapped damage when tracking lastDamage etc.
850
816
  // Also, multi-hit moves must always deal the same damage as the first hit for any subsequent hits
851
817
  let uncappedDamage = move.hit > 1 ? this.lastDamage : this.actions.getDamage(source, target, move);
818
+ if (move.id === 'bide')
819
+ uncappedDamage = source.volatiles['bide'].damage * 2;
852
820
  if (!uncappedDamage && uncappedDamage !== 0)
853
821
  return null;
854
822
  uncappedDamage = this.runEvent('SubDamage', target, source, move, uncappedDamage);
@@ -1 +1 @@
1
- {"version":3,"file":"moves.js","sourceRoot":"","sources":["../../../../../data/mods/gen1/moves.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,KAAK,GAAkC;IACnD,IAAI,EAAE;QACL,OAAO,EAAE,IAAI;QACb,SAAS,EAAE;YACV,MAAM,EAAE,EAAE;YACV,MAAM,EAAE;gBACP,GAAG,EAAE,CAAC,CAAC;aACP;SACD;QACD,MAAM,EAAE,QAAQ;KAChB;IACD,OAAO,EAAE;QACR,OAAO,EAAE,IAAI;QACb,MAAM,EAAE;YACP,GAAG,EAAE,CAAC;YACN,GAAG,EAAE,CAAC;SACN;KACD;IACD,UAAU,EAAE;QACX,OAAO,EAAE,IAAI;QACb,SAAS,EAAE;YACV,MAAM,EAAE,EAAE;YACV,MAAM,EAAE;gBACP,GAAG,EAAE,CAAC,CAAC;aACP;SACD;KACD;IACD,IAAI,EAAE;QACL,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,CAAC;QACX,QAAQ,EAAE,IAAI;QACd,aAAa,EAAE,IAAI;QACnB,SAAS,EAAE;YACV,QAAQ,EAAE,CAAC;YACX,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM;gBACtC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1B,CAAC;YACD,OAAO,CAAC,OAAO;gBACd,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,CAAC,CAAC;gBACjC,IAAI,CAAC,WAAW,CAAC,UAAU,GAAG,CAAC,CAAC;gBAChC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YACrC,CAAC;YACD,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI;gBACzB,IAAI,MAAM,IAAI,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,UAAU,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;oBAC/F,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC;oBAC5C,IAAI,CAAC,WAAW,CAAC,WAAW,IAAI,MAAM,CAAC;oBACvC,IAAI,CAAC,WAAW,CAAC,UAAU,GAAG,MAAM,CAAC;oBACrC,IAAI,CAAC,WAAW,CAAC,UAAU,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;iBAC/C;YACF,CAAC;YACD,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI;gBACpC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;oBAAE,OAAO;gBAC7C,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM;oBAAE,OAAO;gBAChD,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,GAAG,CAAC,EAAE;oBAC/C,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC;iBACtC;gBACD,IAAI,CAAC,WAAW,CAAC,WAAW,IAAI,MAAM,CAAC;gBACvC,IAAI,CAAC,WAAW,CAAC,UAAU,GAAG,MAAM,CAAC;gBACrC,IAAI,CAAC,WAAW,CAAC,UAAU,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;YAChD,CAAC;YACD,gBAAgB,CAAC,MAAM,EAAE,OAAO;gBAC/B,4DAA4D;gBAC5D,IAAI,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;oBAChC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;iBAC5B;qBAAM,IAAI,OAAO,CAAC,SAAS,CAAC,kBAAkB,CAAC,EAAE;oBACjD,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;iBAC5B;qBAAM;oBACN,QAAQ,MAAM,CAAC,EAAE,EAAE;wBACnB,KAAK,KAAK,CAAC;wBACX,KAAK,KAAK;4BACT,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;4BAC5B,MAAM;qBACN;iBACD;YACF,CAAC;YACD,YAAY,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI;gBAC5B,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,KAAK,CAAC,EAAE;oBACpC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;oBAClC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE;wBAClC,IAAI,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;wBACtD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;wBAC3B,OAAO,KAAK,CAAC;qBACb;oBACD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;oBAC3D,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,EAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,CAAC,EAAe,CAAC,CAAC;oBACtG,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;oBAC/B,OAAO,KAAK,CAAC;iBACb;gBACD,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;gBACvC,OAAO,KAAK,CAAC;YACd,CAAC;YACD,aAAa,CAAC,OAAO;gBACpB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;oBAC7B,OAAO;iBACP;gBACD,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE;oBACzC,IAAI,QAAQ,CAAC,EAAE,KAAK,MAAM,EAAE;wBAC3B,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;qBACjC;iBACD;YACF,CAAC;SACD;QACD,IAAI,EAAE,KAAK,EAAE,yCAAyC;KACtD;IACD,IAAI,EAAE;QACL,OAAO,EAAE,IAAI;QACb,cAAc,EAAE,IAAI;QACpB,cAAc,EAAE,kBAAkB;QAClC,IAAI,EAAE;YACL,cAAc,EAAE,qBAAqB;SACrC;QACD,+EAA+E;QAC/E,KAAK,CAAC,MAAM,EAAE,MAAM;YACnB;;;;;gBAKI;YACJ,IAAI,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,EAAE;gBACzC,IAAI,MAAM,CAAC,SAAS,CAAC,qBAAqB,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC,QAAQ,GAAG,CAAC,EAAE;oBACpG,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC;iBAClD;aACD;QACF,CAAC;KACD;IACD,IAAI,EAAE;QACL,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,UAAU;QACpB,SAAS,EAAE;YACV,MAAM,EAAE,EAAE;YACV,cAAc,EAAE,QAAQ;SACxB;QACD,IAAI,EAAE,QAAQ;KACd;IACD,QAAQ,EAAE;QACT,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,QAAQ;KAChB;IACD,MAAM,EAAE;QACP,OAAO,EAAE,IAAI;QACb,SAAS,EAAE;YACV,MAAM,EAAE,EAAE;YACV,MAAM,EAAE;gBACP,GAAG,EAAE,CAAC,CAAC;aACP;SACD;QACD,MAAM,EAAE,QAAQ;KAChB;IACD,UAAU,EAAE;QACX,OAAO,EAAE,IAAI;QACb,SAAS,EAAE;YACV,MAAM,EAAE,EAAE;YACV,MAAM,EAAE;gBACP,GAAG,EAAE,CAAC,CAAC;aACP;SACD;KACD;IACD,KAAK,EAAE;QACN,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,EAAE;QACZ,EAAE,EAAE,EAAE;QACN,cAAc,EAAE,kBAAkB;QAClC,IAAI,EAAE;YACL,cAAc,EAAE,qBAAqB;SACrC;QACD,+EAA+E;QAC/E,KAAK,CAAC,MAAM,EAAE,MAAM;YACnB;;;;;gBAKI;YACJ,IAAI,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,EAAE;gBACzC,IAAI,MAAM,CAAC,SAAS,CAAC,qBAAqB,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC,QAAQ,GAAG,CAAC,EAAE;oBACpG,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC;iBAClD;aACD;QACF,CAAC;KACD;IACD,SAAS,EAAE;QACV,OAAO,EAAE,IAAI;QACb,SAAS,EAAE;YACV,MAAM,EAAE,EAAE;YACV,MAAM,EAAE;gBACP,GAAG,EAAE,CAAC,CAAC;aACP;SACD;KACD;IACD,UAAU,EAAE;QACX,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,QAAQ;QAChB,KAAK,CAAC,MAAM,EAAE,MAAM;YACnB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YACtC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,yBAAyB,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC;QAC/G,CAAC;KACD;IACD,OAAO,EAAE;QACR,OAAO,EAAE,IAAI;QACb,cAAc,EAAE,IAAI;QACpB,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,CAAC;QACZ,cAAc,CAAC,OAAO,EAAE,MAAM;YAC7B,8BAA8B;YAC9B,uGAAuG;YACvG,sGAAsG;YACtG,0GAA0G;YAC1G,uHAAuH;YACvH,4IAA4I;YAE5I,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACrF,MAAM,qBAAqB,GAAG,QAAQ,IAAI,QAAQ,CAAC,SAAS,GAAG,CAAC;gBAC/D,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,EAAE,KAAK,SAAS,CAAC;YAE7E,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC1G,MAAM,6BAA6B,GAAG,gBAAgB,IAAI,gBAAgB,CAAC,SAAS,GAAG,CAAC;gBACvF,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,EAAE,KAAK,SAAS,CAAC;YAE7F,IAAI,CAAC,qBAAqB,IAAI,CAAC,6BAA6B,EAAE;gBAC7D,IAAI,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;gBAC3D,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC3B,OAAO,KAAK,CAAC;aACb;YACD,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,EAAE;gBACzB,IAAI,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;gBACvD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC3B,OAAO,KAAK,CAAC;aACb;YACD,IAAI,CAAC,qBAAqB,IAAI,CAAC,6BAA6B,EAAE;gBAC7D,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;gBAC1C,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC3B,OAAO,KAAK,CAAC;aACb;YAED,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAC5B,CAAC;KACD;IACD,UAAU,EAAE;QACX,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,CAAC;KACZ;IACD,GAAG,EAAE;QACJ,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,GAAG;QACd,SAAS,EAAE;YACV,QAAQ,EAAE,CAAC;YACX,UAAU,EAAE,KAAK;YACjB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI;gBACrC,IAAI,IAAI,CAAC,EAAE,KAAK,OAAO,IAAI,IAAI,CAAC,EAAE,KAAK,WAAW;oBAAE,OAAO,IAAI,CAAC;gBAChE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAAC,IAAI,GAAG,6BAA6B,CAAC,CAAC;gBAC/E,OAAO,KAAK,CAAC;YACd,CAAC;YACD,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI;gBACpC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM;oBAAE,OAAO;gBAChD,IAAI,CAAC,MAAM;oBAAE,OAAO;gBACpB,IAAI,IAAI,CAAC,EAAE,KAAK,YAAY,EAAE;oBAC7B,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAAC,IAAI,GAAG,6BAA6B,CAAC,CAAC;oBAC/E,OAAO,IAAI,CAAC;iBACZ;YACF,CAAC;SACD;KACD;IACD,OAAO,EAAE;QACR,GAAG,EAAE,EAAE;QACP,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,CAAC;QACZ,QAAQ,EAAE,QAAQ;QAClB,IAAI,EAAE,SAAS;QACf,EAAE,EAAE,EAAE;QACN,QAAQ,EAAE,CAAC;QACX,KAAK,EAAE,EAAC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAC;QAC5C,cAAc,EAAE,SAAS;QACzB,QAAQ,CAAC,MAAM;YACd,mGAAmG;YACnG,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;gBAC5C,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC;gBAChC,SAAS,CAAC;QACZ,CAAC;QACD,SAAS,EAAE;YACV,OAAO,CAAC,OAAO;gBACd,kFAAkF;gBAClF,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;gBACxE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACtD,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,QAAQ,CAAC,EAAE,CAAC;gBACpC,gFAAgF;gBAChF,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC3C,CAAC;YACD,KAAK,CAAC,OAAO;gBACZ,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YACtC,CAAC;YACD,oBAAoB,EAAE,CAAC;YACvB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI;gBACjC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;gBACpC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE;oBACvC,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;oBAClC,OAAO;iBACP;gBACD,IAAI,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;oBACtC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;oBAC3C,OAAO,KAAK,CAAC;iBACb;YACF,CAAC;YACD,aAAa,CAAC,OAAO;gBACpB,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE;oBACzC,IAAI,QAAQ,CAAC,EAAE,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;wBAC1C,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;qBACjC;iBACD;YACF,CAAC;SACD;QACD,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,QAAQ;KACd;IACD,UAAU,EAAE;QACX,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,IAAI;KACf;IACD,UAAU,EAAE;QACX,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,GAAG;KACd;IACD,UAAU,EAAE;QACX,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,CAAC;KACZ;IACD,SAAS,EAAE;QACV,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,GAAG;QACd,MAAM,EAAE,QAAQ;KAChB;IACD,SAAS,EAAE;QACV,OAAO,EAAE,IAAI;QACb,SAAS,EAAE;YACV,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,KAAK;SACb;KACD;IACD,QAAQ,EAAE;QACT,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,EAAE;QACb,cAAc,EAAE,kBAAkB;QAClC,IAAI,EAAE;YACL,cAAc,EAAE,qBAAqB;SACrC;QACD,+EAA+E;QAC/E,KAAK,CAAC,MAAM,EAAE,MAAM;YACnB;;;;;gBAKI;YACJ,IAAI,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,EAAE;gBACzC,IAAI,MAAM,CAAC,SAAS,CAAC,qBAAqB,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC,QAAQ,GAAG,CAAC,EAAE;oBACpG,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC;iBAClD;aACD;QACF,CAAC;KACD;IACD,GAAG,EAAE;QACJ,OAAO,EAAE,IAAI;QACb,SAAS,EAAE;YACV,QAAQ,EAAE,CAAC;YACX,UAAU,EAAE,KAAK;YACjB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI;gBACrC,IAAI,IAAI,CAAC,EAAE,KAAK,OAAO,IAAI,IAAI,CAAC,EAAE,KAAK,WAAW;oBAAE,OAAO,IAAI,CAAC;gBAChE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAAC,IAAI,GAAG,8BAA8B,CAAC,CAAC;gBAChF,OAAO,KAAK,CAAC;YACd,CAAC;YACD,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI;gBACpC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM;oBAAE,OAAO;gBAChD,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;oBAAE,OAAO;gBAC7C,IAAI,IAAI,CAAC,EAAE,KAAK,MAAM,IAAI,IAAI,CAAC,EAAE,KAAK,SAAS,EAAE;oBAChD,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAAC,IAAI,GAAG,8BAA8B,CAAC,CAAC;oBAChF,OAAO,IAAI,CAAC;iBACZ;YACF,CAAC;SACD;KACD;IACD,WAAW,EAAE;QACZ,OAAO,EAAE,IAAI;QACb,SAAS,EAAE;YACV,OAAO,CAAC,OAAO;gBACd,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,oBAAoB,CAAC,CAAC;YACnD,CAAC;YACD,oEAAoE;YACpE,YAAY,KAAI,CAAC;SACjB;KACD;IACD,KAAK,EAAE;QACN,OAAO,EAAE,IAAI;QACb,cAAc,EAAE,IAAI;KACpB;IACD,MAAM,EAAE;QACP,OAAO,EAAE,IAAI;QACb,MAAM,EAAE;YACP,GAAG,EAAE,CAAC;YACN,GAAG,EAAE,CAAC;SACN;KACD;IACD,IAAI,EAAE;QACL,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,QAAQ;KACd;IACD,IAAI,EAAE;QACL,OAAO,EAAE,IAAI;QACb,KAAK,CAAC,MAAM,EAAE,MAAM;YACnB,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;YAC5C,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;YACvC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;gBAC1C,OAAO,CAAC,WAAW,EAAE,CAAC;gBACtB,IAAI,OAAO,KAAK,MAAM,EAAE;oBACvB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;iBACzB;gBACD,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE;oBAC7B,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;iBACzB;gBACD,gDAAgD;gBAChD,4GAA4G;gBAC5G,iDAAiD;gBACjD,MAAM,UAAU,GAAG,WAAW,CAAC;gBAC/B,MAAM,mBAAmB,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;gBACrD,MAAM,aAAa,GAA4B;oBAC9C,SAAS,EAAE,EAAE;oBACb,WAAW,EAAE,EAAE;oBACf,MAAM,EAAE,MAAM;oBACd,aAAa,EAAE,oBAAoB;oBACnC,WAAW,EAAE,kBAAkB;oBAC/B,aAAa,EAAE,cAAc;oBAC7B,SAAS,EAAE,SAAS;oBACpB,aAAa,EAAE,eAAe;iBAC9B,CAAC;gBACF,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE;oBAC9B,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE;wBAC/B,SAAS;qBACT;oBACD,IAAI,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;wBACpC,uEAAuE;wBACvE,yEAAyE;wBACzE,8BAA8B;wBAC9B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,UAAU,CAAC;qBAC5C;yBAAM;wBACN,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;qBACxD;iBACD;aACD;QACF,CAAC;QACD,MAAM,EAAE,MAAM;KACd;IACD,YAAY,EAAE;QACb,OAAO,EAAE,IAAI;QACb,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI;YAC9B,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACtC,CAAC;KACD;IACD,QAAQ,EAAE;QACT,OAAO,EAAE,IAAI;QACb,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI;YAC9B,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACtC,CAAC;KACD;IACD,UAAU,EAAE;QACX,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,CAAC;QACZ,IAAI,EAAE,QAAQ;KACd;IACD,SAAS,EAAE;QACV,OAAO,EAAE,IAAI;QACb,KAAK,KAAI,CAAC;QACV,SAAS,EAAE;YACV,OAAO,CAAC,MAAM;gBACb,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;YAChD,CAAC;YACD,uBAAuB,EAAE,CAAC;YAC1B,eAAe,CAAC,OAAO;gBACtB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,CAAC;gBAC1E,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE;oBACnD,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;oBACpC,OAAO;iBACP;gBACD,oEAAoE;gBACpE,IAAI,YAAY,GAAG,CAAC,CAAC;gBACrB,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;gBACrD,IAAI,WAAW,EAAE;oBAChB,WAAW,CAAC,OAAO,EAAE,CAAC;oBACtB,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC;iBACnC;gBACD,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,YAAY,CAAC;gBACzF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;gBACtD,IAAI,WAAW;oBAAE,IAAI,CAAC,IAAI,CAAC,+DAA+D,EAAE,IAAI,CAAC,CAAC;gBAClG,IAAI,CAAC,MAAM,IAAI,OAAO,GAAG,MAAM,EAAE;oBAChC,IAAI,CAAC,IAAI,CAAC,yFAAyF,EAAE,IAAI,CAAC,CAAC;iBAC3G;gBACD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACtC,CAAC;SACD;KACD;IACD,WAAW,EAAE;QACZ,GAAG,EAAE,GAAG;QACR,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,CAAC;QACZ,QAAQ,EAAE,QAAQ;QAClB,IAAI,EAAE,cAAc;QACpB,EAAE,EAAE,EAAE;QACN,QAAQ,EAAE,CAAC;QACX,KAAK,EAAE,EAAE;QACT,cAAc,EAAE,aAAa;QAC7B,QAAQ,CAAC,OAAO;YACf,IAAI,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE;gBACrC,OAAO,KAAK,CAAC;aACb;QACF,CAAC;QACD,SAAS,EAAE;YACV,OAAO,CAAC,OAAO;gBACd,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;YAC7C,CAAC;SACD;QACD,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,SAAS;KACf;IACD,SAAS,EAAE;QACV,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC;KACtC;IACD,KAAK,EAAE;QACN,OAAO,EAAE,IAAI;QACb,KAAK,CAAC,MAAM,EAAE,MAAM;YACnB,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC/C,IAAI,QAAQ,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAClC,IAAI,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAC;YAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACxC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG;gBAC5B,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE;gBACjC,KAAK,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC;gBACtB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,QAAQ,EAAE,KAAK;gBACf,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,IAAI;aACb,CAAC;YACF,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,CAAC;KACD;IACD,UAAU,EAAE;QACX,OAAO,EAAE,IAAI;QACb,KAAK,CAAC,OAAO;YACZ,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACvC,IAAI,CAAC,GAAG,EAAE,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,EAAE,KAAK,YAAY,EAAE;gBACvD,OAAO,KAAK,CAAC;aACb;YACD,OAAO,CAAC,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAChD,CAAC;KACD;IACD,IAAI,EAAE;QACL,OAAO,EAAE,IAAI;QACb,SAAS,EAAE;YACV,OAAO,CAAC,OAAO;gBACd,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YACrC,CAAC;YACD,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;gBACpC,IAAI,MAAM,CAAC,UAAU,KAAK,MAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ;oBAAE,OAAO;gBACzE,IAAI,MAAM,IAAI,MAAM,KAAK,MAAM,EAAE;oBAChC,IAAI,OAAO,GAAG,KAAK,CAAC;oBACpB,IAAI,CAAU,CAAC;oBACf,KAAK,CAAC,IAAI,KAAK,EAAE;wBAChB,IAAI,KAAK,CAAC,CAAC,CAAE,GAAG,CAAC,EAAE;4BAClB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;4BAChB,OAAO,GAAG,IAAI,CAAC;yBACf;qBACD;oBACD,IAAI,OAAO,IAAI,CAAE,MAAqB,CAAC,WAAW,EAAE;wBACnD,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;qBAC5C;iBACD;YACF,CAAC;SACD;KACD;IACD,UAAU,EAAE;QACX,OAAO,EAAE,IAAI;QACb,cAAc,EAAE,IAAI;QACpB,SAAS,EAAE,CAAC;KACZ;IACD,WAAW,EAAE;QACZ,OAAO,EAAE,IAAI;QACb,SAAS,EAAE;YACV,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,KAAK;SACb;KACD;IACD,OAAO,EAAE;QACR,OAAO,EAAE,IAAI;QACb,SAAS,EAAE;YACV,MAAM,EAAE,EAAE;YACV,MAAM,EAAE;gBACP,GAAG,EAAE,CAAC,CAAC;gBACP,GAAG,EAAE,CAAC,CAAC;aACP;SACD;KACD;IACD,OAAO,EAAE;QACR,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,CAAC;QACZ,cAAc,CAAC,OAAO;YACrB,MAAM,aAAa,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACxE,IAAI,aAAa,IAAI,CAAC,EAAE;gBACvB,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;gBAC1C,OAAO,KAAK,CAAC;aACb;YACD,OAAO,aAAa,CAAC;QACtB,CAAC;KACD;IACD,IAAI,EAAE;QACL,OAAO,EAAE,IAAI;QACb,IAAI,EAAE;YACL,cAAc,EAAE,MAAM;SACtB;QACD,SAAS,EAAE;YACV,YAAY;YACZ,QAAQ,EAAE,GAAG;YACb,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM;gBAC7B,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,MAAM,CAAC;YAChC,CAAC;YACD,UAAU,EAAE,MAAM;YAClB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI;gBACzB,oGAAoG;gBACpG,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;oBAChF,IAAI,CAAC,KAAK,CAAC,EAAC,GAAG,EAAE,CAAC,EAAC,CAAC,CAAC;iBACrB;YACF,CAAC;SACD;KACD;IACD,SAAS,EAAE;QACV,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,CAAC;QACZ,MAAM,EAAE,QAAQ;KAChB;IACD,SAAS,EAAE;QACV,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,CAAC;QACZ,MAAM,EAAE,QAAQ;KAChB;IACD,OAAO,EAAE;QACR,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,IAAI;QACV,KAAK,CAAC,MAAM;YACX,IAAI,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,KAAK;gBAAE,OAAO,KAAK,CAAC;YAC7C,+CAA+C;YAC/C,IAAI,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,KAAK,EAAE;gBAC3G,IAAI,CAAC,IAAI,CAAC,mGAAmG,CAAC,CAAC;gBAC/G,OAAO,KAAK,CAAC;aACb;YACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACzD,CAAC;KACD;IACD,OAAO,EAAE;QACR,GAAG,EAAE,GAAG;QACR,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,CAAC;QACZ,QAAQ,EAAE,QAAQ;QAClB,IAAI,EAAE,SAAS;QACf,EAAE,EAAE,EAAE;QACN,QAAQ,EAAE,CAAC;QACX,KAAK,EAAE,EAAE;QACT,cAAc,EAAE,SAAS;QACzB,QAAQ,CAAC,OAAO;YACf,IAAI,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE;gBACjC,OAAO,KAAK,CAAC;aACb;QACF,CAAC;QACD,SAAS,EAAE;YACV,OAAO,CAAC,OAAO;gBACd,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YACxC,CAAC;SACD;QACD,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,SAAS;KACf;IACD,IAAI,EAAE;QACL,OAAO,EAAE,IAAI;QACb,KAAK,KAAI,CAAC;QACV,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI;YACzB,IAAI,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,KAAK;gBAAE,OAAO,KAAK,CAAC;YAC7C,+CAA+C;YAC/C,IAAI,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,EAAE;gBAC7E,IAAI,CAAC,IAAI,CAAC,mGAAmG,CAAC,CAAC;gBAC/G,OAAO,KAAK,CAAC;aACb;YACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC;gBAAE,OAAO,KAAK,CAAC;YACzD,MAAM,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC;YAC5B,MAAM,CAAC,WAAW,CAAC,SAAS,GAAG,CAAC,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,sEAAsE;QAChG,CAAC;KACD;IACD,IAAI,EAAE;QACL,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,KAAK;QAClB,QAAQ,KAAI,CAAC;QACb,QAAQ,EAAE,CAAC;KACX;IACD,SAAS,EAAE;QACV,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,QAAQ;KAChB;IACD,SAAS,EAAE;QACV,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,EAAE;KACZ;IACD,UAAU,EAAE;QACX,OAAO,EAAE,IAAI;QACb,cAAc,EAAE,IAAI;QACpB,IAAI,EAAE,QAAQ;KACd;IACD,WAAW,EAAE;QACZ,OAAO,EAAE,IAAI;QACb,cAAc,EAAE,IAAI;QACpB,SAAS,EAAE,CAAC;KACZ;IACD,YAAY,EAAE;QACb,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,GAAG;QACd,MAAM,EAAE,QAAQ;KAChB;IACD,SAAS,EAAE;QACV,OAAO,EAAE,IAAI;QACb,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI;YACjC,IAAI,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;gBACrC,OAAO;aACP;YACD,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE;gBAC3D,OAAO;aACP;YACD,QAAQ,CAAC,WAAW,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC9C,OAAO,IAAI,CAAC;QACb,CAAC;KACD;IACD,KAAK,EAAE;QACN,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,CAAC;KACZ;IACD,MAAM,EAAE;QACP,OAAO,EAAE,IAAI;QACb,SAAS,EAAE;YACV,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,KAAK;SACb;KACD;IACD,SAAS,EAAE;QACV,OAAO,EAAE,IAAI;QACb,cAAc,EAAE,IAAI;QACpB,SAAS,EAAE,CAAC;KACZ;IACD,UAAU,EAAE;QACX,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,IAAI;QACV,KAAK,CAAC,MAAM;YACX,IAAI,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,KAAK;gBAAE,OAAO,KAAK,CAAC;YAC7C,+CAA+C;YAC/C,IAAI,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,KAAK,EAAE;gBAC3G,IAAI,CAAC,IAAI,CAAC,mGAAmG,CAAC,CAAC;gBAC/G,OAAO,KAAK,CAAC;aACb;YACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACzD,CAAC;KACD;IACD,QAAQ,EAAE;QACT,OAAO,EAAE,IAAI;QACb,EAAE,EAAE,EAAE;QACN,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QACd,YAAY,KAAI,CAAC;KACjB;IACD,UAAU,EAAE;QACX,GAAG,EAAE,GAAG;QACR,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,CAAC;QACZ,QAAQ,EAAE,QAAQ;QAClB,IAAI,EAAE,YAAY;QAClB,EAAE,EAAE,EAAE;QACN,QAAQ,EAAE,CAAC;QACX,cAAc,EAAE,YAAY;QAC5B,QAAQ,CAAC,MAAM;YACd,IAAI,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE;gBACnC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;gBAC9C,OAAO,IAAI,CAAC;aACZ;YACD,oDAAoD;YACpD,2DAA2D;YAC3D,IAAI,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE;gBACjC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,QAAQ,CAAC,CAAC;gBACxD,OAAO,IAAI,CAAC;aACZ;QACF,CAAC;QACD,KAAK,CAAC,MAAM;YACX,oDAAoD;YACpD,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE;gBACrB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;aACpD;QACF,CAAC;QACD,SAAS,EAAE;YACV,OAAO,CAAC,MAAM;gBACb,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;gBACzC,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;gBACvD,OAAO,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;YAC7C,CAAC;YACD,gBAAgB,EAAE,CAAC,CAAC;YACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI;gBAC5B,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE;oBAC/B,2BAA2B;oBAC3B,qFAAqF;oBACrF,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;oBACrE,IACC,IAAI,CAAC,MAAM,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,MAAM,CAAC;wBACpF,IAAI,CAAC,cAAc,KAAK,WAAW,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAClE;wBACD,OAAO,KAAK,CAAC;qBACb;oBACD,OAAO;iBACP;gBACD,IAAI,IAAI,CAAC,cAAc,IAAI,MAAM,KAAK,MAAM;oBAAE,OAAO;gBACrD,8EAA8E;gBAC9E,yFAAyF;gBACzF,kGAAkG;gBAClG,IAAI,cAAc,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;gBACnG,IAAI,CAAC,cAAc,IAAI,cAAc,KAAK,CAAC;oBAAE,OAAO,IAAI,CAAC;gBACzD,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;gBAClF,IAAI,CAAC,cAAc,IAAI,cAAc,KAAK,CAAC;oBAAE,OAAO,cAAc,CAAC;gBACnE,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC;gBACjC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;oBACxF,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC;gBACpD,IAAI,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE;oBAC3C,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;oBACpC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;iBACzB;qBAAM;oBACN,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;iBACxD;gBACD,iFAAiF;gBACjF,IAAI,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE;oBACnC,IAAI,IAAI,CAAC,MAAM,EAAE;wBAChB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAC5F,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;qBAC7B;oBACD,IAAI,IAAI,CAAC,KAAK,EAAE;wBACf,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;wBACjG,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;wBACzB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;qBAC3C;oBACD,IAAI,IAAI,CAAC,SAAS,EAAE,cAAc,KAAK,WAAW,EAAE;wBACnD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;wBACjC,IAAI,SAAS,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE;4BAC1G,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;4BAChE,IAAI,CAAC,IAAI,CACR,sGAAsG;gCACtG,oDAAoD,CACpD,CAAC;yBACF;qBACD;iBACD;gBACD,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;gBACtE,0BAA0B;gBAC1B,MAAM,cAAc,GAAG,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBAClD,IAAI,CAAC,cAAc,EAAE;oBACpB,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC;iBACxH;qBAAM;oBACN,cAAc,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;oBAC9B,cAAc,CAAC,MAAM,GAAG,cAAc,CAAC;iBACvC;gBACD,OAAO,CAAC,CAAC;YACV,CAAC;YACD,KAAK,CAAC,MAAM;gBACX,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;YACxC,CAAC;SACD;QACD,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,EAAE;KACT;IACD,SAAS,EAAE;QACV,OAAO,EAAE,IAAI;QACb,cAAc,EAAE,IAAI;QACpB,SAAS,EAAE,CAAC;KACZ;IACD,OAAO,EAAE;QACR,OAAO,EAAE,IAAI;QACb,SAAS,EAAE;YACV,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,KAAK;SACb;KACD;IACD,SAAS,EAAE;QACV,OAAO,EAAE,IAAI;QACb,KAAK,KAAI,CAAC;QACV,SAAS,EAAE,IAAI;KACf;IACD,SAAS,EAAE;QACV,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,EAAE;QACZ,WAAW,EAAE,KAAK;QAClB,QAAQ,KAAI,CAAC;QACb,QAAQ,EAAE,CAAC;KACX;IACD,UAAU,EAAE;QACX,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,EAAE;KACb;IACD,IAAI,EAAE;QACL,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,EAAE;QACZ,cAAc,EAAE,IAAI;QACpB,cAAc,EAAE,kBAAkB;QAClC,IAAI,EAAE;YACL,cAAc,EAAE,qBAAqB;SACrC;QACD,+EAA+E;QAC/E,KAAK,CAAC,MAAM,EAAE,MAAM;YACnB;;;;;gBAKI;YACJ,IAAI,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,EAAE;gBACzC,IAAI,MAAM,CAAC,SAAS,CAAC,qBAAqB,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC,QAAQ,GAAG,CAAC,EAAE;oBACpG,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC;iBAClD;aACD;QACF,CAAC;KACD;CACD,CAAC"}
1
+ {"version":3,"file":"moves.js","sourceRoot":"","sources":["../../../../../data/mods/gen1/moves.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ const SKIP_LASTDAMAGE = new Set([
8
8
  'mimic', 'mist', 'poisongas', 'poisonpowder', 'recover', 'reflect', 'rest', 'softboiled',
9
9
  'splash', 'stunspore', 'substitute', 'supersonic', 'teleport', 'thunderwave', 'toxic', 'transform',
10
10
  ]);
11
+ const TWO_TURN_MOVES = ['dig', 'fly', 'razorwind', 'skullbash', 'skyattack', 'solarbeam'];
11
12
  export const Scripts = {
12
13
  inherit: 'gen2',
13
14
  gen: 1,
@@ -133,8 +134,6 @@ export const Scripts = {
133
134
  target.subFainted = null;
134
135
  this.battle.setActiveMove(move, pokemon, target);
135
136
  if (pokemon.moveThisTurn || !this.battle.runEvent('BeforeMove', pokemon, target, move)) {
136
- // Prevent invulnerability from persisting until the turn ends.
137
- pokemon.removeVolatile('twoturnmove');
138
137
  // Rampage moves end without causing confusion
139
138
  delete pokemon.volatiles['lockedmove'];
140
139
  this.battle.clearActiveMove(true);
@@ -151,10 +150,14 @@ export const Scripts = {
151
150
  let lockedMove = this.battle.runEvent('LockMove', pokemon);
152
151
  if (lockedMove === true)
153
152
  lockedMove = false;
154
- if (!lockedMove &&
155
- (!pokemon.volatiles['partialtrappinglock'] || pokemon.volatiles['partialtrappinglock'].locked !== target)) {
153
+ if ((!lockedMove &&
154
+ (!pokemon.volatiles['partialtrappinglock'] || pokemon.volatiles['partialtrappinglock'].locked !== target))) {
156
155
  pokemon.deductPP(move, null, target);
157
156
  }
157
+ else if (pokemon.volatiles['twoturnmove']) {
158
+ // Two-turn moves like Sky Attack deduct PP on their second turn.
159
+ pokemon.deductPP(pokemon.volatiles['twoturnmove'].originalMove, null, target);
160
+ }
158
161
  else {
159
162
  sourceEffect = move;
160
163
  }
@@ -166,11 +169,15 @@ export const Scripts = {
166
169
  }
167
170
  }
168
171
  this.useMove(move, pokemon, target, sourceEffect);
172
+ // Restore PP if the move is the first turn of a charging move. Save the move from which PP should be deducted if the move succeeds.
173
+ if (pokemon.volatiles['twoturnmove']) {
174
+ pokemon.deductPP(move, -1, target);
175
+ pokemon.volatiles['twoturnmove'].originalMove = move.id;
176
+ }
169
177
  },
170
178
  // This function deals with AfterMoveSelf events.
171
179
  // This leads with partial trapping moves shenanigans after the move has been used.
172
180
  useMove(moveOrMoveName, pokemon, target, sourceEffect) {
173
- const moveResult = this.useMoveInner(moveOrMoveName, pokemon, target, sourceEffect);
174
181
  if (!sourceEffect && this.battle.effect.id)
175
182
  sourceEffect = this.battle.effect;
176
183
  const baseMove = this.battle.dex.moves.get(moveOrMoveName);
@@ -192,12 +199,15 @@ export const Scripts = {
192
199
  // Check again, this shouldn't ever happen on Gen 1.
193
200
  target = this.battle.getRandomTarget(pokemon, move);
194
201
  }
202
+ // The charging turn of a two-turn move does not update pokemon.lastMove
203
+ if (!TWO_TURN_MOVES.includes(move.id) || pokemon.volatiles['twoturnmove'])
204
+ pokemon.lastMove = move;
205
+ const moveResult = this.useMoveInner(moveOrMoveName, pokemon, target, sourceEffect);
195
206
  if (move.id !== 'metronome') {
196
207
  if (move.id !== 'mirrormove' ||
197
208
  (!pokemon.side.foe.active[0]?.lastMove || pokemon.side.foe.active[0].lastMove?.id === 'mirrormove')) {
198
209
  // The move is our 'final' move (a failed Mirror Move, or any move that isn't Metronome or Mirror Move).
199
210
  pokemon.side.lastMove = move;
200
- pokemon.lastMove = move;
201
211
  this.battle.singleEvent('AfterMove', move, null, pokemon, target, move);
202
212
  // If target fainted
203
213
  if (target && target.hp <= 0) {