Advertisement
sparkychild

Untitled

Jan 30th, 2020
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.30 KB | None | 0 0
  1. // ability
  2. 'sadisticmaster': {
  3. name: 'Sadistic Master',
  4. id: 'sadisticmaster',
  5.  
  6. onFoeModifyMove: function (move, pokemon) {
  7. if (pokemon.gender === 'M' && move.basePower >= 70 && move.flags.contact && pokemon.template.species !== 'aegislash') {
  8. move.basePower = 69;
  9. }
  10. },
  11.  
  12. onModifyMove: function (move) {
  13. move.ignoreAbility = true;
  14. if (move.id === 'firelash') {
  15. move.onHit = function () {
  16. this.add('c|~AegisiumZ|I demand obedience!');
  17. }
  18. }
  19. },
  20.  
  21. onFoeModifyMove: function (move) {
  22. if (move.id === 'struggle') {
  23. move.onHit = function (target, source, move) {
  24. let heal = source.maxhp / 4;
  25. if (source.hp < heal) heal = source.hp;
  26. this.heal(heal, target);
  27. }
  28. }
  29. },
  30. },
  31.  
  32. // moves
  33. 'steelchains': {
  34. assb: true,
  35. accuracy: true,
  36. basePower: 50,
  37. category: "Physical",
  38. id: 'steelchains',
  39. name: 'Steel Chains',
  40. pp: 20,
  41. priority: 1,
  42. flags: { protect: 1, mirror: 1, authentic: 1 },
  43. secondary: false,
  44. target: 'normal',
  45. type: "Steel",
  46. zMoveBoost: { atk: 1 },
  47. desc: "Pursuit + cancels switch, permanent root, gains one stack of Desperation at the end of each turn.",
  48. shortDesc: "Pursuit + cancels switch, permanent root, gains one stack of Desperation at the end of each turn.",
  49. contestType: "Tough",
  50. ignoreAbility: true,
  51. beforeTurnCallback: function (pokemon, target) {
  52. target.side.addSideCondition('steelchains', pokemon);
  53. if (!target.side.sideConditions['steelchains'].sources) {
  54. target.side.sideConditions['steelchains'].sources = [];
  55. }
  56. target.side.sideConditions['steelchains'].sources.push(pokemon);
  57. },
  58. onHit: function (target, source) {
  59. this.add('c|~AegisiumZ|You will not excape from MY basement!');
  60. target.addVolatile('eternalchains', source);
  61. },
  62. onTryHit: function (target, pokemon) {
  63. target.side.removeSideCondition('steelchains');
  64. },
  65. effect: {
  66. duration: 1,
  67. onBeforeSwitchOut: function (pokemon) {
  68. this.debug('steel chains start');
  69. let alreadyAdded = false;
  70. for (const source of this.effectData.sources) {
  71. if (source.moveThisTurn || source.fainted) continue;
  72. if (!alreadyAdded) {
  73. this.add('-activate', pokemon, 'move: Steel Chains');
  74. alreadyAdded = true;
  75. }
  76. this.cancelMove(source);
  77. this.cancelMove(pokemon);
  78. this.runMove('Steel Chains', source, this.getTargetLoc(pokemon, source));
  79. }
  80. },
  81. },
  82. onTryHit: function () {
  83. this.attrLastMove('[anim]block');
  84. },
  85. },
  86.  
  87. "muzzle": {
  88. assb: true,
  89. accuracy: true,
  90. basePower: 50,
  91. category: "Physical",
  92. id: "muzzle",
  93. isViable: true,
  94. name: "Muzzle",
  95. pp: 20,
  96. priority: 1,
  97. flags: { protect: 1, mirror: 1, authentic: 1 },
  98. volatileStatus: 'silence',
  99. ignoreAbility: true,
  100. onHit: function (target, source) {
  101. this.add('c|~AegisiumZ|Silence!!');
  102. },
  103. secondary: false,
  104. target: "normal",
  105. type: "Ghost",
  106. zMoveBoost: { atk: 1 },
  107. desc: "Permanently seals all special moves, gains 1 stack of Desperation at the end of each turn if the user has ever been bound by Steel Chains during the game.",
  108. shortDesc: "Permanently seals all special moves, gains 1 stack of Desperation at the end of each turn if the user has ever been bound by Steel Chains during the game.",
  109. contestType: "Tough",
  110. onTryHit: function () {
  111. this.attrLastMove('[anim]darkpulse');
  112. },
  113. },
  114.  
  115. "theunspeakable": {
  116. assb: true,
  117. accuracy: 100,
  118. basePower: 50,
  119. category: "Physical",
  120. ignoreAbility: true,
  121.  
  122. onHit: function () {
  123. this.add('c|~AegisiumZ|Do you regret what you have done?');
  124. },
  125. basePowerCallback: function (pokemon, target) {
  126. let bp = 50 + (target.desperation || 0) * 15;
  127. return bp;
  128. },
  129. onEffectiveness: function () {
  130. return 0;
  131. },
  132.  
  133. id: "theunspeakable",
  134. name: "\"The Unspeakable\"",
  135. pp: 10,
  136. priority: 0,
  137. flags: { contact: 1, protect: 1, mirror: 1, heal: 1 },
  138. drain: [69, 100],
  139. secondary: {
  140. status: 'par',
  141. chance: 100,
  142. },
  143. target: "normal",
  144. type: "Dark",
  145. zMovePower: 100,
  146. desc: "100% chance to paralyze, 69% life drain, always deals neutral damage.",
  147. shortDesc: "100% chance to paralyze, 69% life drain, always deals neutral damage.",
  148. contestType: "Tough",
  149. onTryHit: function () {
  150. this.attrLastMove('[anim]gigaimpact');
  151. },
  152. },
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement