@pkmn/sim 0.8.3 → 0.8.5

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 (286) hide show
  1. package/build/cjs/config/formats.js +163 -212
  2. package/build/cjs/config/formats.js.map +1 -1
  3. package/build/cjs/data/abilities.js +370 -165
  4. package/build/cjs/data/abilities.js.map +1 -1
  5. package/build/cjs/data/conditions.js +0 -3
  6. package/build/cjs/data/conditions.js.map +1 -1
  7. package/build/cjs/data/formats-data.js +330 -312
  8. package/build/cjs/data/formats-data.js.map +1 -1
  9. package/build/cjs/data/items.js +2 -2
  10. package/build/cjs/data/items.js.map +1 -1
  11. package/build/cjs/data/legality.js +424 -104
  12. package/build/cjs/data/legality.js.map +1 -1
  13. package/build/cjs/data/mods/gen1/formats-data.js +22 -22
  14. package/build/cjs/data/mods/gen1/moves.js +6 -8
  15. package/build/cjs/data/mods/gen1/moves.js.map +1 -1
  16. package/build/cjs/data/mods/gen2/formats-data.js +43 -43
  17. package/build/cjs/data/mods/gen2/formats-data.js.map +1 -1
  18. package/build/cjs/data/mods/gen2/moves.js +4 -7
  19. package/build/cjs/data/mods/gen2/moves.js.map +1 -1
  20. package/build/cjs/data/mods/gen3/abilities.js +6 -5
  21. package/build/cjs/data/mods/gen3/abilities.js.map +1 -1
  22. package/build/cjs/data/mods/gen3/formats-data.js +32 -32
  23. package/build/cjs/data/mods/gen3/formats-data.js.map +1 -1
  24. package/build/cjs/data/mods/gen3/moves.js +15 -10
  25. package/build/cjs/data/mods/gen3/moves.js.map +1 -1
  26. package/build/cjs/data/mods/gen3/scripts.js +11 -6
  27. package/build/cjs/data/mods/gen3/scripts.js.map +1 -1
  28. package/build/cjs/data/mods/gen4/abilities.js +8 -2
  29. package/build/cjs/data/mods/gen4/abilities.js.map +1 -1
  30. package/build/cjs/data/mods/gen4/moves.js +49 -45
  31. package/build/cjs/data/mods/gen4/moves.js.map +1 -1
  32. package/build/cjs/data/mods/gen4/scripts.js +11 -6
  33. package/build/cjs/data/mods/gen4/scripts.js.map +1 -1
  34. package/build/cjs/data/mods/gen5/abilities.js +1 -0
  35. package/build/cjs/data/mods/gen5/abilities.js.map +1 -1
  36. package/build/cjs/data/mods/gen5/moves.js +44 -66
  37. package/build/cjs/data/mods/gen5/moves.js.map +1 -1
  38. package/build/cjs/data/mods/gen6/abilities.js +1 -1
  39. package/build/cjs/data/mods/gen6/abilities.js.map +1 -1
  40. package/build/cjs/data/mods/gen6/moves.js +1 -1
  41. package/build/cjs/data/mods/gen6/moves.js.map +1 -1
  42. package/build/cjs/data/mods/gen7/abilities.js +2 -2
  43. package/build/cjs/data/mods/gen7/abilities.js.map +1 -1
  44. package/build/cjs/data/mods/gen7/moves.js +21 -9
  45. package/build/cjs/data/mods/gen7/moves.js.map +1 -1
  46. package/build/cjs/data/mods/gen8/abilities.js +3 -1
  47. package/build/cjs/data/mods/gen8/abilities.js.map +1 -1
  48. package/build/cjs/data/mods/gen8/moves.js +6 -2
  49. package/build/cjs/data/mods/gen8/moves.js.map +1 -1
  50. package/build/cjs/data/moves.js +760 -770
  51. package/build/cjs/data/moves.js.map +1 -1
  52. package/build/cjs/data/rulesets.js +33 -56
  53. package/build/cjs/data/rulesets.js.map +1 -1
  54. package/build/cjs/data/text/abilities.js +34 -12
  55. package/build/cjs/data/text/abilities.js.map +1 -1
  56. package/build/cjs/data/text/moves.js +9 -9
  57. package/build/cjs/data/text/moves.js.map +1 -1
  58. package/build/cjs/sim/battle-actions.js +21 -21
  59. package/build/cjs/sim/battle-actions.js.map +1 -1
  60. package/build/cjs/sim/battle.js +4 -5
  61. package/build/cjs/sim/battle.js.map +1 -1
  62. package/build/cjs/sim/dex-abilities.d.ts +11 -2
  63. package/build/cjs/sim/dex-abilities.js +1 -0
  64. package/build/cjs/sim/dex-abilities.js.map +1 -1
  65. package/build/cjs/sim/dex-conditions.d.ts +6 -0
  66. package/build/cjs/sim/dex-conditions.js.map +1 -1
  67. package/build/cjs/sim/dex-formats.d.ts +2 -0
  68. package/build/cjs/sim/dex-formats.js +1 -0
  69. package/build/cjs/sim/dex-formats.js.map +1 -1
  70. package/build/cjs/sim/dex-moves.d.ts +1 -4
  71. package/build/cjs/sim/dex-moves.js +0 -1
  72. package/build/cjs/sim/dex-moves.js.map +1 -1
  73. package/build/cjs/sim/exported-global-types.d.ts +2 -2
  74. package/build/cjs/sim/global-types.d.ts +2 -2
  75. package/build/cjs/sim/pokemon.js +7 -4
  76. package/build/cjs/sim/pokemon.js.map +1 -1
  77. package/build/cjs/sim/team-validator.js +1 -1
  78. package/build/cjs/sim/team-validator.js.map +1 -1
  79. package/build/cjs/sim/tools/runner.js +1 -1
  80. package/build/cjs/sim/tools/runner.js.map +1 -1
  81. package/build/esm/config/formats.mjs +163 -212
  82. package/build/esm/config/formats.mjs.map +1 -1
  83. package/build/esm/data/abilities.mjs +370 -165
  84. package/build/esm/data/abilities.mjs.map +1 -1
  85. package/build/esm/data/conditions.mjs +0 -3
  86. package/build/esm/data/conditions.mjs.map +1 -1
  87. package/build/esm/data/formats-data.mjs +330 -312
  88. package/build/esm/data/formats-data.mjs.map +1 -1
  89. package/build/esm/data/items.mjs +2 -2
  90. package/build/esm/data/items.mjs.map +1 -1
  91. package/build/esm/data/legality.mjs +424 -104
  92. package/build/esm/data/legality.mjs.map +1 -1
  93. package/build/esm/data/mods/gen1/formats-data.mjs +22 -22
  94. package/build/esm/data/mods/gen1/moves.mjs +6 -8
  95. package/build/esm/data/mods/gen1/moves.mjs.map +1 -1
  96. package/build/esm/data/mods/gen2/formats-data.mjs +43 -43
  97. package/build/esm/data/mods/gen2/formats-data.mjs.map +1 -1
  98. package/build/esm/data/mods/gen2/moves.mjs +4 -7
  99. package/build/esm/data/mods/gen2/moves.mjs.map +1 -1
  100. package/build/esm/data/mods/gen3/abilities.mjs +6 -5
  101. package/build/esm/data/mods/gen3/abilities.mjs.map +1 -1
  102. package/build/esm/data/mods/gen3/formats-data.mjs +32 -32
  103. package/build/esm/data/mods/gen3/formats-data.mjs.map +1 -1
  104. package/build/esm/data/mods/gen3/moves.mjs +15 -10
  105. package/build/esm/data/mods/gen3/moves.mjs.map +1 -1
  106. package/build/esm/data/mods/gen3/scripts.mjs +11 -6
  107. package/build/esm/data/mods/gen3/scripts.mjs.map +1 -1
  108. package/build/esm/data/mods/gen4/abilities.mjs +8 -2
  109. package/build/esm/data/mods/gen4/abilities.mjs.map +1 -1
  110. package/build/esm/data/mods/gen4/moves.mjs +49 -45
  111. package/build/esm/data/mods/gen4/moves.mjs.map +1 -1
  112. package/build/esm/data/mods/gen4/scripts.mjs +11 -6
  113. package/build/esm/data/mods/gen4/scripts.mjs.map +1 -1
  114. package/build/esm/data/mods/gen5/abilities.mjs +1 -0
  115. package/build/esm/data/mods/gen5/abilities.mjs.map +1 -1
  116. package/build/esm/data/mods/gen5/moves.mjs +44 -66
  117. package/build/esm/data/mods/gen5/moves.mjs.map +1 -1
  118. package/build/esm/data/mods/gen6/abilities.mjs +1 -1
  119. package/build/esm/data/mods/gen6/abilities.mjs.map +1 -1
  120. package/build/esm/data/mods/gen6/moves.mjs +1 -1
  121. package/build/esm/data/mods/gen6/moves.mjs.map +1 -1
  122. package/build/esm/data/mods/gen7/abilities.mjs +2 -2
  123. package/build/esm/data/mods/gen7/abilities.mjs.map +1 -1
  124. package/build/esm/data/mods/gen7/moves.mjs +21 -9
  125. package/build/esm/data/mods/gen7/moves.mjs.map +1 -1
  126. package/build/esm/data/mods/gen8/abilities.mjs +3 -1
  127. package/build/esm/data/mods/gen8/abilities.mjs.map +1 -1
  128. package/build/esm/data/mods/gen8/moves.mjs +6 -2
  129. package/build/esm/data/mods/gen8/moves.mjs.map +1 -1
  130. package/build/esm/data/moves.mjs +760 -770
  131. package/build/esm/data/moves.mjs.map +1 -1
  132. package/build/esm/data/rulesets.mjs +33 -56
  133. package/build/esm/data/rulesets.mjs.map +1 -1
  134. package/build/esm/data/text/abilities.mjs +34 -12
  135. package/build/esm/data/text/abilities.mjs.map +1 -1
  136. package/build/esm/data/text/moves.mjs +9 -9
  137. package/build/esm/data/text/moves.mjs.map +1 -1
  138. package/build/esm/sim/battle-actions.mjs +21 -21
  139. package/build/esm/sim/battle-actions.mjs.map +1 -1
  140. package/build/esm/sim/battle.mjs +4 -5
  141. package/build/esm/sim/battle.mjs.map +1 -1
  142. package/build/esm/sim/dex-abilities.d.mts +11 -2
  143. package/build/esm/sim/dex-abilities.mjs +1 -0
  144. package/build/esm/sim/dex-abilities.mjs.map +1 -1
  145. package/build/esm/sim/dex-conditions.d.mts +6 -0
  146. package/build/esm/sim/dex-conditions.mjs.map +1 -1
  147. package/build/esm/sim/dex-formats.d.mts +2 -0
  148. package/build/esm/sim/dex-formats.mjs +1 -0
  149. package/build/esm/sim/dex-formats.mjs.map +1 -1
  150. package/build/esm/sim/dex-moves.d.mts +1 -4
  151. package/build/esm/sim/dex-moves.mjs +0 -1
  152. package/build/esm/sim/dex-moves.mjs.map +1 -1
  153. package/build/esm/sim/exported-global-types.d.mts +2 -2
  154. package/build/esm/sim/global-types.d.mts +2 -2
  155. package/build/esm/sim/pokemon.mjs +7 -4
  156. package/build/esm/sim/pokemon.mjs.map +1 -1
  157. package/build/esm/sim/team-validator.mjs +1 -1
  158. package/build/esm/sim/team-validator.mjs.map +1 -1
  159. package/build/esm/sim/tools/runner.mjs +1 -1
  160. package/build/esm/sim/tools/runner.mjs.map +1 -1
  161. package/package.json +1 -1
  162. package/build/types/config/formats.d.ts +0 -1
  163. package/build/types/data/abilities.d.ts +0 -3
  164. package/build/types/data/aliases.d.ts +0 -3
  165. package/build/types/data/conditions.d.ts +0 -3
  166. package/build/types/data/formats-data.d.ts +0 -3
  167. package/build/types/data/index.d.ts +0 -11
  168. package/build/types/data/items.d.ts +0 -3
  169. package/build/types/data/learnsets.d.ts +0 -3
  170. package/build/types/data/legality.d.ts +0 -3
  171. package/build/types/data/mods/gen1/conditions.d.ts +0 -12
  172. package/build/types/data/mods/gen1/formats-data.d.ts +0 -3
  173. package/build/types/data/mods/gen1/index.d.ts +0 -7
  174. package/build/types/data/mods/gen1/moves.d.ts +0 -7
  175. package/build/types/data/mods/gen1/pokedex.d.ts +0 -3
  176. package/build/types/data/mods/gen1/rulesets.d.ts +0 -3
  177. package/build/types/data/mods/gen1/scripts.d.ts +0 -6
  178. package/build/types/data/mods/gen1/typechart.d.ts +0 -10
  179. package/build/types/data/mods/gen2/conditions.d.ts +0 -3
  180. package/build/types/data/mods/gen2/formats-data.d.ts +0 -3
  181. package/build/types/data/mods/gen2/index.d.ts +0 -8
  182. package/build/types/data/mods/gen2/items.d.ts +0 -3
  183. package/build/types/data/mods/gen2/learnsets.d.ts +0 -3
  184. package/build/types/data/mods/gen2/legality.d.ts +0 -3
  185. package/build/types/data/mods/gen2/moves.d.ts +0 -6
  186. package/build/types/data/mods/gen2/pokedex.d.ts +0 -3
  187. package/build/types/data/mods/gen2/rulesets.d.ts +0 -3
  188. package/build/types/data/mods/gen2/scripts.d.ts +0 -4
  189. package/build/types/data/mods/gen2/typechart.d.ts +0 -3
  190. package/build/types/data/mods/gen3/abilities.d.ts +0 -3
  191. package/build/types/data/mods/gen3/conditions.d.ts +0 -3
  192. package/build/types/data/mods/gen3/formats-data.d.ts +0 -3
  193. package/build/types/data/mods/gen3/index.d.ts +0 -7
  194. package/build/types/data/mods/gen3/items.d.ts +0 -3
  195. package/build/types/data/mods/gen3/moves.d.ts +0 -6
  196. package/build/types/data/mods/gen3/rulesets.d.ts +0 -3
  197. package/build/types/data/mods/gen3/scripts.d.ts +0 -1
  198. package/build/types/data/mods/gen4/abilities.d.ts +0 -3
  199. package/build/types/data/mods/gen4/conditions.d.ts +0 -3
  200. package/build/types/data/mods/gen4/formats-data.d.ts +0 -3
  201. package/build/types/data/mods/gen4/index.d.ts +0 -8
  202. package/build/types/data/mods/gen4/items.d.ts +0 -3
  203. package/build/types/data/mods/gen4/moves.d.ts +0 -3
  204. package/build/types/data/mods/gen4/pokedex.d.ts +0 -3
  205. package/build/types/data/mods/gen4/rulesets.d.ts +0 -3
  206. package/build/types/data/mods/gen4/scripts.d.ts +0 -1
  207. package/build/types/data/mods/gen5/abilities.d.ts +0 -3
  208. package/build/types/data/mods/gen5/conditions.d.ts +0 -3
  209. package/build/types/data/mods/gen5/formats-data.d.ts +0 -3
  210. package/build/types/data/mods/gen5/index.d.ts +0 -9
  211. package/build/types/data/mods/gen5/items.d.ts +0 -3
  212. package/build/types/data/mods/gen5/moves.d.ts +0 -3
  213. package/build/types/data/mods/gen5/pokedex.d.ts +0 -3
  214. package/build/types/data/mods/gen5/rulesets.d.ts +0 -3
  215. package/build/types/data/mods/gen5/scripts.d.ts +0 -1
  216. package/build/types/data/mods/gen5/typechart.d.ts +0 -3
  217. package/build/types/data/mods/gen6/abilities.d.ts +0 -3
  218. package/build/types/data/mods/gen6/conditions.d.ts +0 -3
  219. package/build/types/data/mods/gen6/formats-data.d.ts +0 -3
  220. package/build/types/data/mods/gen6/index.d.ts +0 -8
  221. package/build/types/data/mods/gen6/items.d.ts +0 -3
  222. package/build/types/data/mods/gen6/learnsets.d.ts +0 -3
  223. package/build/types/data/mods/gen6/legality.d.ts +0 -3
  224. package/build/types/data/mods/gen6/moves.d.ts +0 -3
  225. package/build/types/data/mods/gen6/pokedex.d.ts +0 -3
  226. package/build/types/data/mods/gen6/scripts.d.ts +0 -1
  227. package/build/types/data/mods/gen6/typechart.d.ts +0 -3
  228. package/build/types/data/mods/gen7/abilities.d.ts +0 -3
  229. package/build/types/data/mods/gen7/formats-data.d.ts +0 -3
  230. package/build/types/data/mods/gen7/index.d.ts +0 -7
  231. package/build/types/data/mods/gen7/items.d.ts +0 -3
  232. package/build/types/data/mods/gen7/moves.d.ts +0 -3
  233. package/build/types/data/mods/gen7/pokedex.d.ts +0 -3
  234. package/build/types/data/mods/gen7/rulesets.d.ts +0 -3
  235. package/build/types/data/mods/gen7/scripts.d.ts +0 -1
  236. package/build/types/data/mods/gen8/abilities.d.ts +0 -3
  237. package/build/types/data/mods/gen8/formats-data.d.ts +0 -3
  238. package/build/types/data/mods/gen8/index.d.ts +0 -7
  239. package/build/types/data/mods/gen8/items.d.ts +0 -3
  240. package/build/types/data/mods/gen8/learnsets.d.ts +0 -3
  241. package/build/types/data/mods/gen8/legality.d.ts +0 -3
  242. package/build/types/data/mods/gen8/moves.d.ts +0 -3
  243. package/build/types/data/mods/gen8/pokedex.d.ts +0 -3
  244. package/build/types/data/mods/gen8/rulesets.d.ts +0 -3
  245. package/build/types/data/mods/gen8/scripts.d.ts +0 -1
  246. package/build/types/data/moves.d.ts +0 -3
  247. package/build/types/data/natures.d.ts +0 -3
  248. package/build/types/data/pokedex.d.ts +0 -3
  249. package/build/types/data/pokemongo.d.ts +0 -31
  250. package/build/types/data/rulesets.d.ts +0 -3
  251. package/build/types/data/scripts.d.ts +0 -1
  252. package/build/types/data/tags.d.ts +0 -15
  253. package/build/types/data/text/abilities.d.ts +0 -3
  254. package/build/types/data/text/default.d.ts +0 -3
  255. package/build/types/data/text/items.d.ts +0 -3
  256. package/build/types/data/text/moves.d.ts +0 -3
  257. package/build/types/data/typechart.d.ts +0 -3
  258. package/build/types/lib/index.d.ts +0 -2
  259. package/build/types/lib/streams.d.ts +0 -1
  260. package/build/types/lib/utils.d.ts +0 -139
  261. package/build/types/sim/battle-actions.d.ts +0 -90
  262. package/build/types/sim/battle-queue.d.ts +0 -164
  263. package/build/types/sim/battle-stream.d.ts +0 -67
  264. package/build/types/sim/battle.d.ts +0 -396
  265. package/build/types/sim/dex-abilities.d.ts +0 -35
  266. package/build/types/sim/dex-conditions.d.ts +0 -518
  267. package/build/types/sim/dex-data.d.ts +0 -169
  268. package/build/types/sim/dex-formats.d.ts +0 -170
  269. package/build/types/sim/dex-items.d.ts +0 -110
  270. package/build/types/sim/dex-moves.d.ts +0 -441
  271. package/build/types/sim/dex-species.d.ts +0 -289
  272. package/build/types/sim/dex.d.ts +0 -162
  273. package/build/types/sim/exported-global-types.d.ts +0 -510
  274. package/build/types/sim/field.d.ts +0 -30
  275. package/build/types/sim/global-types.d.ts +0 -510
  276. package/build/types/sim/index.d.ts +0 -13
  277. package/build/types/sim/pokemon.d.ts +0 -427
  278. package/build/types/sim/prng.d.ts +0 -97
  279. package/build/types/sim/side.d.ts +0 -127
  280. package/build/types/sim/state.d.ts +0 -42
  281. package/build/types/sim/team-validator.d.ts +0 -198
  282. package/build/types/sim/teams.d.ts +0 -26
  283. package/build/types/sim/tools/exhaustive-runner.d.ts +0 -52
  284. package/build/types/sim/tools/index.d.ts +0 -2
  285. package/build/types/sim/tools/random-player-ai.d.ts +0 -32
  286. package/build/types/sim/tools/runner.d.ts +0 -41
@@ -1,289 +0,0 @@
1
- import { AnyObject, GenderName, ID, ModdedDex, Nonstandard, StatsTable, TierTypes, MoveSource, EventInfo } from './exported-global-types';
2
- import { BasicEffect } from './dex-data';
3
- interface SpeciesAbility {
4
- 0: string;
5
- 1?: string;
6
- H?: string;
7
- S?: string;
8
- }
9
- type SpeciesTag = "Mythical" | "Restricted Legendary" | "Sub-Legendary" | "Paradox";
10
- export interface SpeciesData extends Partial<Species> {
11
- name: string;
12
- /** National Dex number */
13
- num: number;
14
- types: string[];
15
- abilities: SpeciesAbility;
16
- baseStats: StatsTable;
17
- eggGroups: string[];
18
- weightkg: number;
19
- }
20
- export type ModdedSpeciesData = SpeciesData | Partial<Omit<SpeciesData, 'name'>> & {
21
- inherit: true;
22
- };
23
- export interface SpeciesFormatsData {
24
- comboMoves?: readonly string[];
25
- doublesTier?: TierTypes.Doubles | TierTypes.Other;
26
- essentialMove?: string;
27
- exclusiveMoves?: readonly string[];
28
- gmaxUnreleased?: boolean;
29
- isNonstandard?: Nonstandard | null;
30
- natDexTier?: TierTypes.Singles | TierTypes.Other;
31
- randomBattleMoves?: readonly string[];
32
- randomBattleLevel?: number;
33
- randomDoubleBattleMoves?: readonly string[];
34
- randomDoubleBattleLevel?: number;
35
- randomBattleNoDynamaxMoves?: readonly string[];
36
- tier?: TierTypes.Singles | TierTypes.Other;
37
- }
38
- export type ModdedSpeciesFormatsData = SpeciesFormatsData & {
39
- inherit?: true;
40
- };
41
- export interface LearnsetData {
42
- learnset?: {
43
- [moveid: string]: MoveSource[];
44
- };
45
- eventData?: EventInfo[];
46
- eventOnly?: boolean;
47
- encounters?: EventInfo[];
48
- exists?: boolean;
49
- }
50
- export type ModdedLearnsetData = LearnsetData & {
51
- inherit?: true;
52
- };
53
- export interface PokemonGoData {
54
- encounters?: string[];
55
- LGPERestrictiveMoves?: {
56
- [moveid: string]: number | null;
57
- };
58
- }
59
- export declare class Species extends BasicEffect implements Readonly<BasicEffect & SpeciesFormatsData> {
60
- readonly effectType: 'Pokemon';
61
- /**
62
- * Species ID. Identical to ID. Note that this is the full ID, e.g.
63
- * 'basculinbluestriped'. To get the base species ID, you need to
64
- * manually read toID(species.baseSpecies).
65
- */
66
- readonly id: ID;
67
- /**
68
- * Name. Note that this is the full name with forme,
69
- * e.g. 'Basculin-Blue-Striped'. To get the name without forme, see
70
- * `species.baseSpecies`.
71
- */
72
- readonly name: string;
73
- /**
74
- * Base species. Species, but without the forme name.
75
- *
76
- * DO NOT ASSUME A POKEMON CAN TRANSFORM FROM `baseSpecies` TO
77
- * `species`. USE `changesFrom` FOR THAT.
78
- */
79
- readonly baseSpecies: string;
80
- /**
81
- * Forme name. If the forme exists,
82
- * `species.name === species.baseSpecies + '-' + species.forme`
83
- *
84
- * The games make a distinction between Forme (foorumu) (legendary Pokémon)
85
- * and Form (sugata) (non-legendary Pokémon). PS does not use the same
86
- * distinction – they're all "Forme" to PS, reflecting current community
87
- * use of the term.
88
- *
89
- * This property only tracks non-cosmetic formes, and will be `''` for
90
- * cosmetic formes.
91
- */
92
- readonly forme: string;
93
- /**
94
- * Base forme name (e.g. 'Altered' for Giratina).
95
- */
96
- readonly baseForme: string;
97
- /**
98
- * Other forms. List of names of cosmetic forms. These should have
99
- * `aliases.js` aliases to this entry, but not have their own
100
- * entry in `pokedex.js`.
101
- */
102
- readonly cosmeticFormes?: string[];
103
- /**
104
- * Other formes. List of names of formes, appears only on the base
105
- * forme. Unlike forms, these have their own entry in `pokedex.js`.
106
- */
107
- readonly otherFormes?: string[];
108
- /**
109
- * List of forme speciesNames in the order they appear in the game data -
110
- * the union of baseSpecies, otherFormes and cosmeticFormes. Appears only on
111
- * the base species forme.
112
- *
113
- * A species's alternate formeindex may change from generation to generation -
114
- * the forme with index N in Gen A is not guaranteed to be the same forme as the
115
- * forme with index in Gen B.
116
- *
117
- * Gigantamaxes are not considered formes by the game (see data/FORMES.md - PS
118
- * labels them as such for convenience) - Gigantamax "formes" are instead included at
119
- * the end of the formeOrder list so as not to interfere with the correct index numbers.
120
- */
121
- readonly formeOrder?: string[];
122
- /**
123
- * Sprite ID. Basically the same as ID, but with a dash between
124
- * species and forme.
125
- */
126
- readonly spriteid: string;
127
- /** Abilities. */
128
- readonly abilities: SpeciesAbility;
129
- /** Types. */
130
- readonly types: string[];
131
- /** Added type (added by Trick-Or-Treat or Forest's Curse, but only listed in species by OMs). */
132
- readonly addedType?: string;
133
- /** Pre-evolution. '' if nothing evolves into this Pokemon. */
134
- readonly prevo: string;
135
- /** Evolutions. Array because many Pokemon have multiple evolutions. */
136
- readonly evos: string[];
137
- readonly evoType?: 'trade' | 'useItem' | 'levelMove' | 'levelExtra' | 'levelFriendship' | 'levelHold' | 'other';
138
- /** Evolution condition. falsy if doesn't evolve. */
139
- readonly evoCondition?: string;
140
- /** Evolution item. falsy if doesn't evolve. */
141
- readonly evoItem?: string;
142
- /** Evolution move. falsy if doesn't evolve. */
143
- readonly evoMove?: string;
144
- /** Region required to be in for evolution. falsy if doesn't evolve. */
145
- readonly evoRegion?: 'Alola' | 'Galar';
146
- /** Evolution level. falsy if doesn't evolve. */
147
- readonly evoLevel?: number;
148
- /** Is NFE? True if this Pokemon can evolve (Mega evolution doesn't count). */
149
- readonly nfe: boolean;
150
- /** Egg groups. */
151
- readonly eggGroups: string[];
152
- /** True if this species can hatch from an Egg. */
153
- readonly canHatch: boolean;
154
- /**
155
- * Gender. M = always male, F = always female, N = always
156
- * genderless, '' = sometimes male sometimes female.
157
- */
158
- readonly gender: GenderName;
159
- /** Gender ratio. Should add up to 1 unless genderless. */
160
- readonly genderRatio: {
161
- M: number;
162
- F: number;
163
- };
164
- /** Base stats. */
165
- readonly baseStats: StatsTable;
166
- /** Max HP. Overrides usual HP calculations (for Shedinja). */
167
- readonly maxHP?: number;
168
- /** A Pokemon's Base Stat Total */
169
- readonly bst: number;
170
- /** Weight (in kg). Not valid for OMs; use weighthg / 10 instead. */
171
- readonly weightkg: number;
172
- /** Weight (in integer multiples of 0.1kg). */
173
- readonly weighthg: number;
174
- /** Height (in m). */
175
- readonly heightm: number;
176
- /** Color. */
177
- readonly color: string;
178
- /**
179
- * Tags, boolean data. Currently just legendary/mythical status.
180
- */
181
- readonly tags: SpeciesTag[];
182
- /** Does this Pokemon have an unreleased hidden ability? */
183
- readonly unreleasedHidden: boolean | 'Past';
184
- /**
185
- * Is it only possible to get the hidden ability on a male pokemon?
186
- * This is mainly relevant to Gen 5.
187
- */
188
- readonly maleOnlyHidden: boolean;
189
- /** True if a pokemon is mega. */
190
- readonly isMega?: boolean;
191
- /** True if a pokemon is primal. */
192
- readonly isPrimal?: boolean;
193
- /** Name of its Gigantamax move, if a pokemon is capable of gigantamaxing. */
194
- readonly canGigantamax?: string;
195
- /** If this Pokemon can gigantamax, is its gigantamax released? */
196
- readonly gmaxUnreleased?: boolean;
197
- /** True if a Pokemon species is incapable of dynamaxing */
198
- readonly cannotDynamax?: boolean;
199
- /** The Tera Type this Pokemon is forced to use */
200
- readonly forceTeraType?: string;
201
- /** What it transforms from, if a pokemon is a forme that is only accessible in battle. */
202
- readonly battleOnly?: string | string[];
203
- /** Required item. Do not use this directly; see requiredItems. */
204
- readonly requiredItem?: string;
205
- /** Required move. Move required to use this forme in-battle. */
206
- readonly requiredMove?: string;
207
- /** Required ability. Ability required to use this forme in-battle. */
208
- readonly requiredAbility?: string;
209
- /**
210
- * Required items. Items required to be in this forme, e.g. a mega
211
- * stone, or Griseous Orb. Array because Arceus formes can hold
212
- * either a Plate or a Z-Crystal.
213
- */
214
- readonly requiredItems?: string[];
215
- /**
216
- * Formes that can transform into this Pokemon, to inherit learnsets
217
- * from. (Like `prevo`, but for transformations that aren't
218
- * technically evolution. Includes in-battle transformations like
219
- * Zen Mode and out-of-battle transformations like Rotom.)
220
- *
221
- * Not filled out for megas/primals - fall back to baseSpecies
222
- * for in-battle formes.
223
- */
224
- readonly changesFrom?: string;
225
- /**
226
- * List of sources and other availability for a Pokemon transferred from
227
- * Pokemon GO.
228
- */
229
- readonly pokemonGoData?: string[];
230
- /**
231
- * Singles Tier. The Pokemon's location in the Smogon tier system.
232
- */
233
- readonly tier: TierTypes.Singles | TierTypes.Other;
234
- /**
235
- * Doubles Tier. The Pokemon's location in the Smogon doubles tier system.
236
- */
237
- readonly doublesTier: TierTypes.Doubles | TierTypes.Other;
238
- /**
239
- * National Dex Tier. The Pokemon's location in the Smogon National Dex tier system.
240
- */
241
- readonly natDexTier: TierTypes.Singles | TierTypes.Other;
242
- readonly randomBattleMoves?: readonly ID[];
243
- readonly randomBattleLevel?: number;
244
- readonly randomDoubleBattleMoves?: readonly ID[];
245
- readonly randomDoubleBattleLevel?: number;
246
- readonly randomBattleNoDynamaxMoves?: readonly ID[];
247
- readonly exclusiveMoves?: readonly ID[];
248
- readonly comboMoves?: readonly ID[];
249
- readonly essentialMove?: ID;
250
- constructor(data: AnyObject);
251
- }
252
- export declare class Learnset {
253
- readonly effectType: 'Learnset';
254
- /**
255
- * Keeps track of exactly how a pokemon might learn a move, in the
256
- * form moveid:sources[].
257
- */
258
- readonly learnset?: {
259
- [moveid: string]: MoveSource[];
260
- };
261
- /** True if the only way to get this Pokemon is from events. */
262
- readonly eventOnly: boolean;
263
- /** List of event data for each event. */
264
- readonly eventData?: EventInfo[];
265
- readonly encounters?: EventInfo[];
266
- readonly exists: boolean;
267
- constructor(data: AnyObject);
268
- }
269
- export declare class DexSpecies {
270
- readonly dex: ModdedDex;
271
- readonly speciesCache: Map<ID, Species>;
272
- allCache: readonly Species[] | null;
273
- constructor(dex: ModdedDex);
274
- get(name?: string | Species): Species;
275
- getByID(id: ID): Species;
276
- getLearnset(id: ID): Learnset['learnset'];
277
- getLearnsetData(id: ID): Learnset;
278
- getPokemonGoData(id: ID): PokemonGoData;
279
- all(): readonly Species[];
280
- }
281
- export declare class DexLearnsets {
282
- readonly dex: ModdedDex;
283
- readonly learnsetCache: Map<ID, Learnset>;
284
- constructor(dex: ModdedDex);
285
- get(name: string): Promise<Learnset>;
286
- getByID(id: ID): Promise<Learnset>;
287
- getInternal(id: ID): Learnset;
288
- }
289
- export {};
@@ -1,162 +0,0 @@
1
- import { Condition, DexConditions } from './dex-conditions';
2
- import { DataMove, DexMoves } from './dex-moves';
3
- import { Item, DexItems } from './dex-items';
4
- import { Ability, DexAbilities } from './dex-abilities';
5
- import { Species, DexSpecies, DexLearnsets, PokemonGoData } from './dex-species';
6
- import { Format, DexFormats, RuleTable } from './dex-formats';
7
- import { AbilityData, AbilityText, ActiveMove, AnyObject, EffectData, FormatData, ID, ItemData, ItemText, LearnsetData, ModdedBattleScriptsData, Move, MoveData, MoveText, NatureData, SpeciesData, TypeData } from './exported-global-types';
8
- import * as Data from './dex-data';
9
- type DataType = 'Abilities' | 'Rulesets' | 'FormatsData' | 'Items' | 'Learnsets' | 'Moves' | 'Natures' | 'Pokedex' | 'Scripts' | 'Conditions' | 'TypeChart' | 'PokemonGoData';
10
- interface DexTable<T> {
11
- [key: string]: T;
12
- }
13
- interface DexTableData {
14
- Abilities: DexTable<AbilityData>;
15
- Conditions: DexTable<EffectData>;
16
- Rulesets: DexTable<FormatData>;
17
- FormatsData: DexTable<import('./dex-species').ModdedSpeciesFormatsData>;
18
- Items: DexTable<ItemData>;
19
- Learnsets: DexTable<LearnsetData>;
20
- Moves: DexTable<MoveData>;
21
- Natures: DexTable<NatureData>;
22
- Pokedex: DexTable<SpeciesData>;
23
- PokemonGoData: DexTable<PokemonGoData>;
24
- TypeChart: DexTable<TypeData>;
25
- Aliases: {
26
- [id: string]: string;
27
- };
28
- Scripts: ModdedBattleScriptsData;
29
- Species: DexTable<SpeciesData>;
30
- Types: DexTable<TypeData>;
31
- }
32
- declare const TEXT: {
33
- Abilities: DexTable<AbilityText>;
34
- Items: DexTable<ItemText>;
35
- Moves: DexTable<MoveText>;
36
- Default: DexTable<AnyObject>;
37
- };
38
- type DeepPartial<T> = {
39
- [P in keyof T]?: T[P] extends Array<infer U> ? Array<DeepPartial<U>> : T[P] extends ReadonlyArray<infer V> ? ReadonlyArray<DeepPartial<V>> : DeepPartial<T[P]>;
40
- };
41
- export type ModData = DeepPartial<ModdedDex['data']>;
42
- export declare const toID: typeof Data.toID;
43
- export declare class ModdedDex {
44
- readonly Data: typeof Data;
45
- readonly Condition: typeof Condition;
46
- readonly Ability: typeof Ability;
47
- readonly Item: typeof Item;
48
- readonly Move: typeof DataMove;
49
- readonly Species: typeof Species;
50
- readonly Format: typeof Format;
51
- readonly ModdedDex: typeof ModdedDex;
52
- readonly name = "[ModdedDex]";
53
- readonly isBase: boolean;
54
- readonly currentMod: string;
55
- readonly toID: typeof Data.toID;
56
- readonly formats: DexFormats;
57
- readonly abilities: DexAbilities;
58
- readonly items: DexItems;
59
- readonly moves: DexMoves;
60
- readonly species: DexSpecies;
61
- readonly learnsets: DexLearnsets;
62
- readonly conditions: DexConditions;
63
- readonly natures: Data.DexNatures;
64
- readonly types: Data.DexTypes;
65
- readonly stats: Data.DexStats;
66
- gen: number;
67
- parentMod: string;
68
- modsLoaded: boolean;
69
- dataCache: DexTableData | null;
70
- deepClone: typeof import("../lib/utils").deepClone;
71
- constructor(mod?: string);
72
- get modid(): ID;
73
- get data(): DexTableData;
74
- get dexes(): {
75
- [mod: string]: ModdedDex;
76
- };
77
- mod(mod: string | undefined, modData?: DeepPartial<ModdedDex['data']>): ModdedDex;
78
- forGen(gen: number): ModdedDex;
79
- forFormat(format: Format | string): ModdedDex;
80
- modData(dataType: DataType, id: string): any;
81
- effectToString(): string;
82
- /**
83
- * Sanitizes a username or Pokemon nickname
84
- *
85
- * Returns the passed name, sanitized for safe use as a name in the PS
86
- * protocol.
87
- *
88
- * Such a string must uphold these guarantees:
89
- * - must not contain any ASCII whitespace character other than a space
90
- * - must not start or end with a space character
91
- * - must not contain any of: | , [ ]
92
- * - must not be the empty string
93
- * - must not contain Unicode RTL control characters
94
- *
95
- * If no such string can be found, returns the empty string. Calling
96
- * functions are expected to check for that condition and deal with it
97
- * accordingly.
98
- *
99
- * getName also enforces that there are not multiple consecutive space
100
- * characters in the name, although this is not strictly necessary for
101
- * safety.
102
- */
103
- getName(name: any): string;
104
- /**
105
- * Returns false if the target is immune; true otherwise.
106
- * Also checks immunity to some statuses.
107
- */
108
- getImmunity(source: {
109
- type: string;
110
- } | string, target: {
111
- getTypes: () => string[];
112
- } | {
113
- types: string[];
114
- } | string[] | string): boolean;
115
- getEffectiveness(source: {
116
- type: string;
117
- } | string, target: {
118
- getTypes: () => string[];
119
- } | {
120
- types: string[];
121
- } | string[] | string): number;
122
- getDescs(table: keyof typeof TEXT, id: ID, dataEntry: AnyObject): {
123
- desc: any;
124
- shortDesc: any;
125
- } | null;
126
- /**
127
- * Ensure we're working on a copy of a move (and make a copy if we aren't)
128
- *
129
- * Remember: "ensure" - by default, it won't make a copy of a copy:
130
- * moveCopy === Dex.getActiveMove(moveCopy)
131
- *
132
- * If you really want to, use:
133
- * moveCopyCopy = Dex.getActiveMove(moveCopy.id)
134
- */
135
- getActiveMove(move: Move | string): ActiveMove;
136
- getHiddenPower(ivs: AnyObject): {
137
- type: string;
138
- power: number;
139
- };
140
- /**
141
- * Truncate a number into an unsigned 32-bit integer, for
142
- * compatibility with the cartridge games' math systems.
143
- */
144
- trunc(num: number, bits?: number): number;
145
- loadDataFile(mod: string, dataType: DataType | 'Aliases', modData?: DeepPartial<ModdedDex['data']>): AnyObject;
146
- includeMods(): this;
147
- includeModData(): this;
148
- includeData(): this;
149
- loadData(modData?: DeepPartial<ModdedDex['data']>): DexTableData;
150
- includeFormats(): this;
151
- }
152
- export declare const Dex: ModdedDex;
153
- export declare namespace Dex {
154
- type Species = import('./dex-species').Species;
155
- type Item = import('./dex-items').Item;
156
- type Move = import('./dex-moves').Move;
157
- type Ability = import('./dex-abilities').Ability;
158
- type HitEffect = import('./dex-moves').HitEffect;
159
- type SecondaryEffect = import('./dex-moves').SecondaryEffect;
160
- type RuleTable = import('./dex-formats').RuleTable;
161
- }
162
- export { RuleTable };