Guest User

Untitled

a guest
Feb 23rd, 2016
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 46.59 KB | None | 0 0
  1. 'use strict';
  2.  
  3. exports.BattleMovedex = {
  4. absorb: {
  5. inherit: true,
  6. pp: 25,
  7. },
  8. acid: {
  9. inherit: true,
  10. secondary: {
  11. chance: 10,
  12. boosts: {
  13. spd: -1,
  14. },
  15. },
  16. },
  17. acidspray: {
  18. inherit: true,
  19. num: 1134,
  20. },
  21. airslash: {
  22. inherit: true,
  23. num: 1019,
  24. },
  25. ancientpower: {
  26. inherit: true,
  27. flags: {protect: 1, mirror: 1},
  28. },
  29. "angryswarm": {
  30. num: 1112,
  31. accuracy: 95,
  32. basePower: 80,
  33. category: "Special",
  34. desc: "Has a 20% chance to lower the target's accuracy by 1 stage and a 20% chance to confuse it.",
  35. shortDesc: "20% chance to lower accuracy by 1. 20% chance to confuse.",
  36. id: "angryswarm",
  37. name: "Angry Swarm",
  38. pp: 15,
  39. priority: 0,
  40. flags: {protect: 1, mirror: 1},
  41. secondaries: [
  42. {
  43. chance: 20,
  44. boosts: {
  45. accuracy: -1,
  46. },
  47. }, {
  48. chance: 20,
  49. volatileStatus: 'confuse',
  50. },
  51. ],
  52. target: "normal",
  53. type: "Bug",
  54. },
  55. "aquabolt": {
  56. num: 1081,
  57. accuracy: 90,
  58. basePower: 70,
  59. category: "Special",
  60. desc: "Has a 40% chance to paralyze the target.",
  61. shortDesc: "40% chance to paralyze the target.",
  62. id: "aquabolt",
  63. name: "Aqua Bolt",
  64. pp: 20,
  65. priority: 0,
  66. flags: {protect: 1, mirror: 1},
  67. secondary: {
  68. chance: 40,
  69. status: 'par',
  70. },
  71. target: "normal",
  72. type: "Water",
  73. },
  74. aquajet: {
  75. inherit: true,
  76. num: 1057,
  77. },
  78. aquatail: {
  79. inherit: true,
  80. num: 1017,
  81. },
  82. attackorder: {
  83. inherit: true,
  84. num: 1058,
  85. },
  86. aurasphere: {
  87. inherit: true,
  88. num: 1012,
  89. },
  90. avalanche: {
  91. inherit: true,
  92. num: 1035,
  93. },
  94. bide: {
  95. inherit: true,
  96. accuracy: true,
  97. priority: 1,
  98. },
  99. bind: {
  100. inherit: true,
  101. accuracy: 85,
  102. },
  103. blizzard: {
  104. inherit: true,
  105. onModifyMove: function (move) {
  106. if (this.isWeather('hail')) move.accuracy = true;
  107. },
  108. },
  109. bonerush: {
  110. inherit: true,
  111. accuracy: 90,
  112. },
  113. bravebird: {
  114. inherit: true,
  115. num: 1029,
  116. },
  117. bugbuzz: {
  118. inherit: true,
  119. num: 1021,
  120. },
  121. "bugnoise": {
  122. num: 1111,
  123. accuracy: 90,
  124. basePower: 120,
  125. category: "Special",
  126. desc: "Has a 10% chance to paralyze the user.",
  127. shortDesc: "10% chance to paralyze the user.",
  128. id: "bugnoise",
  129. name: "Bug Noise",
  130. pp: 10,
  131. priority: 0,
  132. flags: {protect: 1, mirror: 1, sound: 1},
  133. secondary: {
  134. chance: 10,
  135. self: {
  136. status: 'par',
  137. },
  138. },
  139. target: "normal",
  140. type: "Bug",
  141. },
  142. bulldoze: {
  143. inherit: true,
  144. num: 1141,
  145. },
  146. bulletpunch: {
  147. inherit: true,
  148. num: 1034,
  149. },
  150. bulletseed: {
  151. inherit: true,
  152. basePower: 25,
  153. },
  154. "burrow": {
  155. num: 1100,
  156. accuracy: 90,
  157. basePower: 75,
  158. category: "Physical",
  159. desc: "Has a 30% chance to lower the target's Speed by 2 stages.",
  160. shortDesc: "30% chance to lower the target's Speed by 2.",
  161. id: "burrow",
  162. name: "Burrow",
  163. pp: 20,
  164. priority: 0,
  165. flags: {contact: 1, protect: 1, mirror: 1},
  166. secondary: {
  167. chance: 30,
  168. boosts: {
  169. spe: -2,
  170. },
  171. },
  172. target: "normal",
  173. type: "Ground",
  174. },
  175. charge: {
  176. inherit: true,
  177. boosts: {
  178. spd: 1,
  179. },
  180. },
  181. chargebeam: {
  182. inherit: true,
  183. num: 1055,
  184. },
  185. clamp: {
  186. inherit: true,
  187. accuracy: 85,
  188. pp: 15,
  189. },
  190. closecombat: {
  191. inherit: true,
  192. num: 1009,
  193. },
  194. coil: {
  195. inherit: true,
  196. num: 1146,
  197. },
  198. "corner": {
  199. num: 1125,
  200. accuracy: 0,
  201. basePower: 55,
  202. category: "Physical",
  203. desc: "This move does not check accuracy. Prevents the target from switching out. The target can still switch out if it is holding Shed Shell or uses Baton Pass, Parting Shot, U-turn, or Volt Switch. If the target leaves the field using Baton Pass, the replacement will remain trapped. The effect ends if the user leaves the field.",
  204. shortDesc: "This move does not check accuracy. The target cannot switch out.",
  205. id: "corner",
  206. name: "Corner",
  207. pp: 20,
  208. priority: -1,
  209. flags: {contact: 1, protect: 1, mirror: 1},
  210. onHit: function (target, source, move) {
  211. if (source.isActive) target.addVolatile('trapped', source, move, 'trapper');
  212. },
  213. secondary: false,
  214. target: "normal",
  215. type: "Dark",
  216. },
  217. cottonspore: {
  218. inherit: true,
  219. accuracy: 100,
  220. },
  221. covet: {
  222. inherit: true,
  223. basePower: 60,
  224. flags: {contact: 1, protect: 1, mirror: 1},
  225. },
  226. crabhammer: {
  227. inherit: true,
  228. accuracy: 90,
  229. },
  230. "crashimpact": {
  231. num: 1071,
  232. accuracy: 80,
  233. basePower: 140,
  234. category: "Physical",
  235. desc: "Causes the user to become confused.",
  236. shortDesc: "Confuses the user.",
  237. id: "crashimpact",
  238. name: "Crash Impact",
  239. pp: 5,
  240. priority: 0,
  241. flags: {contact: 1, protect: 1, mirror: 1},
  242. self: {
  243. volatileStatus: 'confusion',
  244. },
  245. secondary: false,
  246. target: "normal",
  247. type: "Normal",
  248. },
  249. crosspoison: {
  250. inherit: true,
  251. num: 1067,
  252. },
  253. crunch: {
  254. inherit: true,
  255. secondary: {
  256. chance: 20,
  257. boosts: {
  258. def: -1,
  259. },
  260. },
  261. },
  262. curse: {
  263. inherit: true,
  264. type: "Ghost",
  265. },
  266. "cursedwrath": {
  267. num: 1117,
  268. accuracy: 100,
  269. basePower: 0,
  270. basePowerCallback: function (pokemon, target) {
  271. let ratio = pokemon.hp * 48 / pokemon.maxhp;
  272. if (ratio < 2) {
  273. return 200;
  274. }
  275. if (ratio < 5) {
  276. return 150;
  277. }
  278. if (ratio < 10) {
  279. return 100;
  280. }
  281. if (ratio < 17) {
  282. return 80;
  283. }
  284. if (ratio < 33) {
  285. return 40;
  286. }
  287. return 20;
  288. },
  289. category: "Special",
  290. desc: "Deals damage to the target based on the amount of HP the user has left. X is equal to (user's current HP * 48 / user's maximum HP), rounded down; the base power of this attack is 20 if X is 33 to 48, 40 if X is 17 to 32, 80 if X is 10 to 16, 100 if X is 5 to 9, 150 if X is 2 to 4, and 200 if X is 0 or 1.",
  291. shortDesc: "More power the less HP the user has left.",
  292. id: "cursedwrath",
  293. name: "Cursed Wrath",
  294. pp: 15,
  295. priority: 0,
  296. flags: {mirror: 1},
  297. secondary: false,
  298. target: "normal",
  299. type: "Ghost",
  300. },
  301. "darkcutter": {
  302. num: 1122,
  303. accuracy: 95,
  304. basePower: 55,
  305. category: "Special",
  306. desc: "Has a higher chance for a critical hit.",
  307. shortDesc: "High critical hit ratio. Hits adjacent foes.",
  308. id: "darkcutter",
  309. name: "Dark Cutter",
  310. pp: 25,
  311. priority: 0,
  312. flags: {protect: 1, mirror: 1},
  313. critRatio: 2,
  314. secondary: false,
  315. target: "allAdjacentFoes",
  316. type: "Dark",
  317. },
  318. "darkhand": {
  319. num: 1124,
  320. accuracy: 0,
  321. basePower: 0,
  322. category: "Status",
  323. desc: "Raises the user's accuracy by 2 stages.",
  324. shortDesc: "Raises the user's accuracy by 2.",
  325. id: "darkhand",
  326. name: "Dark Hand",
  327. pp: 30,
  328. priority: 0,
  329. flags: {snatch: 1},
  330. boosts: {
  331. accuracy: 2,
  332. },
  333. secondary: false,
  334. target: "self",
  335. type: "Dark",
  336. },
  337. darkpulse: {
  338. inherit: true,
  339. num: 1015,
  340. },
  341. "darkresolve": {
  342. num: 1121,
  343. accuracy: 100,
  344. basePower: 120,
  345. category: "Special",
  346. desc: "Causes the user to become poisoned.",
  347. shortDesc: "Poisons the user.",
  348. id: "darkresolve",
  349. name: "Dark Resolve",
  350. pp: 5,
  351. priority: 0,
  352. flags: {protect: 1, mirror: 1},
  353. self: {
  354. status: 'psn',
  355. },
  356. secondary: false,
  357. target: "normal",
  358. type: "Dark",
  359. },
  360. "darkroar": {
  361. num: 1123,
  362. accuracy: 100,
  363. basePower: 40,
  364. category: "Special",
  365. desc: "No additional effect.",
  366. shortDesc: "Usually goes first.",
  367. id: "darkroar",
  368. name: "Dark Roar",
  369. pp: 30,
  370. priority: 1,
  371. flags: {protect: 1, mirror: 1},
  372. secondary: false,
  373. target: "normal",
  374. type: "Dark",
  375. },
  376. darkvoid: {
  377. inherit: true,
  378. num: 1065,
  379. },
  380. "dazzlepowder": {
  381. num: 1091,
  382. accuracy: 75,
  383. basePower: 0,
  384. category: "Status",
  385. desc: "Confuses the target.",
  386. shortDesc: "Confuses the target.",
  387. id: "dazzlepowder",
  388. name: "Dazzle Powder",
  389. pp: 20,
  390. priority: 0,
  391. flags: {protect: 1, reflectable: 1, mirror: 1},
  392. volatileStatus: 'confusion',
  393. secondary: false,
  394. target: "normal",
  395. type: "Grass",
  396. },
  397. "deepyawn": {
  398. num: 1076,
  399. accuracy: 100,
  400. basePower: 0,
  401. category: "Status",
  402. desc: "Causes the target to fall asleep.",
  403. shortDesc: "Puts the target to sleep.",
  404. id: "deepyawn",
  405. name: "Deep Yawn",
  406. pp: 15,
  407. priority: 0,
  408. flags: {protect: 1, reflectable: 1, mirror: 1},
  409. status: 'slp',
  410. secondary: false,
  411. target: "normal",
  412. type: "Normal",
  413. },
  414. defendorder: {
  415. inherit: true,
  416. num: 1059,
  417. },
  418. defog: {
  419. inherit: true,
  420. num: 1130,
  421. desc: "Lowers the target's evasiveness by 1 stage.",
  422. shortDesc: "Lowers the target's evasiveness by 1.",
  423. onHit: function (target, source, move) {},
  424. boosts: {
  425. evasion: -1,
  426. },
  427. },
  428. "deluge": {
  429. num: 1080,
  430. accuracy: 90,
  431. basePower: 140,
  432. category: "Special",
  433. desc: "Lowers the user's Special Attack by 2 stages.",
  434. shortDesc: "Lowers the user's Sp. Atk by 2.",
  435. id: "deluge",
  436. name: "Deluge",
  437. pp: 5,
  438. priority: 0,
  439. flags: {protect: 1, mirror: 1},
  440. self: {
  441. boosts: {
  442. spa: -2,
  443. },
  444. },
  445. target: "normal",
  446. type: "Water",
  447. },
  448. detect: {
  449. inherit: true,
  450. priority: 4,
  451. },
  452. "diamondblast": {
  453. num: 1114,
  454. accuracy: 100,
  455. basePower: 100,
  456. category: "Special",
  457. desc: "Has a 20% chance to lower the user's Special Defense by 1 stage.",
  458. shortDesc: "20% chance to lower the user's Sp. Def by 1.",
  459. id: "diamondblast",
  460. name: "Diamond Blast",
  461. pp: 10,
  462. priority: 0,
  463. flags: {protect: 1, mirror: 1},
  464. secondary: {
  465. chance: 20,
  466. self: {
  467. boosts: {
  468. spd: -1,
  469. },
  470. },
  471. },
  472. target: "normal",
  473. type: "Rock",
  474. },
  475. dig: {
  476. inherit: true,
  477. basePower: 80,
  478. },
  479. disable: {
  480. inherit: true,
  481. accuracy: 100,
  482. },
  483. discharge: {
  484. inherit: true,
  485. num: 1046,
  486. },
  487. dive: {
  488. inherit: true,
  489. basePower: 80,
  490. },
  491. doomdesire: {
  492. inherit: true,
  493. accuracy: 100,
  494. basePower: 140,
  495. },
  496. doublehit: {
  497. inherit: true,
  498. num: 1061,
  499. },
  500. "doubleshot": {
  501. num: 1097,
  502. accuracy: 100,
  503. basePower: 35,
  504. category: "Special",
  505. desc: "Hits twice. If the first hit breaks the target's substitute, it will take damage for the second hit. Has a 20% chance to raise the user's accuracy by 1 stage for each hit.",
  506. shortDesc: "Hits twice. 20% chance to raise user's accuracy by 1 for each hit.",
  507. id: "doubleshot",
  508. name: "Double Shot",
  509. pp: 30,
  510. priority: 0,
  511. flags: {protect: 1, mirror: 1},
  512. multihit: 2,
  513. // This may not work - testing required
  514. secondary: {
  515. chance: 20,
  516. self: {
  517. boosts: {
  518. accuracy: 1,
  519. },
  520. },
  521. },
  522. target: "normal",
  523. type: "Fighting",
  524. },
  525. "doublespin": {
  526. num: 1073,
  527. accuracy: 90,
  528. basePower: 35,
  529. category: "Physical",
  530. desc: "Hits twice. If the first hit breaks the target's substitute, it will take damage for the second hit. Has a 10% chance to raise the user's Attack by 1 stage for each hit.",
  531. shortDesc: "Hits twice. 10% chance to raise user's Atk by 1 for each hit.",
  532. id: "doublespin",
  533. name: "Double Spin",
  534. pp: 15,
  535. priority: 0,
  536. flags: {contact: 1, protect: 1, mirror: 1},
  537. multihit: 2,
  538. // This may not work - testing required
  539. secondary: {
  540. chance: 10,
  541. self: {
  542. boosts: {
  543. atk: 1,
  544. },
  545. },
  546. },
  547. target: "normal",
  548. type: "Normal",
  549. },
  550. dracometeor: {
  551. inherit: true,
  552. num: 1045,
  553. },
  554. "dragonbeat": {
  555. num: 1119,
  556. accuracy: 90,
  557. basePower: 120,
  558. category: "Special",
  559. desc: "Has a 40% chance to raise the target's Attack by 2 stages.",
  560. shortDesc: "40% chance to raise the target's Attack by 2.",
  561. id: "dragonbeat",
  562. name: "Dragon Beat",
  563. pp: 15,
  564. priority: 0,
  565. flags: {protect: 1, mirror: 1, sound: 1},
  566. secondary: {
  567. chance: 40,
  568. boosts: {
  569. atk: 2,
  570. },
  571. },
  572. target: "normal",
  573. type: "Dragon",
  574. },
  575. dragonpulse: {
  576. inherit: true,
  577. num: 1022,
  578. },
  579. dragonrush: {
  580. inherit: true,
  581. num: 1023,
  582. },
  583. drainpunch: {
  584. inherit: true,
  585. num: 1025,
  586. },
  587. drillrun: {
  588. inherit: true,
  589. num: 1147,
  590. },
  591. dualchop: {
  592. inherit: true,
  593. num: 1142,
  594. },
  595. earthpower: {
  596. inherit: true,
  597. num: 1030,
  598. },
  599. electroweb: {
  600. inherit: true,
  601. num: 1135,
  602. },
  603. "energize": {
  604. num: 1086,
  605. accuracy: 0,
  606. basePower: 0,
  607. category: "Status",
  608. desc: "Raises the user's Attack and Special Attack by 1 stage. If the weather is Rain Dance, raises the user's Attack and Special Attack by 2 stages.",
  609. shortDesc: "Raises user's Attack and Sp. Atk by 1; 2 in Rain.",
  610. id: "energize",
  611. name: "Energize",
  612. pp: 40,
  613. priority: 0,
  614. flags: {snatch: 1},
  615. onModifyMove: function (move) {
  616. if (this.isWeather(['raindance'])) move.boosts = {atk: 2, spa: 2};
  617. },
  618. boosts: {
  619. atk: 1,
  620. spa: 1,
  621. },
  622. secondary: false,
  623. target: "self",
  624. type: "Electric",
  625. },
  626. energyball: {
  627. inherit: true,
  628. num: 1028,
  629. },
  630. extremespeed: {
  631. inherit: true,
  632. priority: 2,
  633. },
  634. fakeout: {
  635. inherit: true,
  636. priority: 3,
  637. flags: {contact: 1, protect: 1, mirror: 1},
  638. },
  639. feintattack: {
  640. inherit: true,
  641. flags: {contact: 1, protect: 1, mirror: 1},
  642. },
  643. firefang: {
  644. inherit: true,
  645. num: 1070,
  646. },
  647. firespin: {
  648. inherit: true,
  649. accuracy: 85,
  650. basePower: 35,
  651. },
  652. flareblitz: {
  653. inherit: true,
  654. num: 1010,
  655. desc: "If the target lost HP, the user takes recoil damage equal to 33% the HP lost by the target, rounded half up, but not less than 1 HP.",
  656. shortDesc: "Has 33% recoil. Thaws user.",
  657. secondary: {},
  658. },
  659. flash: {
  660. inherit: true,
  661. accuracy: 100,
  662. },
  663. flashcannon: {
  664. inherit: true,
  665. num: 1043,
  666. },
  667. fly: {
  668. inherit: true,
  669. basePower: 90,
  670. },
  671. focusblast: {
  672. inherit: true,
  673. num: 1027,
  674. },
  675. forcepalm: {
  676. inherit: true,
  677. num: 1011,
  678. },
  679. "frostbite": {
  680. num: 1094,
  681. accuracy: 95,
  682. basePower: 80,
  683. category: "Special",
  684. desc: "Has a 40% chance to raise the user's Special Attack by 1 stage.",
  685. shortDesc: "40% chance to raise the user's Sp. Atk by 1 for each hit.",
  686. id: "frostbite",
  687. name: "Frostbite",
  688. pp: 15,
  689. priority: 0,
  690. flags: {protect: 1, mirror: 1},
  691. secondary: {
  692. chance: 40,
  693. self: {
  694. boosts: {
  695. spa: 1,
  696. },
  697. },
  698. },
  699. target: "allAdjacentFoes",
  700. type: "Ice",
  701. },
  702. furycutter: {
  703. inherit: true,
  704. basePower: 20,
  705. },
  706. futuresight: {
  707. inherit: true,
  708. accuracy: 100,
  709. basePower: 100,
  710. pp: 10,
  711. },
  712. geargrind: {
  713. inherit: true,
  714. num: 1137,
  715. },
  716. "geoimpact": {
  717. num: 1127,
  718. accuracy: 100,
  719. basePower: 120,
  720. category: "Special",
  721. desc: "Has a 60% chance to raise the target's Special Attack by 2 stages.",
  722. shortDesc: "60% chance to raise the target's Sp. Atk by 2.",
  723. id: "geoimpact",
  724. name: "Geo Impact",
  725. pp: 10,
  726. priority: 0,
  727. flags: {protect: 1, mirror: 1},
  728. secondary: {
  729. chance: 60,
  730. boosts: {
  731. spa: 2,
  732. },
  733. },
  734. target: "normal",
  735. type: "Steel",
  736. },
  737. gigadrain: {
  738. inherit: true,
  739. basePower: 75,
  740. pp: 10,
  741. },
  742. gigaimpact: {
  743. inherit: true,
  744. num: 1032,
  745. },
  746. "gigaspark": {
  747. num: 1082,
  748. accuracy: 80,
  749. basePower: 120,
  750. category: "Physical",
  751. desc: "Has a 10% chance to lower the target's Defense by 2 stages.",
  752. shortDesc: "10% chance to lower the target's Defense by 2.",
  753. id: "gigaspark",
  754. name: "Giga Spark",
  755. pp: 5,
  756. priority: 0,
  757. flags: {contact: 1, protect: 1, mirror: 1},
  758. secondary: {
  759. chance: 10,
  760. boosts: {
  761. def: -2,
  762. },
  763. },
  764. target: "normal",
  765. type: "Electric",
  766. },
  767. glare: {
  768. inherit: true,
  769. accuracy: 90,
  770. ignoreImmunity: true,
  771. },
  772. "glide": {
  773. num: 1103,
  774. accuracy: 100,
  775. basePower: 50,
  776. category: "Physical",
  777. desc: "Has a 50% chance to raise the user's accuracy by 1 stage.",
  778. shortDesc: "50% chance to raise the user's accuracy by 1.",
  779. id: "glide",
  780. name: "Glide",
  781. pp: 30,
  782. priority: 0,
  783. flags: {contact: 1, protect: 1, mirror: 1},
  784. secondary: {
  785. chance: 50,
  786. self: {
  787. boosts: {
  788. accuracy: 1,
  789. },
  790. },
  791. },
  792. target: "normal",
  793. type: "Flying",
  794. },
  795. "grandboulder": {
  796. num: 1001,
  797. accuracy: 75,
  798. basePower: 120,
  799. category: "Physical",
  800. desc: "Has a 10% chance to flinch the target.",
  801. shortDesc: "10% chance to flinch the target.",
  802. id: "grandboulder",
  803. name: "Grand Boulder",
  804. pp: 5,
  805. priority: 0,
  806. flags: {contact: 1, protect: 1, mirror: 1},
  807. secondary: {
  808. chance: 10,
  809. volatileStatus: 'flinch',
  810. },
  811. target: "normal",
  812. type: "Rock",
  813. },
  814. grassknot: {
  815. inherit: true,
  816. num: 1054,
  817. },
  818. "gravitywave": {
  819. num: 1110,
  820. accuracy: 100,
  821. basePower: 0,
  822. basePowerCallback: function (pokemon, target) {
  823. let targetWeight = target.getWeight();
  824. if (targetWeight >= 200) {
  825. return 120;
  826. }
  827. if (targetWeight >= 100) {
  828. return 100;
  829. }
  830. if (targetWeight >= 50) {
  831. return 80;
  832. }
  833. if (targetWeight >= 25) {
  834. return 60;
  835. }
  836. if (targetWeight >= 10) {
  837. return 40;
  838. }
  839. return 20;
  840. },
  841. category: "Special",
  842. desc: "Deals damage to the target based on its weight. Power is 20 if less than 10kg, 40 if less than 25kg, 60 if less than 50kg, 80 if less than 100kg, 100 if less than 200kg, and 120 if greater than or equal to 200kg.",
  843. shortDesc: "More power the heavier the target.",
  844. id: "gravitywave",
  845. name: "Gravity Wave",
  846. pp: 20,
  847. priority: 0,
  848. flags: {protect: 1, mirror: 1},
  849. secondary: false,
  850. target: "normal",
  851. type: "Psychic",
  852. },
  853. growth: {
  854. inherit: true,
  855. onModifyMove: function (move) {
  856. if (this.isWeather(['sunnyday', 'desolateland'])) move.boosts = {atk: 2, spa: 2};
  857. },
  858. boosts: {
  859. atk: 1,
  860. spa: 1,
  861. },
  862. },
  863. "guardianleaf": {
  864. num: 1088,
  865. accuracy: 95,
  866. basePower: 75,
  867. category: "Physical",
  868. desc: "Has a 20% chance to raise the user's Defense by 1 stage.",
  869. shortDesc: "20% chance to raise the user's Defense by 1.",
  870. id: "guardianleaf",
  871. name: "Guardian Leaf",
  872. pp: 20,
  873. priority: 0,
  874. flags: {contact: 1, protect: 1, mirror: 1},
  875. secondary: {
  876. chance: 20,
  877. self: {
  878. boosts: {
  879. def: 1,
  880. },
  881. },
  882. },
  883. target: "normal",
  884. type: "Grass",
  885. },
  886. gunkshot: {
  887. inherit: true,
  888. num: 1050,
  889. },
  890. hammerarm: {
  891. inherit: true,
  892. num: 1008,
  893. },
  894. healorder: {
  895. inherit: true,
  896. num: 1060,
  897. },
  898. heartstamp: {
  899. inherit: true,
  900. num: 1148,
  901. },
  902. hiddenpower: {
  903. inherit: true,
  904. basePower: 0,
  905. basePowerCallback: function (pokemon) {
  906. return pokemon.hpPower || 70;
  907. },
  908. category: "Special",
  909. onModifyMove: function (move, pokemon) {
  910. move.type = pokemon.hpType || 'Dark';
  911. },
  912. },
  913. highjumpkick: {
  914. inherit: true,
  915. basePower: 130,
  916. pp: 10,
  917. },
  918. honeclaws: {
  919. inherit: true,
  920. num: 1144,
  921. },
  922. "hypnopulse": {
  923. num: 1109,
  924. accuracy: 90,
  925. basePower: 55,
  926. category: "Special",
  927. desc: "Has a 30% chance to cause the target to fall asleep.",
  928. shortDesc: "30% chance to cause the target to sleep.",
  929. id: "hypnopulse",
  930. name: "Hypnopulse",
  931. pp: 25,
  932. priority: 0,
  933. flags: {protect: 1, mirror: 1},
  934. secondary: {
  935. chance: 30,
  936. status: 'slp',
  937. },
  938. target: "normal",
  939. type: "Psychic",
  940. },
  941. "iceboltwave": {
  942. num: 1000,
  943. accuracy: 80,
  944. basePower: 120,
  945. category: "Special",
  946. desc: "Has a 30% chance to either burn, freeze, or paralyze the target.",
  947. shortDesc: "30% chance to paralyze or burn or freeze target.",
  948. id: "iceboltwave",
  949. name: "Icebolt Wave",
  950. pp: 5,
  951. priority: 0,
  952. flags: {protect: 1, mirror: 1},
  953. secondary: {
  954. chance: 30,
  955. onHit: function (target, source) {
  956. let result = this.random(3);
  957. if (result === 0) {
  958. target.trySetStatus('brn', source);
  959. } else if (result === 1) {
  960. target.trySetStatus('par', source);
  961. } else {
  962. target.trySetStatus('frz', source);
  963. }
  964. },
  965. },
  966. target: "normal",
  967. type: "Dragon",
  968. },
  969. icefang: {
  970. inherit: true,
  971. num: 1069,
  972. },
  973. iceshard: {
  974. inherit: true,
  975. num: 1036,
  976. },
  977. iciclecrash: {
  978. inherit: true,
  979. num: 1145,
  980. },
  981. "iciclepunch": {
  982. num: 1093,
  983. accuracy: 90,
  984. basePower: 100,
  985. category: "Physical",
  986. desc: "Has a 20% chance to lower the target's evasiveness by 1 stage.",
  987. shortDesc: "20% chance to lower the target's evasiveness by 1.",
  988. id: "iciclepunch",
  989. name: "Icicle Punch",
  990. pp: 10,
  991. priority: 0,
  992. flags: {contact: 1, protect: 1, mirror: 1},
  993. secondary: {
  994. chance: 20,
  995. boosts: {
  996. evasion: -1,
  997. },
  998. },
  999. target: "normal",
  1000. type: "Ice",
  1001. },
  1002. iciclespear: {
  1003. inherit: true,
  1004. basePower: 25,
  1005. },
  1006. "icykiss": {
  1007. num: 1095,
  1008. accuracy: 95,
  1009. basePower: 60,
  1010. category: "Physical",
  1011. desc: "Has a 20% chance to lower the target's Defense by 1 stage and a 20% chance to freeze it.",
  1012. shortDesc: "20% chance to lower Def by 1. 20% chance to freeze.",
  1013. id: "icykiss",
  1014. name: "Icy Kiss",
  1015. pp: 25,
  1016. priority: 0,
  1017. flags: {contact: 1, protect: 1, mirror: 1},
  1018. secondaries: [
  1019. {
  1020. chance: 20,
  1021. boosts: {
  1022. def: -1,
  1023. },
  1024. }, {
  1025. chance: 20,
  1026. status: 'frz',
  1027. },
  1028. ],
  1029. target: "normal",
  1030. type: "Ice",
  1031. },
  1032. inferno: {
  1033. inherit: true,
  1034. num: 1153,
  1035. },
  1036. ironhead: {
  1037. inherit: true,
  1038. num: 1051,
  1039. },
  1040. jumpkick: {
  1041. inherit: true,
  1042. basePower: 100,
  1043. pp: 10,
  1044. },
  1045. "latentpower": {
  1046. num: 1108,
  1047. accuracy: 100,
  1048. basePower: 130,
  1049. category: "Special",
  1050. desc: "Raises the target's evasiveness by 2 stages.",
  1051. shortDesc: "Raises the target's evasiveness by 2 stages.",
  1052. id: "latentpower",
  1053. name: "Latent Power",
  1054. pp: 10,
  1055. priority: 0,
  1056. flags: {protect: 1, mirror: 1},
  1057. boosts: {
  1058. evasion: 2,
  1059. },
  1060. target: "normal",
  1061. type: "Psychic",
  1062. },
  1063. lavaplume: {
  1064. inherit: true,
  1065. num: 1131,
  1066. },
  1067. leafblade: {
  1068. inherit: true,
  1069. basePower: 90,
  1070. },
  1071. leafstorm: {
  1072. inherit: true,
  1073. num: 1047,
  1074. },
  1075. leaftornado: {
  1076. inherit: true,
  1077. num: 1139,
  1078. },
  1079. "lifedrain": {
  1080. num: 1118,
  1081. accuracy: 100,
  1082. basePower: 60,
  1083. category: "Special",
  1084. desc: "Leaves the target with at least 1 HP.",
  1085. shortDesc: "Always leaves the target with at least 1 HP.",
  1086. id: "lifedrain",
  1087. name: "Life Drain",
  1088. pp: 40,
  1089. priority: 0,
  1090. flags: {mirror: 1},
  1091. noFaint: true,
  1092. secondary: false,
  1093. target: "normal",
  1094. type: "Ghost",
  1095. },
  1096. "machbolt": {
  1097. num: 1085,
  1098. accuracy: 100,
  1099. basePower: 40,
  1100. category: "Special",
  1101. desc: "No additional effect.",
  1102. shortDesc: "Usually goes first.",
  1103. id: "machbolt",
  1104. name: "Mach Bolt",
  1105. pp: 30,
  1106. priority: 1,
  1107. flags: {protect: 1, mirror: 1},
  1108. secondary: false,
  1109. target: "normal",
  1110. type: "Electric",
  1111. },
  1112. "magmaring": {
  1113. num: 1078,
  1114. accuracy: 0,
  1115. basePower: 55,
  1116. category: "Special",
  1117. desc: "This move does not check accuracy. Prevents the target from switching out. The target can still switch out if it is holding Shed Shell or uses Baton Pass, Parting Shot, U-turn, or Volt Switch. If the target leaves the field using Baton Pass, the replacement will remain trapped. The effect ends if the user leaves the field.",
  1118. shortDesc: "This move does not check accuracy. The target cannot switch out.",
  1119. id: "magmaring",
  1120. name: "Magma Ring",
  1121. pp: 20,
  1122. priority: -1,
  1123. flags: {protect: 1, mirror: 1},
  1124. onHit: function (target, source, move) {
  1125. if (source.isActive) target.addVolatile('trapped', source, move, 'trapper');
  1126. },
  1127. secondary: false,
  1128. target: "normal",
  1129. type: "Fire",
  1130. },
  1131. "magmarush": {
  1132. num: 1064,
  1133. accuracy: 100,
  1134. basePower: 130,
  1135. category: "Physical",
  1136. desc: "Has a 50% chance to raise the user's Speed by 2 stages.",
  1137. shortDesc: "50% chance to raise the user's Speed by 2.",
  1138. id: "magmarush",
  1139. name: "Magma Rush",
  1140. pp: 10,
  1141. priority: 0,
  1142. flags: {contact: 1, protect: 1, mirror: 1},
  1143. secondary: {
  1144. chance: 50,
  1145. self: {
  1146. boosts: {
  1147. spe: 2,
  1148. },
  1149. },
  1150. },
  1151. target: "normal",
  1152. type: "Fire",
  1153. },
  1154. magnetbomb: {
  1155. inherit: true,
  1156. num: 1052,
  1157. },
  1158. "magnetforce": {
  1159. num: 1128,
  1160. accuracy: 90,
  1161. basePower: 100,
  1162. category: "Special",
  1163. desc: "Has a 10% chance to lower the target's Attack by 1 stage and a 10% chance to lower its Special Attack by 1 stage",
  1164. shortDesc: "10% chance to lower Attack and/or Sp. Atk by 1.",
  1165. id: "magnetforce",
  1166. name: "Magnet Force",
  1167. pp: 15,
  1168. priority: 0,
  1169. flags: {protect: 1, mirror: 1},
  1170. secondaries: [
  1171. {
  1172. chance: 10,
  1173. boosts: {
  1174. atk: -1,
  1175. },
  1176. }, {
  1177. chance: 10,
  1178. boosts: {
  1179. spa: -1,
  1180. },
  1181. },
  1182. ],
  1183. target: "normal",
  1184. type: "Steel",
  1185. },
  1186. "magnumpunch": {
  1187. num: 1096,
  1188. accuracy: 100,
  1189. basePower: 95,
  1190. category: "Special",
  1191. desc: "Has a 10% chance to lower the target's Defense by 1 stage and a 10% chance to flinch it.",
  1192. shortDesc: "10% chance to lower Def by 1. 10% chance to flinch.",
  1193. id: "magnumpunch",
  1194. name: "Magnum Punch",
  1195. pp: 15,
  1196. priority: 0,
  1197. flags: {protect: 1, mirror: 1},
  1198. secondaries: [
  1199. {
  1200. chance: 10,
  1201. boosts: {
  1202. def: -1,
  1203. },
  1204. }, {
  1205. chance: 10,
  1206. volatileStatus: 'flinch',
  1207. },
  1208. ],
  1209. target: "normal",
  1210. type: "Fighting",
  1211. },
  1212. megadrain: {
  1213. inherit: true,
  1214. pp: 15,
  1215. },
  1216. "megashock": {
  1217. num: 1084,
  1218. accuracy: 100,
  1219. basePower: 70,
  1220. category: "Special",
  1221. desc: "Has a 20% chance to lower the target's Defense by 2 stages.",
  1222. shortDesc: "20% chance to lower the target's Defense by 2.",
  1223. id: "megashock",
  1224. name: "Megashock",
  1225. pp: 20,
  1226. priority: 0,
  1227. flags: {protect: 1, mirror: 1},
  1228. secondary: {
  1229. chance: 20,
  1230. boosts: {
  1231. def: -2,
  1232. },
  1233. },
  1234. target: "normal",
  1235. type: "Electric",
  1236. },
  1237. "metalblast": {
  1238. num: 1007,
  1239. accuracy: 80,
  1240. basePower: 120,
  1241. category: "Physical",
  1242. desc: "No additional effect.",
  1243. shortDesc: "No additional effect.",
  1244. id: "metalblast",
  1245. name: "Metal Blast",
  1246. pp: 10,
  1247. priority: 0,
  1248. flags: {protect: 1, mirror: 1},
  1249. secondary: false,
  1250. target: "normal",
  1251. type: "Steel",
  1252. },
  1253. "metalpincer": {
  1254. num: 1126,
  1255. accuracy: 100,
  1256. basePower: 30,
  1257. category: "Physical",
  1258. desc: "Hits twice. If one of the hits breaks the target's substitute, it will take damage for the remaining hits.",
  1259. shortDesc: "Hits 3 times in one turn.",
  1260. id: "metalpincer",
  1261. name: "Metal Pincer",
  1262. pp: 40,
  1263. priority: 0,
  1264. flags: {contact: 1, protect: 1, mirror: 1},
  1265. multihit: 3,
  1266. secondary: false,
  1267. target: "normal",
  1268. type: "Steel",
  1269. },
  1270. metronome: {
  1271. inherit: true,
  1272. onHit: function (target) {
  1273. let moves = [];
  1274. for (let i in exports.BattleMovedex) {
  1275. let move = exports.BattleMovedex[i];
  1276. if (i !== move.id) continue;
  1277. if (move.isNonstandard) continue;
  1278. let noMetronome = {
  1279. assist:1, counter:1, covet:1, destinybond:1, detect:1, endure:1, focuspunch:1, followme:1, helpinghand:1, metronome:1, mimic:1, mirrorcoat:1, mirrormove:1, protect:1, sketch:1, sleeptalk:1, snatch:1, struggle:1, thief:1, trick:1,
  1280. };
  1281. if (!noMetronome[move.id] && (move.num < 355 || move.num >= 1000)) {
  1282. moves.push(move.id);
  1283. }
  1284. }
  1285. let randomMove = '';
  1286. if (moves.length) randomMove = moves[this.random(moves.length)];
  1287. if (!randomMove) return false;
  1288. this.useMove(randomMove, target);
  1289. },
  1290. },
  1291. minimize: {
  1292. inherit: true,
  1293. boosts: {
  1294. evasion: 2,
  1295. },
  1296. },
  1297. mirrorshot: {
  1298. inherit: true,
  1299. num: 1042,
  1300. },
  1301. mudbomb: {
  1302. inherit: true,
  1303. num: 1039,
  1304. },
  1305. nastyplot: {
  1306. inherit: true,
  1307. num: 1033,
  1308. },
  1309. nightslash: {
  1310. inherit: true,
  1311. num: 1016,
  1312. },
  1313. "novainferno": {
  1314. num: 1132,
  1315. accuracy: 95,
  1316. basePower: 180,
  1317. category: "Special",
  1318. desc: "Lowers the user's Speed, Defense, and Special Defense by 1 stage.",
  1319. shortDesc: "Lowers the user's Defense, Sp. Def, Speed by 1.",
  1320. id: "novainferno",
  1321. name: "Nova Inferno",
  1322. pp: 5,
  1323. priority: 0,
  1324. flags: {mirror: 1},
  1325. self: {
  1326. boosts: {
  1327. spe: -1,
  1328. def: -1,
  1329. spd: -1,
  1330. },
  1331. },
  1332. secondary: false,
  1333. target: "normal",
  1334. type: "Dragon",
  1335. },
  1336. ominouswind: {
  1337. inherit: true,
  1338. num: 1066,
  1339. },
  1340. outrage: {
  1341. inherit: true,
  1342. basePower: 120,
  1343. pp: 10,
  1344. },
  1345. overheat: {
  1346. inherit: true,
  1347. flags: {protect: 1, mirror: 1},
  1348. },
  1349. "paleobreath": {
  1350. num: 1115,
  1351. accuracy: 100,
  1352. basePower: 55,
  1353. category: "Special",
  1354. desc: "Has a 60% chance to raise the user's Special Attack by 1 stage.",
  1355. shortDesc: "60% chance to raise the user's Sp. Atk by 1 for each hit.",
  1356. id: "paleobreath",
  1357. name: "Paleobreath",
  1358. pp: 25,
  1359. priority: 0,
  1360. flags: {protect: 1, mirror: 1},
  1361. secondary: {
  1362. chance: 60,
  1363. self: {
  1364. boosts: {
  1365. spa: 1,
  1366. },
  1367. },
  1368. },
  1369. target: "allAdjacentFoes",
  1370. type: "Rock",
  1371. },
  1372. petaldance: {
  1373. inherit: true,
  1374. basePower: 120,
  1375. pp: 10,
  1376. },
  1377. poisongas: {
  1378. inherit: true,
  1379. accuracy: 80,
  1380. target: "allAdjacentFoes",
  1381. },
  1382. poisonjab: {
  1383. inherit: true,
  1384. num: 1014,
  1385. },
  1386. "poisonleaf": {
  1387. num: 1089,
  1388. accuracy: 100,
  1389. basePower: 70,
  1390. category: "Physical",
  1391. desc: "Has a 40% chance to poison the target.",
  1392. shortDesc: "40% chance to poison the foe(s).",
  1393. id: "poisonleaf",
  1394. name: "Poison Leaf",
  1395. pp: 20,
  1396. priority: 0,
  1397. flags: {contact: 1, protect: 1, mirror: 1},
  1398. secondary: {
  1399. chance: 40,
  1400. status: 'psn',
  1401. },
  1402. target: "allAdjacentFoes",
  1403. type: "Poison",
  1404. },
  1405. "possess": {
  1406. num: 1005,
  1407. accuracy: 70,
  1408. basePower: 120,
  1409. category: "Special",
  1410. desc: "Has a 10% chance to confuse the target.",
  1411. shortDesc: "10% chance to confuse the target.",
  1412. id: "possess",
  1413. name: "Possess",
  1414. pp: 10,
  1415. priority: 0,
  1416. flags: {protect: 1, mirror: 1},
  1417. secondary: {
  1418. chance: 10,
  1419. volatileStatus: 'confusion',
  1420. },
  1421. target: "normal",
  1422. type: "Ghost",
  1423. },
  1424. powergem: {
  1425. inherit: true,
  1426. num: 1024,
  1427. },
  1428. powerwhip: {
  1429. inherit: true,
  1430. num: 1048,
  1431. },
  1432. protect: {
  1433. inherit: true,
  1434. priority: 4,
  1435. },
  1436. "psyburn": {
  1437. num: 1107,
  1438. accuracy: 70,
  1439. basePower: 120,
  1440. category: "Special",
  1441. desc: "Has a 10% chance to raise the user's Special Defense by 1 stage.",
  1442. shortDesc: "10% chance to raise the user's Sp. Def by 1.",
  1443. id: "psyburn",
  1444. name: "Psyburn",
  1445. pp: 5,
  1446. priority: 0,
  1447. flags: {protect: 1, mirror: 1},
  1448. secondary: {
  1449. chance: 10,
  1450. self: {
  1451. boosts: {
  1452. spd: 1,
  1453. },
  1454. },
  1455. },
  1456. target: "normal",
  1457. type: "Psychic",
  1458. },
  1459. psychocut: {
  1460. inherit: true,
  1461. num: 1040,
  1462. },
  1463. "psychopunch": {
  1464. num: 1106,
  1465. accuracy: 100,
  1466. basePower: 75,
  1467. category: "Physical",
  1468. desc: "Has a 10% chance to confuse the target.",
  1469. shortDesc: "10% chance to confuse the target.",
  1470. id: "psychopunch",
  1471. name: "Psycho Punch",
  1472. pp: 20,
  1473. priority: 0,
  1474. flags: {contact: 1, protect: 1, mirror: 1},
  1475. secondary: {
  1476. chance: 10,
  1477. volatileStatus: 'confuse',
  1478. },
  1479. target: "normal",
  1480. type: "Psychic",
  1481. },
  1482. "psygatling": {
  1483. num: 1105,
  1484. accuracy: 90,
  1485. basePower: 120,
  1486. category: "Physical",
  1487. desc: "Has a 10% chance to burn the user.",
  1488. shortDesc: "10% chance to burn the user.",
  1489. id: "psygatling",
  1490. name: "Psygatling",
  1491. pp: 5,
  1492. priority: 0,
  1493. flags: {contact: 1, protect: 1, mirror: 1},
  1494. secondary: {
  1495. chance: 10,
  1496. self: {
  1497. status: 'brn',
  1498. },
  1499. },
  1500. target: "normal",
  1501. type: "Psychic",
  1502. },
  1503. quiverdance: {
  1504. inherit: true,
  1505. num: 1143,
  1506. },
  1507. "ragingflame": {
  1508. num: 1077,
  1509. accuracy: 100,
  1510. basePower: 110,
  1511. category: "Physical",
  1512. desc: "Has a 10% chance to confuse the user.",
  1513. shortDesc: "10% chance to confuse the user.",
  1514. id: "ragingflame",
  1515. name: "Raging Flame",
  1516. pp: 10,
  1517. priority: 0,
  1518. flags: {protect: 1, mirror: 1},
  1519. secondary: {
  1520. chance: 10,
  1521. self: {
  1522. volatileStatus: 'confusion',
  1523. },
  1524. },
  1525. target: "normal",
  1526. type: "Fire",
  1527. },
  1528. "raid": {
  1529. num: 1133,
  1530. accuracy: 100,
  1531. basePower: 100,
  1532. category: "Physical",
  1533. desc: "Has a 20% chance to paralyze the target during Rain Dance, a 20% chance to burn the target during Sunny Day, a 20% chance to poison the target during Sandstorm, and a 20% chance to freeze the target during Hail.",
  1534. shortDesc: "20% chance to inflict a status depending on weather.",
  1535. id: "raid",
  1536. name: "Raid",
  1537. pp: 10,
  1538. priority: 0,
  1539. flags: {contact: 1, protect: 1, mirror: 1},
  1540. onModifyMove: function (move) {
  1541. switch (this.effectiveWeather()) {
  1542. case 'raindance':
  1543. move.secondary = {chance: 20, status: 'par'};
  1544. break;
  1545. case 'sunnyday':
  1546. move.secondary = {chance: 20, status: 'brn'};
  1547. break;
  1548. case 'sandstorm':
  1549. move.secondary = {chance: 20, status: 'psn'};
  1550. break;
  1551. case 'hail':
  1552. move.secondary = {chance: 20, status: 'frz'};
  1553. break;
  1554. }
  1555. },
  1556. secondary: false,
  1557. target: "normal",
  1558. type: "Bug",
  1559. },
  1560. "rampage": {
  1561. num: 1006,
  1562. accuracy: 85,
  1563. basePower: 120,
  1564. category: "Physical",
  1565. desc: "Has a 10% chance to lower the target's Defense by 1 stage.",
  1566. shortDesc: "10% chance to lower the target's Defense by 1.",
  1567. id: "rampage",
  1568. name: "Rampage",
  1569. pp: 5,
  1570. priority: 0,
  1571. flags: {contact: 1, protect: 1, mirror: 1},
  1572. secondary: {
  1573. chance: 10,
  1574. boosts: {
  1575. def: -1,
  1576. },
  1577. },
  1578. target: "normal",
  1579. type: "Dark",
  1580. },
  1581. "rapidgrowth": {
  1582. num: 1090,
  1583. accuracy: 85,
  1584. basePower: 100,
  1585. category: "Special",
  1586. desc: "Has a 50% chance to raise the user's Special Attack by 1 stage.",
  1587. shortDesc: "50% chance to raise the user's Sp. Atk by 1 for each hit.",
  1588. id: "rapidgrowth",
  1589. name: "Rapid Growth",
  1590. pp: 15,
  1591. priority: 0,
  1592. flags: {protect: 1, mirror: 1},
  1593. secondary: {
  1594. chance: 50,
  1595. self: {
  1596. boosts: {
  1597. spa: 1,
  1598. },
  1599. },
  1600. },
  1601. target: "allAdjacentFoes",
  1602. type: "Grass",
  1603. },
  1604. "razeearth": {
  1605. num: 1004,
  1606. accuracy: 100,
  1607. basePower: 120,
  1608. category: "Special",
  1609. desc: "If the target lost HP, the user takes recoil damage equal to 33% the HP lost by the target, rounded half up, but not less than 1 HP.",
  1610. shortDesc: "Has 33% recoil.",
  1611. id: "razeearth",
  1612. name: "Raze Earth",
  1613. pp: 15,
  1614. priority: 0,
  1615. flags: {contact: 1, protect: 1, mirror: 1},
  1616. recoil: [33, 100],
  1617. secondary: false,
  1618. target: "normal",
  1619. type: "Ground",
  1620. },
  1621. razorshell: {
  1622. inherit: true,
  1623. num: 1140,
  1624. },
  1625. roaroftime: {
  1626. inherit: true,
  1627. num: 1062,
  1628. },
  1629. recover: {
  1630. inherit: true,
  1631. pp: 10,
  1632. },
  1633. roar: {
  1634. inherit: true,
  1635. flags: {protect: 1, mirror: 1, sound: 1, authentic: 1},
  1636. },
  1637. rockblast: {
  1638. inherit: true,
  1639. accuracy: 90,
  1640. },
  1641. rockclimb: {
  1642. inherit: true,
  1643. num: 1044,
  1644. },
  1645. rockpolish: {
  1646. inherit: true,
  1647. num: 1013,
  1648. },
  1649. rocksmash: {
  1650. inherit: true,
  1651. basePower: 40,
  1652. },
  1653. "rocktumble": {
  1654. num: 1113,
  1655. accuracy: 85,
  1656. basePower: 60,
  1657. // Need testing on the exact BP
  1658. basePowerCallback: function (pokemon, target) {
  1659. let bp = 60;
  1660. let bpTable = [60, 120, 240, 480, 960];
  1661. if (pokemon.volatiles.rollout && pokemon.volatiles.rollout.hitCount) {
  1662. bp = (bpTable[pokemon.volatiles.rollout.hitCount] || 60);
  1663. }
  1664. pokemon.addVolatile('rollout');
  1665. if (pokemon.volatiles.defensecurl) {
  1666. bp *= 2;
  1667. }
  1668. this.debug("Rock Tumble bp: " + bp);
  1669. return bp;
  1670. },
  1671. category: "Physical",
  1672. desc: "If this move is successful, the user is locked into this move and cannot make another move until it misses, 5 turns have passed, or the attack cannot be used. Power doubles with each successful hit of this move and doubles again if Defense Curl was used previously by the user. If this move is called by Sleep Talk, the move is used for one turn.",
  1673. shortDesc: "Power doubles with each hit. Repeats for 5 turns.",
  1674. id: "rocktumble",
  1675. name: "Rock Tumble",
  1676. pp: 10,
  1677. priority: 0,
  1678. flags: {contact: 1, protect: 1, mirror: 1},
  1679. effect: {
  1680. duration: 2,
  1681. onLockMove: 'rollout',
  1682. onStart: function () {
  1683. this.effectData.hitCount = 1;
  1684. },
  1685. onRestart: function () {
  1686. this.effectData.hitCount++;
  1687. if (this.effectData.hitCount < 5) {
  1688. this.effectData.duration = 2;
  1689. }
  1690. },
  1691. onResidual: function (target) {
  1692. if (target.lastMove === 'struggle') {
  1693. // don't lock
  1694. delete target.volatiles['rollout'];
  1695. }
  1696. },
  1697. },
  1698. target: "normal",
  1699. type: "Rock",
  1700. },
  1701. rockwrecker: {
  1702. inherit: true,
  1703. num: 1049,
  1704. },
  1705. "rolleyes": {
  1706. num: 1075,
  1707. accuracy: 0,
  1708. basePower: 0,
  1709. category: "Status",
  1710. desc: "Lowers the user's accuracy by 1 stage. Raises the user's Speed by 1 stage. Raises the user's evasiveness by 2 stages.",
  1711. shortDesc: "Lowers accuracy by 1; raises Speed by 1; raises evasiveness by 2.",
  1712. id: "rolleyes",
  1713. name: "Roll Eyes",
  1714. pp: 20,
  1715. priority: 0,
  1716. flags: {snatch: 1},
  1717. boosts: {
  1718. accuracy: -1,
  1719. spe: +1,
  1720. evasion: +2,
  1721. },
  1722. target: "self",
  1723. type: "Normal",
  1724. },
  1725. roost: {
  1726. inherit: true,
  1727. num: 1129,
  1728. desc: "The user restores 1/2 of its maximum HP, rounded half up.",
  1729. shortDesc: "Heals the user by 50% of its max HP.",
  1730. self: {},
  1731. effect: {},
  1732. },
  1733. "sandblast": {
  1734. num: 1102,
  1735. accuracy: 85,
  1736. basePower: 100,
  1737. category: "Special",
  1738. desc: "Has a 30% chance to lower the target's accuracy by 1 stage.",
  1739. shortDesc: "30% chance to lower adjacent Pokemon accuracy by 1.",
  1740. id: "sandblast",
  1741. name: "Sandblast",
  1742. pp: 15,
  1743. priority: 0,
  1744. flags: {protect: 1, mirror: 1},
  1745. secondary: {
  1746. chance: 20,
  1747. boosts: {
  1748. accuracy: -1,
  1749. },
  1750. },
  1751. target: "allAdjacent",
  1752. type: "Ground",
  1753. },
  1754. sandtomb: {
  1755. inherit: true,
  1756. accuracy: 85,
  1757. basePower: 35,
  1758. },
  1759. scald: {
  1760. inherit: true,
  1761. num: 1156,
  1762. },
  1763. scaryface: {
  1764. inherit: true,
  1765. accuracy: 100,
  1766. },
  1767. seedbomb: {
  1768. inherit: true,
  1769. num: 1018,
  1770. },
  1771. "shadowclamp": {
  1772. num: 1116,
  1773. accuracy: 90,
  1774. basePower: 90,
  1775. category: "Physical",
  1776. desc: "Has a 30% chance to cause the target to fall asleep and a 30% chance to confuse it.",
  1777. shortDesc: "30% chance to sleep. 30% chance to confuse.",
  1778. id: "shadowclamp",
  1779. name: "Shadow Clamp",
  1780. pp: 20,
  1781. priority: 0,
  1782. secondaries: [
  1783. {
  1784. chance: 30,
  1785. status: 'slp',
  1786. }, {
  1787. chance: 30,
  1788. volatileStatus: 'confuse',
  1789. },
  1790. ],
  1791. target: "normal",
  1792. type: "Ghost",
  1793. },
  1794. shadowclaw: {
  1795. inherit: true,
  1796. num: 1037,
  1797. },
  1798. shadowsneak: {
  1799. inherit: true,
  1800. num: 1038,
  1801. },
  1802. "sharpshoot": {
  1803. num: 1155,
  1804. accuracy: 100,
  1805. basePower: 40,
  1806. // This might not actually work
  1807. onModifyDamage: function (damage, source, target, move) {
  1808. if (move.crit) {
  1809. this.debug('Sharpshoot boost');
  1810. return this.chainModify(1.5);
  1811. }
  1812. },
  1813. category: "Physical",
  1814. desc: "If this move strikes with a critical hit, the damage is multiplied by 1.5.",
  1815. shortDesc: "A critical hit does 1.5x more than normal.",
  1816. id: "sharpshoot",
  1817. name: "Sharpshoot",
  1818. pp: 20,
  1819. priority: 0,
  1820. flags: {contact:1, protect:1, mirror: 1},
  1821. secondary: false,
  1822. target: "normal",
  1823. type: "Dark",
  1824. },
  1825. shellsmash: {
  1826. inherit: true,
  1827. num: 1136,
  1828. },
  1829. shiftgear: {
  1830. inherit: true,
  1831. num: 1138,
  1832. },
  1833. "shinebomb": {
  1834. num: 1083,
  1835. accuracy: 100,
  1836. basePower: 65,
  1837. category: "Physical",
  1838. desc: "Has a 70% chance to lower the target's accuracy by 1 stage.",
  1839. shortDesc: "70% chance to lower the foe(s) accuracy by 1.",
  1840. id: "shinebomb",
  1841. name: "Shine Bomb",
  1842. pp: 30,
  1843. priority: 0,
  1844. flags: {contact: 1, protect: 1, mirror: 1},
  1845. secondary: {
  1846. chance: 70,
  1847. boosts: {
  1848. accuracy: -1,
  1849. },
  1850. },
  1851. target: "allAdjacentFoes",
  1852. type: "Electric",
  1853. },
  1854. sludgewave: {
  1855. inherit: true,
  1856. num: 1151,
  1857. },
  1858. "smogscreen": {
  1859. num: 1099,
  1860. accuracy: 95,
  1861. basePower: 55,
  1862. category: "Special",
  1863. desc: "Has a 30% chance to lower the target's accuracy by 1 stage and a 30% chance to poison it.",
  1864. shortDesc: "30% chance to lower accuracy by 1. 30% chance to poison.",
  1865. id: "smogscreen",
  1866. name: "Smogscreen",
  1867. pp: 25,
  1868. priority: 0,
  1869. flags: {protect: 1, mirror: 1},
  1870. secondaries: [
  1871. {
  1872. chance: 30,
  1873. boosts: {
  1874. accuracy: -1,
  1875. },
  1876. }, {
  1877. chance: 30,
  1878. status: 'psn',
  1879. },
  1880. ],
  1881. target: "normal",
  1882. type: "Poison",
  1883. },
  1884. "sonicsand": {
  1885. num: 1101,
  1886. accuracy: 100,
  1887. basePower: 80,
  1888. category: "Special",
  1889. desc: "Has a 20% chance to lower the target's Special Defense by 2 stages.",
  1890. shortDesc: "20% chance to lower the foe(s) Sp. Def by 2.",
  1891. id: "sonicsand",
  1892. name: "Sonic Sand",
  1893. pp: 20,
  1894. priority: 0,
  1895. flags: {protect: 1, mirror: 1},
  1896. secondary: {
  1897. chance: 20,
  1898. boosts: {
  1899. spd: -2,
  1900. },
  1901. },
  1902. target: "allAdjacentFoes",
  1903. type: "Ground",
  1904. },
  1905. "soulbreak": {
  1906. num: 1002,
  1907. accuracy: 100,
  1908. basePower: 50,
  1909. category: "Special",
  1910. desc: "Has a 30% chance to confuse the target.",
  1911. shortDesc: "30% chance to confuse the target.",
  1912. id: "soulbreak",
  1913. name: "Soul Break",
  1914. pp: 20,
  1915. priority: 0,
  1916. flags: {protect: 1, mirror: 1},
  1917. secondary: {
  1918. chance: 30,
  1919. volatileStatus: 'confusion',
  1920. },
  1921. target: "normal",
  1922. type: "Ghost",
  1923. },
  1924. spacialrend: {
  1925. inherit: true,
  1926. num: 1063,
  1927. },
  1928. "spintail": {
  1929. num: 1072,
  1930. accuracy: 100,
  1931. basePower: 80,
  1932. category: "Physical",
  1933. desc: "Has a 40% chance to raise the user's Speed by 1 stage.",
  1934. shortDesc: "40% chance to raise the user's Speed by 1.",
  1935. id: "spintail",
  1936. name: "Spin Tail",
  1937. pp: 20,
  1938. priority: 0,
  1939. flags: {contact: 1, protect: 1, mirror: 1},
  1940. secondary: {
  1941. chance: 40,
  1942. self: {
  1943. boosts: {
  1944. spe: 1,
  1945. },
  1946. },
  1947. },
  1948. target: "normal",
  1949. type: "Normal",
  1950. },
  1951. "stardust": {
  1952. num: 1003,
  1953. accuracy: 100,
  1954. basePower: 90,
  1955. category: "Special",
  1956. desc: "No additional effect.",
  1957. shortDesc: "No additional effect. Hits adjacent foes.",
  1958. id: "stardust",
  1959. name: "Stardust",
  1960. pp: 10,
  1961. priority: 0,
  1962. flags: {protect: 1, mirror: 1},
  1963. secondary: false,
  1964. target: "allAdjacentFoes",
  1965. type: "Steel",
  1966. },
  1967. "starfreeze": {
  1968. num: 1092,
  1969. accuracy: 70,
  1970. basePower: 120,
  1971. category: "Physical",
  1972. desc: "Has a 10% chance to paralyze the target.",
  1973. shortDesc: "10% chance to paralyze the target.",
  1974. id: "starfreeze",
  1975. name: "Starfreeze",
  1976. pp: 5,
  1977. priority: 0,
  1978. flags: {protect: 1, mirror: 1},
  1979. secondary: {
  1980. chance: 10,
  1981. status: 'par',
  1982. },
  1983. target: "normal",
  1984. type: "Ice",
  1985. },
  1986. steamroller: {
  1987. inherit: true,
  1988. num: 1149,
  1989. },
  1990. stockpile: {
  1991. inherit: true,
  1992. pp: 20,
  1993. },
  1994. stoneedge: {
  1995. inherit: true,
  1996. num: 1053,
  1997. },
  1998. struggle: {
  1999. inherit: true,
  2000. accuracy: true,
  2001. },
  2002. strugglebug: {
  2003. inherit: true,
  2004. num: 1152,
  2005. },
  2006. surf: {
  2007. inherit: true,
  2008. target: "allAdjacent",
  2009. },
  2010. switcheroo: {
  2011. inherit: true,
  2012. num: 1031,
  2013. },
  2014. tackle: {
  2015. inherit: true,
  2016. accuracy: 100,
  2017. basePower: 50,
  2018. },
  2019. thrash: {
  2020. inherit: true,
  2021. basePower: 120,
  2022. pp: 10,
  2023. },
  2024. thunderfang: {
  2025. inherit: true,
  2026. num: 1068,
  2027. },
  2028. "tonedeaf": {
  2029. num: 1074,
  2030. accuracy: 100,
  2031. basePower: 100,
  2032. category: "Special",
  2033. desc: "Deals damage to one adjacent foe at random. Has a 10% chance to lower the target's Special Defense by 1 stage and a 10% chance to confuse it.",
  2034. shortDesc: "10% chance to lower Sp. Def by 1. 10% chance to confuse.",
  2035. id: "tonedeaf",
  2036. name: "Tone-Deaf",
  2037. pp: 20,
  2038. priority: 0,
  2039. flags: {protect: 1, mirror: 1, sound: 1},
  2040. secondaries: [
  2041. {
  2042. chance: 10,
  2043. boosts: {
  2044. spd: -1,
  2045. },
  2046. }, {
  2047. chance: 10,
  2048. volatileStatus: 'confuse',
  2049. },
  2050. ],
  2051. target: "randomNormal",
  2052. type: "Normal",
  2053. },
  2054. toxic: {
  2055. inherit: true,
  2056. accuracy: 90,
  2057. },
  2058. "toxinspray": {
  2059. num: 1098,
  2060. accuracy: 70,
  2061. basePower: 120,
  2062. category: "Special",
  2063. desc: "Has a 20% chance to badly poison the target.",
  2064. shortDesc: "20% chance to badly poison the target.",
  2065. id: "toxinspray",
  2066. name: "Toxin Spray",
  2067. pp: 5,
  2068. priority: 0,
  2069. flags: {protect: 1, mirror: 1},
  2070. secondary: {
  2071. chance: 20,
  2072. status: 'tox',
  2073. },
  2074. target: "allAdjacentFoes",
  2075. type: "Poison",
  2076. },
  2077. "typhoon": {
  2078. num: 1104,
  2079. accuracy: 100,
  2080. basePower: 120,
  2081. category: "Special",
  2082. desc: "Has a 70% chance to raise the user's Defense by 2 stages, a 70% chance to raise its Special Defense by 1 stage, a 70% chance to lower its Speed by 1 stage, a 70% chance to lower its Special Attack by 2 stages, and a 70% chance to lower its accuracy by 2 stages.",
  2083. shortDesc: "70% of each: Def +2, SpD +1, Spe -1, SpA -2, acc -2",
  2084. id: "typhoon",
  2085. name: "Typhoon",
  2086. pp: 5,
  2087. priority: 0,
  2088. flags: {protect: 1, mirror: 1},
  2089. secondaries: [
  2090. {
  2091. chance: 70,
  2092. self: {
  2093. boosts: {
  2094. def: 2,
  2095. },
  2096. },
  2097. }, {
  2098. chance: 70,
  2099. self: {
  2100. boosts: {
  2101. spd: 1,
  2102. },
  2103. },
  2104. }, {
  2105. chance: 70,
  2106. self: {
  2107. boosts: {
  2108. spe: -1,
  2109. },
  2110. },
  2111. }, {
  2112. chance: 70,
  2113. self: {
  2114. boosts: {
  2115. spa: -2,
  2116. },
  2117. },
  2118. }, {
  2119. chance: 70,
  2120. self: {
  2121. boosts: {
  2122. accuracy: -2,
  2123. },
  2124. },
  2125. },
  2126. ],
  2127. target: "normal",
  2128. type: "Flying",
  2129. },
  2130. uproar: {
  2131. inherit: true,
  2132. basePower: 90,
  2133. },
  2134. vacuumwave: {
  2135. inherit: true,
  2136. num: 1026,
  2137. },
  2138. "vengeance": {
  2139. num: 1120,
  2140. accuracy: 100,
  2141. basePower: 60,
  2142. basePowerCallback: function (pokemon, target) {
  2143. if (target.lastDamage > 0 && pokemon.lastAttackedBy && pokemon.lastAttackedBy.thisTurn && pokemon.lastAttackedBy.pokemon === target) {
  2144. this.debug('Boosted for getting hit by ' + pokemon.lastAttackedBy.move);
  2145. return 120;
  2146. }
  2147. return 60;
  2148. },
  2149. category: "Physical",
  2150. desc: "Power doubles if the user was hit by the target this turn.",
  2151. shortDesc: "Power doubles if user is damaged by the target.",
  2152. id: "vengeance",
  2153. name: "Vengeance",
  2154. pp: 10,
  2155. priority: -4,
  2156. flags: {contact: 1, protect: 1, mirror: 1},
  2157. secondary: false,
  2158. target: "normal",
  2159. type: "Dark",
  2160. },
  2161. vinewhip: {
  2162. inherit: true,
  2163. pp: 15,
  2164. },
  2165. volttackle: {
  2166. inherit: true,
  2167. recoil: [33, 100],
  2168. secondary: {
  2169. chance: 10,
  2170. status: 'par',
  2171. },
  2172. },
  2173. waterfall: {
  2174. inherit: true,
  2175. secondary: {
  2176. chance: 20,
  2177. volatileStatus: 'flinch',
  2178. },
  2179. },
  2180. "wavesplash": {
  2181. num: 1079,
  2182. accuracy: 90,
  2183. basePower: 100,
  2184. category: "Physical",
  2185. desc: "Has a 10% chance to raise the user's evasiveness by 1 stage.",
  2186. shortDesc: "10% chance to raise the user's evasiveness by 1 for each hit.",
  2187. id: "wavesplash",
  2188. name: "Wave Splash",
  2189. pp: 10,
  2190. priority: 0,
  2191. flags: {contact: 1, protect: 1, mirror: 1},
  2192. secondary: {
  2193. chance: 10,
  2194. self: {
  2195. boosts: {
  2196. evasion: 1,
  2197. },
  2198. },
  2199. },
  2200. target: "allAdjacentFoes",
  2201. type: "Water",
  2202. },
  2203. weatherball: {
  2204. inherit: true,
  2205. onModifyMove: function (move) {
  2206. switch (this.effectiveWeather()) {
  2207. case 'sunnyday':
  2208. case 'desolateland':
  2209. move.type = 'Fire';
  2210. break;
  2211. case 'raindance':
  2212. case 'primordialsea':
  2213. move.type = 'Water';
  2214. break;
  2215. case 'sandstorm':
  2216. move.type = 'Rock';
  2217. break;
  2218. case 'hail':
  2219. move.type = 'Ice';
  2220. break;
  2221. }
  2222. },
  2223. },
  2224. whirlpool: {
  2225. inherit: true,
  2226. accuracy: 85,
  2227. basePower: 35,
  2228. },
  2229. wildcharge: {
  2230. inherit: true,
  2231. num: 1154,
  2232. },
  2233. "wildgrowth": {
  2234. num: 1087,
  2235. accuracy: 95,
  2236. basePower: 100,
  2237. category: "Physical",
  2238. desc: "Has a 10% chance to lower the target's Speed by 1 stage.",
  2239. shortDesc: "10% chance to lower the foe(s) Speed by 1.",
  2240. id: "wildgrowth",
  2241. name: "Wild Growth",
  2242. pp: 10,
  2243. priority: 0,
  2244. flags: {contact: 1, protect: 1, mirror: 1},
  2245. secondary: {
  2246. chance: 10,
  2247. boosts: {
  2248. spe: -1,
  2249. },
  2250. },
  2251. target: "allAdjacentFoes",
  2252. type: "Grass",
  2253. },
  2254. woodhammer: {
  2255. inherit: true,
  2256. num: 1056,
  2257. },
  2258. workup: {
  2259. inherit: true,
  2260. num: 1150,
  2261. },
  2262. wrap: {
  2263. inherit: true,
  2264. accuracy: 90,
  2265. },
  2266. xscissor: {
  2267. inherit: true,
  2268. num: 1020,
  2269. },
  2270. zapcannon: {
  2271. inherit: true,
  2272. basePower: 120,
  2273. },
  2274. zenheadbutt: {
  2275. inherit: true,
  2276. num: 1041,
  2277. },
  2278. };
Advertisement
Add Comment
Please, Sign In to add comment