TechSkylander1518

Substitube New Moves v20 WIP

May 24th, 2023 (edited)
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 28.81 KB | None | 0 0
  1. Contact - The move makes physical contact with the target.
  2. CanProtect - The target can use Protect or Detect to protect itself from the move.
  3. CanMirrorMove - The move can be copied by Mirror Move.
  4. ThawsUser - If the user is frozen, the move will thaw it out before it is used.
  5. HighCriticalHitRate - The move has a high critical hit rate.
  6. Biting - The move is a biting move (powered up by the ability Strong Jaw).
  7. Punching - The move is a punching move (powered up by the ability Iron Fist).
  8. Sound - The move is a sound-based move.
  9. Powder - The move is a powder-based move (Grass-type Pokémon are immune to them).
  10. Pulse - The move is a pulse-based move (powered up by the ability Mega Launcher).
  11. Bomb - The move is a bomb-based move (resisted by the ability Bulletproof).
  12. Dance - The move is a dance move (repeated by the ability Dancer).
  13. CannnotMetronome - This move cannot be used by the move Metronome. Used for signature moves that are intended to remain exclusive to their associated Pokémon.
  14. TramplesMinimize - This move deals double damage to Pokémon that used Minimize at least once during their stay in the battle. Gen 6+: also skips all accuracy and evasion checks.
  15.  
  16. #Aura Blade - 60bp, physical, works like hidden power
  17. #De-Evolution Beam - -BP, status, fails if already affected/no prevo. could look at how transform works for an idea. wears off after 2 #turns or on switching out
  18. #inverse room - room move that makes inverse battle
  19. #mirror room - room move that swaps side effect (entry hazards, pledge moves, etc)
  20. #play dead - stat move with extra priority like protect. will appear to faint, but will actually be revived when switch out. team #preview will continue to reflect this - not sure how easy that'd be to code... fails with no teammates, naturally
  21. #rainbow wave - 65bp, special, always super-effective
  22. #timeout - special, base power is 10 x the current hour
  23. #training room - room move that doubles exp yield
  24. #type swap - trades types with target
  25. #bug swarm - bug, 65, physical, beat up but only for bug-types
  26. #hell swarm - bug, 120, special, megahorn special counterpart, possible confusion
  27. #pester - bug, 45, physical, bug version of pursuit but deals double damage to incoming opponent instead
  28. #pollinate - bug, 70, special, has a chance of sprouting leech seed (doesn't mention if it's one target or multiple)
  29. #silk screem - status, raises defense and special defense
  30. #black hole - 100, special, dark, doesn't miss
  31. #nitpick - taunt variant where target can only use moves of its type
  32. #sidestep - dark, 60, physical, vanishes first turn and attacks an inactive pokemon on the enemy team second turn
  33. #trash talk - dark status move that makes the pokemon disobedient. fails on wild pokemon. (should friendship be a factor?)
  34. #vendetta - dark, 70, physical. works like rage, but multiplier is lower (and i think increases when hit?)
  35. #domination - dragon status, lowers atk and special attack (a roar, so probably affect all foes, sound-based)
  36. #dragon lance - dragon physical 90, 4x damage on dragon-types (that might bea  bit op)
  37. #dragon lash/lash out - dragon physical 50, guaranteed hit if confused and does double damage
  38. #Lurk - Dragon/Status/Self Target - next attack 3x damage, fails if user hit while lurking
  39. #Storm Rise - Dragon/Status/Self Target - cures sleep, raises sp atk and speed, only works when asleep like snore
  40. #Didn't mention how many stages this would be by.
  41. #Not sure how Snatch should interact with this
  42. #Should maybe be added to Metronome blacklist
  43. #Not positive the waking up works.
  44. [STORMRISE]
  45. Name = Storm Rise
  46. Type = DRAGON
  47. Category = Status
  48. TotalPP =
  49. Target = Self
  50. FunctionCode = RaiseUserSpAtk1Speed1FailsIfUserNotAsleep
  51. Flags =
  52. Description =
  53. #===============================================================================
  54. # Increases the user's Sp. Attack and Speed by 1 stage each, and wakes the user.
  55. # Fails if the user is not asleep. (Storm Rise)
  56. #===============================================================================
  57. class Battle::Move::RaiseUserSpAtk1Speed1FailsIfUserNotAsleep < Battle::Move::MultiStatUpMove
  58.   def usableWhenAsleep?; return true; end
  59.  
  60.   def initialize(battle, move)
  61.     super
  62.     @statUp = [:SPECIAL_ATTACK, 1, :SPEED, 1]
  63.   end
  64.  
  65.   def pbMoveFailed?(user, targets)
  66.     if !user.asleep?
  67.       @battle.pbDisplay(_INTL("But it failed!"))
  68.       return true
  69.     end
  70.     return false
  71.   end
  72.  
  73.   def pbEffectGeneral(user)
  74.     super
  75.     user.pbCureStatus(false)
  76.     @battle.pbDisplay(_INTL("{1} woke up!", user.pbThis))
  77.   end
  78.  
  79. end
  80.  
  81. #Chain Bolt - Electric/Special/Power varies - hits up to three times, targets foes at random - first takes 30, next 40, last 50. if only one target can be hit, takes all 3
  82. #EMP Field - Electric/Status/affects field - moves learned by TM/HM can't be used. (what if can be learned via level-up?)
  83. #Ion Beam - Electric/Special/70 - SE on ground-types
  84. #Needs beam flag
  85. #Took accuracy and PP from Freeze-Dry
  86. #Freeze-Dry also has a chance of freezing - not sure if paralysis should be included. I left it out for balance.
  87. [IONBEAM]
  88. Name = Ion Beam
  89. Type = ELECTRIC
  90. Category = Special
  91. Power = 70
  92. Accuracy = 100
  93. TotalPP = 20
  94. Target = NearOther
  95. FunctionCode = SuperEffectiveAgainstGround
  96. Flags = CanProtect,CanMirrorMove
  97. Description = Is super-effective on Ground types.
  98. #===============================================================================
  99. # Effectiveness against Ground-type is 2x. (Ion Beam)
  100. #===============================================================================
  101. class Battle::Move::SuperEffectiveAgainstGround< Battle::Move
  102.   def pbCalcTypeModSingle(moveType, defType, user, target)
  103.     return Effectiveness::SUPER_EFFECTIVE_ONE if defType == :GROUND
  104.     return super
  105.   end
  106. end
  107. #Jump Start - Electric/Status/targets any pokemon like heal pulse - heals the target based on how much you mash A button
  108. #Short Circuit - Electric/Special/150 - electric-type burnup counterpart (unless move was charged turn before?)
  109. #Stun Gun - Electric/Special/60 - chance to disable enemy's last used move
  110. [STUNGUN]
  111. Name = Stun Gun
  112. Type = ELECTRIC
  113. Category = Special
  114. Power = 60
  115. Accuracy =
  116. TotalPP =
  117. Target =
  118. FunctionCode =
  119. Flags = CanProtect,CanMirrorMove
  120. Description =
  121. #Should it count as a bomb move to be blocked by bulletproof?
  122. #Glitz Blitz - Fairy-type Close Combat
  123. [GLITZBLITZ]
  124. Name = Glitz Blitz
  125. Type = FAIRY
  126. Category = Physical
  127. Power = 120
  128. Accuracy = 100
  129. TotalPP = 5
  130. Target = NearOther
  131. FunctionCode = LowerUserDefSpDef1
  132. Flags = Contact,CanProtect,CanMirrorMove
  133. Description = Becoming pure cosmic energy, the user rushes at the target like a shooting star. It also cuts the user's Defense and Sp. Def.
  134. #Hip Hooray - Fairy-type triple kick that has chance to cause encore. need to write note abt power and encore effect in desc, need to make new function code. the video desc said "bumps into opponent", which would seem physical, but it's listed as special?
  135. [HIPHOORAY]
  136. Name = Hip Hooray
  137. Type = FAIRY
  138. Category = Special
  139. Power = 10
  140. Accuracy = 90
  141. TotalPP = 10
  142. Target = NearOther
  143. FunctionCode = HitThreeTimesPowersUpWithEachHit
  144. Flags = Contact,CanProtect,CanMirrorMove
  145. Description = The user bumps into the opponent three times while doing a cheer routine.
  146. #Moonhammer - Depletes 1PP from target's last-used move
  147. [MOONHAMMER]
  148. Name = Moonhammer
  149. Type = FAIRY
  150. Category = Physical
  151. Power = 100
  152. Accuracy =
  153. TotalPP =
  154. Target = NearOther
  155. FunctionCode =
  156. Flags =
  157. Description = The user forms a glowing white hammer made out of moon energy.
  158. #Peekaboo - Fairy-type special priority move.
  159. [PEEKABOO]
  160. Name = Peekaboo
  161. Type = FAIRY
  162. Category = Special
  163. Power = 40
  164. Accuracy = 100
  165. TotalPP = 30
  166. Target = NearOther
  167. Priority = 1
  168. FunctionCode = None
  169. Flags = CanProtect,CanMirrorMove
  170. Description =
  171. #Pixel Wave - Fairy-type Dragon Wave
  172. [PIXELWAVE]
  173. Name = Pixel Wave
  174. Type = FAIRY
  175. Category = Special
  176. Power = 1
  177. Accuracy = 100
  178. TotalPP = 10
  179. Target = NearOther
  180. FunctionCode = FixedDamage40
  181. Flags = CanProtect,CanMirrorMove
  182. Description = This attack hits the target with a wave of pixie energy. This attack always inflicts 40 HP damage.
  183. #Play Tag - Opposite gender has chance of being attracted, same gender, user switches out, target may flinch
  184. [PLAYTAG]
  185. Name = Play Tag
  186. Type = FAIRY
  187. Category = Special
  188. Power = 65
  189. Accuracy =
  190. TotalPP =
  191. Target = NearOther
  192. FunctionCode =
  193. Flags =
  194. Description =
  195. #Replenish - Restores 3PP to one of user's moves. Needs to be added to Snatch
  196. [REPLENISH]
  197. Name = Replenish
  198. Type = FAIRY
  199. Category = Status
  200. Accuracy = 0
  201. TotalPP = 10
  202. Target = User
  203. FunctionCode =
  204. Description =
  205. #Ring Around - Traps the target with a special status. Rather than dealing damage, reduces Sp Atk each turn.
  206. [RINGAROUND]
  207. Name = Ring Around
  208. Type = FAIRY
  209. Category = Status
  210. Accuracy =
  211. TotalPP =
  212. Target = NearOther
  213. FunctionCode =
  214. Flags =
  215. Description =
  216. #Haymaker - May make foe fall asleep if it hits, but if it misses, user's evasion sharply falls.
  217. [HAYMAKER]
  218. Name = Haymaker
  219. Type = FIGHTING
  220. Category = Physical
  221. Power = 85
  222. Accuracy =
  223. TotalPP =
  224. Target = NearOther
  225. FunctionCode =
  226. Flags =
  227. Description = The user lets down its guard to throw a wild punch.
  228. #No Sweat - Description given was all Substitube said - dunno if "debuffs" includes like Disable, how much to lower Sp Def, etc.
  229. [NOSWEAT]
  230. Name = No Sweat
  231. Type = FIGHTING
  232. Category = Status
  233. Accuracy = 0
  234. TotalPP =
  235. Target = User
  236. FunctionCode =
  237. Flags =
  238. Description = The user powers through its injuries, overcoming status ailments and debuffs by lowering its own Special Defense.
  239. #Perservere - One of the user's other moves is used at +1 priority, and the user faints immediately after
  240. [PERSEVERSE]
  241. Name = Persevere
  242. Type = FIGHTING
  243. Category = Status
  244. Accuracy = 0
  245. TotalPP =
  246. Target = User
  247. FunctionCode =
  248. Flags =
  249. Description =
  250. #Hardboil - Fire move SE against Water
  251. [HARDBOIL]
  252. Name = Hardboil
  253. Type = FIRE
  254. Category = Special
  255. Power = 70
  256. Accuracy = 100
  257. TotalPP = 20
  258. Target = NearOther
  259. FunctionCode = SuperEffectiveAgainstWater
  260. Flags =
  261. Description =
  262.  
  263. class Battle::Move::SuperEffectiveAgainstWater < Battle::Move
  264.   def pbCalcTypeModSingle(moveType, defType, user, target)
  265.     return Effectiveness::SUPER_EFFECTIVE_ONE if defType == :WATER
  266.     return super
  267.   end
  268. end
  269. #Heat Vision - Should have beam flag, should it be able to hit long-range foes in triple battles?
  270. [HEATVISION]
  271. Name = Heat Vision
  272. Type = FIRE
  273. Category = Special
  274. Power = 100
  275. Accuracy = 0
  276. TotalPP =
  277. Target = NearOther
  278. FunctionCode =
  279. Flags =
  280. Description = This attack never misses.
  281. #Immolate - Sets the user on fire and burns it, overriding any other non-volatile status effects. Fire-types won't be affected by the usual negative effects of a burn.
  282. [IMMOLATE]
  283. Name = Immolate
  284. Type = FIRE
  285. Category = Status
  286. Accuracy = 0
  287. TotalPP =
  288. Target = User
  289. FunctionCode =
  290. Flags =
  291. Description =
  292. #Night Breeze - Target may freeze if it's night. Needs wind flag. Unclear if it'd affect multiple foes or just one.
  293. [NIGHTBREEZE]
  294. Name = Night Breeze
  295. Type = FLYING
  296. Category = Special
  297. Power = 70
  298. Accuracy =
  299. TotalPP =
  300. Target = NearOther
  301. FunctionCode =
  302. Flags =
  303. Description =
  304. #Nose Dive - Flying-type counterpart to Flame Charge
  305. [NOSEDIVE]
  306. Name = Nose Dive
  307. Type = FLYING
  308. Category = Physical
  309. Power = 65
  310. Accuracy = 100
  311. TotalPP = 20
  312. Target = NearOther
  313. FunctionCode = RaiseUserSpeed1
  314. Flags = Contact,CanProtect,CanMirrorMove
  315. EffectChance = 100
  316. Description =
  317. #Tunnel Wind - Traps the target and lowers Speed each turn.
  318. [TUNNELWIND]
  319. Name = Tunnel Wind
  320. Type = FLYING
  321. Category = Status
  322. Accuracy =
  323. TotalPP =
  324. Target = NearOther
  325. Flags =
  326. Description =
  327. #Exorcism - Chance of disabling target
  328. [EXORCISM]
  329. Name = Exorcism
  330. Type = GHOST
  331. Category = Special
  332. Power = 65
  333. Accuracy =
  334. TotalPP =
  335. Target = NearOther
  336. Flags = CanProtect,CanMirrorMove
  337. Description =
  338. #Fog - Creates fog on the field
  339. [FOG]
  340. Name = Fog
  341. Type = GHOST
  342. Category = Status
  343. Accuracy = 0
  344. TotalPP = 5
  345. Target = BothSides
  346. FunctionCode =
  347. Description =
  348. #Ghoul Breath - Reduced priority, "phases out opponent"? Still not understanding what he means by that
  349. [GHOULBREATH]
  350. Name = Ghoul Breath
  351. Type = GHOST
  352. Category = Special
  353. Power = 70
  354. Accuracy =
  355. TotalPP =
  356. Target = NearOther
  357. FunctionCode =
  358. Flags = CanProtect,CanMirrorMove
  359. Description =
  360. #Phase Shift - Raises evasion on hit. Passes through solid surfaces - should it get through protect, or is that OP?
  361. [PHASESHIFT]
  362. Name = Phase Shift
  363. Type = GHOST
  364. Category = Special
  365. Power = 50
  366. Accuracy =
  367. TotalPP =
  368. Target = NearOther
  369. Flags = CanProtect,CanMirrorMove
  370. Description =
  371. #Poltergeist - This was before the canon move, not sure what to rename. Base power +10 for each fallen ally.
  372. [POLTERGEIST]
  373. Name = Poltergeist
  374. Type = GHOST
  375. Category = Physical
  376. Power = 70
  377. Accuracy =
  378. TotalPP =
  379. Target = NearOther
  380. FunctionCode =
  381. Flags = CanProtect,CanMirrorMove
  382. Description =
  383. #Reaper Mark - Ghost-type Leech Seed
  384. [REAPERMARK]
  385. Name = Reaper Mark
  386. Type = GHOST
  387. Category = Status
  388. Accuracy = 90
  389. TotalPP = 10
  390. Target = NearOther
  391. FunctionCode =
  392. Flags = CanProtect,CanMirrorMove
  393. Description = It steals some HP from the target every turn.
  394. #Sacrifice - Reduced-priority move, user faints and ally is revived with 1/2HP. Should it be affected by Snatch?
  395. [SACRIFICE]
  396. Name = Sacrifice
  397. Type = GHOST
  398. Category = Status
  399. Accuracy = 0
  400. TotalPP =
  401. Target = User
  402. FunctionCode =
  403. Flags =
  404. Description =
  405. #Summon Ritual - User transforms into fainted ally. Should it be affected by Snatch?
  406. [SUMMONRITUAL]
  407. Name = Summon Ritual
  408. Type = GHOST
  409. Category = Status
  410. Accuracy = 0
  411. TotalPP =
  412. Target = User
  413. FunctionCode =
  414. Flags =
  415. Description =
  416. #Grasscutter - Double damage on Grassy Terrain. (He said "in tall grass", but Grassy Terrain makes more sense? Environment-based or terrain based...)
  417. [GRASSCUTTER]
  418. Name = Grasscutter
  419. Type = GRASS
  420. Category = Physical
  421. Power = 55
  422. Accuracy =
  423. TotalPP =
  424. Target = NearOther
  425. FunctionCode =
  426. Flags = CanProtect,CanMirrorMove
  427. Description =
  428. #Hook Vine - Target will take extra damage if they switch out
  429. [HOOKVINE]
  430. Name = Hook Vine
  431. Type = GRASS
  432. Category = Physical
  433. Power = 60
  434. Accuracy =
  435. TotalPP =
  436. Target = NearOther
  437. FunctionCode =
  438. Flags = CanProtect,CanMirrorMove
  439. Description =
  440. #Psychoherb - Chance to confuse.
  441. [PSYCHOHERB]
  442. Name = Psychoherb
  443. Type = GRASS
  444. Category = Special
  445. Power = 100
  446. Accuracy =
  447. TotalPP =
  448. Target = NearOther
  449. FunctionCode =
  450. Flags = CanProtect,CanMirrorMove
  451. Description =
  452. #Timberfall - Grass-type counterpart to rollout. Should it still make contact? In this version, they're rolling on a log. Desc should be rewritten.
  453. [TIMBERFALL]
  454. Name = Timberfall
  455. Type = GRASS
  456. Category = Physical
  457. Power = 30
  458. Accuracy = 90
  459. TotalPP = 20
  460. Target = NearOther
  461. FunctionCode = MultiTurnAttackPowersUpEachTurn
  462. Flags = Contact,CanProtect,CanMirrorMove
  463. Description = The user continually rolls into the target over five turns. It becomes stronger each time it hits.
  464. #Devastation - Occurs three turns in the future, like future sight. Should it still affect the whole area like Earthquake?
  465. [DEVASTATION]
  466. Name = Devastation
  467. Type = GROUND
  468. Category = Special
  469. Power = 130
  470. Accuracy =
  471. TotalPP =
  472. Target =
  473. FunctionCode =
  474. Flags =
  475. Description =
  476. #Landslide - Ground-type Rock Slide. Desc needs to be updated.
  477. [LANDSLIDE]
  478. Name = Landslide
  479. Type = GROUND
  480. Category = Physical
  481. Power = 75
  482. Accuracy = 90
  483. TotalPP = 10
  484. Target = AllNearFoes
  485. FunctionCode = FlinchTarget
  486. Flags = CanProtect,CanMirrorMove
  487. EffectChance = 30
  488. Description =  It may also make the targets flinch.
  489. #Pitfall - Target is treated like they used Dig until they use their next move. Ground-types not affected.
  490. [PITFALL]
  491. Name = Pitfall
  492. Type = GROUND
  493. Category = Status
  494. Accuracy =
  495. TotalPP =
  496. Target = NearOther
  497. FunctionCode =
  498. Flags = CanProtect,CanMirrorMove
  499. Description =
  500. #Stampede - Weaker version of Bonemerang given to more mons. Should PP be increased? Should it make contact?
  501. [STAMPEDE]
  502. Name = Stampede
  503. Type = GROUND
  504. Category = Physical
  505. Power = 35
  506. Accuracy = 90
  507. TotalPP = 10
  508. Target = NearOther
  509. FunctionCode = HitTwoTimes
  510. Flags = CanProtect,CanMirrorMove
  511. Description =
  512. #Black Ice - Entry hazard that deals fixed damage based on Speed stat, because Pokemon are slipping and crashing. Substitube said types that resist Ice are immune to this, not sure if that sounds right.
  513. [BLACKICE]
  514. Name = Black Ice
  515. Type = ICE
  516. Category = Status
  517. Accuracy = 0
  518. TotalPP = 20
  519. Target = FoeSide
  520. FunctionCode =
  521. Description =
  522. #Cryosleep - User freezes itself, curing any status ailments, and is immune to physical attacks until thawed.
  523. [CRYOSLEEP]
  524. Name = Cryosleep
  525. Type = ICE
  526. Category = Status
  527. Accuracy = 0
  528. TotalPP = 10
  529. Target = User
  530. FunctionCode =
  531. Description =
  532. #Frostbite - Chance to burn
  533. [FROSTBITE]
  534. Name = Frostbite
  535. Type = ICE
  536. Category = Physical
  537. Power = 65
  538. Accuracy =
  539. TotalPP =
  540. Target = NearOther
  541. FunctionCode =
  542. Flags =
  543. Description =
  544. #Slush Ball - Ice move SE against Fire
  545. [SLUSHBALL]
  546. Name = Slush Ball
  547. Type = ICE
  548. Category = Special
  549. Power = 70
  550. Accuracy = 100
  551. TotalPP = 20
  552. Target = NearOther
  553. FunctionCode = SuperEffectiveAgainstFire
  554. Flags = Bomb
  555. Description =
  556.  
  557. class Battle::Move::SuperEffectiveAgainstFire < Battle::Move
  558.   def pbCalcTypeModSingle(moveType, defType, user, target)
  559.     return Effectiveness::SUPER_EFFECTIVE_ONE if defType == :FIRE
  560.     return super
  561.   end
  562. end
  563.  
  564. #Winterbolt - Doubles damage when used in snowy terrain. (Environment-based, but could be weather-based)
  565. [WINTERBOLT]
  566. Name = Winterbolt
  567. Type = ICE
  568. Category = Special
  569. Power = 55
  570. Accuracy =
  571. TotalPP =
  572. Target = NearOther
  573. FunctionCode =
  574. Flags =
  575. Description =
  576. #Cataclysm - Different weather effect each turn for 3-5 turns
  577. [CATACLYSM]
  578. Name = Cataclysm
  579. Type = NORMAL
  580. Category = Status
  581. Accuracy = 0
  582. TotalPP = 5
  583. Target = BothSides
  584. FunctionCode =
  585. Description =
  586. #Colorless Beam - Always does neutral damage. Beam flag.
  587. [COLORLESSBEAM]
  588. Name = Colorless Beam
  589. Type = NORMAL
  590. Category = Special
  591. Power = 65
  592. Accuracy =
  593. TotalPP =
  594. Target = NearOther
  595. FunctionCode =
  596. Flags =
  597. Description =
  598. #Downsize - Damage calculated based on (target level - user level)
  599. [DOWNSIZE]
  600. Name = Downsize
  601. Type = NORMAL
  602. Category = Special
  603. Power = 1
  604. Accuracy =
  605. TotalPP =
  606. Target = NearOther
  607. FunctionCode =
  608. Flags =
  609. Description =
  610. #Equalize - Makes target Normal-type
  611. [EQUALIZE]
  612. Name = Equalize
  613. Type = NORMAL
  614. Category = Status
  615. Accuracy = 100
  616. TotalPP = 20
  617. Target = NearOther
  618. FunctionCode =
  619. Flags = CanProtect,CanMirrorMove
  620. Description =
  621. #Gamble - Base power 80 move with a variety of potential effects. Skipping PBS for now bc even category is up to change?
  622. #Giga Voice - damage based on how loud you scream into mic. not possible in essentials AFAIK
  623. #Holo-Beam - Double damage when used in wifi room. Environment-based move. Beam flag.
  624. [HOLOBEAM]
  625. Name = Holo-Beam
  626. Type = NORMAL
  627. Category = Special
  628. Power = 55
  629. Accuracy =
  630. TotalPP =
  631. Target = NearOther
  632. FunctionCode =
  633. Flags =
  634. Description =
  635. #Biogenesis - Poison-type counterpart to Outrage. Not sure if it should still make contact. Desc should be rewritten.
  636. [BIOGENSIS]
  637. Name = Biogenesis
  638. Type = POISON
  639. Category = Special
  640. Power = 120
  641. Accuracy = 100
  642. TotalPP = 10
  643. Target = RandomNearFoe
  644. FunctionCode = MultiTurnAttackConfuseUserAtEnd
  645. Flags = Contact,CanProtect,CanMirrorMove
  646. Description = The user rampages and attacks for two to three turns. It then becomes confused, however.
  647. #Chemthrower - Chance to burn - could be counterpart to Flamethrower?
  648. [CHEMTHROWER]
  649. Name = Chemthrower
  650. Type = POISON
  651. Category = Special
  652. Power = 85
  653. Accuracy =
  654. TotalPP =
  655. Target = NearOther
  656. FunctionCode = BurnTarget
  657. Flags = CanProtect,CanMirrorMove
  658. Description =
  659. #Dart Poison - Poisons target on hit, but if they're switching out, badly poisons.
  660. [DARTPOISON]
  661. Name = Dart Poison
  662. Type = POISON
  663. Category = Physical
  664. Power = 25
  665. Accuracy =
  666. TotalPP =
  667. Target = NearOther
  668. FunctionCode =
  669. Flags = CanProtect,CanMirrorMove
  670. Description =
  671. #Irradiate - For five turns, edible healing items do damage instead. (Leftovers, berries, drinks) Substitube suggested it be applied to the item directly I think but that's not really doable?
  672. [IRRADIATE]
  673. Name = Irradiate
  674. Type = POISON
  675. Category = Status
  676. Accuracy = 0
  677. TotalPP = 5
  678. Target = BothSides
  679. FunctionCode =
  680. Flags = CanMirrorMove
  681. Description =
  682. #Liquify - Poison move SE against Steel
  683. [LIQUIFY]
  684. Name = Liquify
  685. Type = POISON
  686. Category = Special
  687. Power = 70
  688. Accuracy = 100
  689. TotalPP = 20
  690. Target = NearOther
  691. FunctionCode = SuperEffectiveAgainstSteel
  692. Flags = CanProtect,CanMirrorMove
  693. Description =
  694.  
  695. class Battle::Move::SuperEffectiveAgainstSteel < Battle::Move
  696.   def pbCalcTypeModSingle(moveType, defType, user, target)
  697.     return Effectiveness::SUPER_EFFECTIVE_ONE if defType == :STEEL
  698.     return super
  699.   end
  700. end
  701. #Nerve Gas - Chance of disabling foe
  702. [NERVEGAS]
  703. Name = Nerve Gas
  704. Type = POISON
  705. Category = Special
  706. Power = 50
  707. Accuracy =
  708. TotalPP =
  709. Target = NearOther
  710. FunctionCode =
  711. Flags =
  712. Description =
  713.  
  714. #Pesticide - Extra damage on Bug-types and Pokemon with the Rodent flag
  715. [PESTICIDE]
  716. Name = Pesticide
  717. Type = POISON
  718. Category = Special
  719. Power =
  720. Accuracy =
  721. TotalPP =
  722. Target = NearOther
  723. FunctionCode =
  724. Flags =
  725. Description =
  726. #Pollution - Extra damage on fish and bird Pokemon (should it check Egg Group? Body Shape? Flag?)
  727. [POLLUTION]
  728. Name = Pollution
  729. Type = POISON
  730. Category = Special
  731. Power =
  732. Accuracy =
  733. TotalPP =
  734. Target = NearOther
  735. FunctionCode =
  736. Flags =
  737. Description =
  738. #Feedback - Psychic equivalent of Punishment
  739. [FEEDBACK]
  740. Name = Feedback
  741. Type = PSYCHIC
  742. Category = Special
  743. Power = 1
  744. Accuracy = 100
  745. TotalPP = 5
  746. Target = NearOther
  747. FunctionCode = PowerHigherWithTargetPositiveStatStages
  748. Flags = CanProtect,CanMirrorMove
  749. Description = This attack's power increases the more the target has powered up with stat changes.
  750. #Mind Zap - Chance of paralysis. I mostly based it on Dragon Breath here.
  751. [MINDZAP]
  752. Name = Mind Zap
  753. Type = PSYCHIC
  754. Category = Special
  755. Power = 70
  756. Accuracy = 100
  757. TotalPP = 20
  758. Target = NearOther
  759. FunctionCode = ParalyzeTarget
  760. Flags = CanProtect,CanMirrorMove
  761. EffectChance = 30
  762. Description = It may also leave the target with paralysis.
  763. #Palm Read - reveals nature of target. Not sure if should be perfect accuracy or not. And it's unusual for status moves to make contact, but...
  764. [PALMREAD]
  765. Name = Palm Read
  766. Type = PSYCHIC
  767. Category = Status
  768. Accuracy = 100
  769. TotalPP = 20
  770. Target = NearOther
  771. FunctionCode =
  772. Flags = CanProtect,CanMirrorMove
  773. Description =
  774. #Psionic Storm - Described as a combination of Overheat and Blizzard. (Blizzard's target and Overheat's debuff)
  775. [PSIONICSTORM]
  776. Name = Psionic Storm
  777. Type = PSYCHIC
  778. Category = Special
  779. Power = 110
  780. Accuracy = 90
  781. TotalPP = 5
  782. Target = AllNearFoes
  783. FunctionCode = LowerUserSpAtk2
  784. Flags = CanProtect,CanMirrorMove
  785. Description = The attack's recoil sharply reduces the user's Sp. Atk stat.
  786. #Blast Off - creates sandstorm and switches out
  787. [BLASTOFF]
  788. Name = Blast Off
  789. Type = ROCK
  790. Category = Status
  791. Accuracy = 0
  792. TotalPP = 10
  793. Target = BothSides
  794. FunctionCode =
  795. Flags =
  796. Description =
  797. #Boulderdash - If user didn't take damage, base power increased to 85. look at DoublePowerIfUserLostHPThisTurn for this. Probably shouldn't make contact bc of the whole "encased in armor" thing?
  798. [BOULDERDASH]
  799. Name = Boulderdash
  800. Type = ROCK
  801. Category = Physical
  802. Power = 60
  803. Accuracy =
  804. TotalPP =
  805. Target = NearOther
  806. FunctionCode =
  807. Flags = CanProtect,CanMirrorMove
  808. Description =
  809. #Cave-In - Double damage when used in cave. Environment-based move.
  810. [CAVEIN]
  811. Name = Cave-In
  812. Type = ROCK
  813. Category = Physical
  814. Power = 55
  815. Accuracy =
  816. TotalPP =
  817. Target = NearOther
  818. FunctionCode =
  819. Flags = CanProtect,CanMirrorMove
  820. Description =
  821. #Petrify - Traps target for 2-5 turns. (Doesn't elaborate, but I'm assuming more like Fire Spin and not like, freezing) Foe becomes pure rock at end.
  822. [PETRIFY]
  823. Name = Petrify
  824. Type = ROCK
  825. Category = Special
  826. Power = 35
  827. Accuracy =
  828. TotalPP =
  829. Target = NearOther
  830. FunctionCode =
  831. Flags = CanProtect,CanMirrorMove
  832. Description =
  833. #Harden2 - When baton passed, user won't take any entry hazard damage
  834. [HARDEN]
  835. Name = Harden
  836. Type = STEEL
  837. Category = Status
  838. Accuracy = 0
  839. TotalPP =
  840. Target = User
  841. FunctionCode =
  842. Description =
  843. #Pinpoint - Guaranteed to raise accuracy with each hit. (Should this be like Flame Charge, where Sheer Force would remove it?)
  844. [PINPOINT]
  845. Name = Pinpoint
  846. Type = STEEL
  847. Category = Physical
  848. Power = 50
  849. Accuracy =
  850. TotalPP =
  851. Target = NearOther
  852. FunctionCode =
  853. Flags = CanProtect,CanMirrorMove
  854. #Scrapcannon- Multihit move with chance of generating spikes.
  855. [SCRAPCANNON]
  856. Name = Scrapcannon
  857. Type = STEEL
  858. Category = Physical
  859. Power = 25
  860. Accuracy =
  861. TotalPP =
  862. Target = NearOther
  863. FunctionCode =
  864. Flags = CanProtect,CanMirrorMove,Bomb
  865. #Shield Bash - Uses Defense stat as the attacking stat.
  866. [SHIELDBASH]
  867. Name = Shield Bash
  868. Type = STEEL
  869. Category = Physical
  870. Power = 85
  871. Accuracy =
  872. TotalPP =
  873. Target = NearOther
  874. FunctionCode = UseUserBaseDefenseInsteadOfUserBaseAttack
  875. Flags = CanProtect,CanMirrorMove
  876. #Sledgehammer - Double damage when used in building. Environment-based move.
  877. [SLEDGEHAMMER]
  878. Name = Sledgehammer
  879. Type = STEEL
  880. Category = Physical
  881. Power = 55
  882. Accuracy =
  883. TotalPP =
  884. Target = NearOther
  885. FunctionCode =
  886. Flags = CanProtect,CanMirrorMove
  887. Description =
  888. #Transmute - Becomes pure Steel.
  889. [TRANSMUTE]
  890. Name = Transmute
  891. Type = STEEL
  892. Category = Status
  893. Accuracy = 0
  894. TotalPP = 20
  895. Target = User
  896. FunctionCode =
  897. Description =
  898. #Aqueduct - Counterpart to Rototiller that raises defense stats.
  899. [AQUEDUCT]
  900. Name = Aqueduct
  901. Type = WATER
  902. Category = Status
  903. Accuracy = 0
  904. TotalPP = 10
  905. Target = AllBattlers
  906. FunctionCode = RaiseGroundedGrassBattlersDefSpDef1
  907. Description = The user tills the soil to encourage plant growth. This raises the Defense and Sp. Defense of Grass types.
  908.  
  909. #===============================================================================
  910. # Increases the Defense and Special Defense of all Grass-type Pokémon in battle by
  911. # 1 stage each. Doesn't affect airborne Pokémon. (Aqueduct)
  912. #===============================================================================
  913. class Battle::Move::RaiseGroundedGrassBattlersDefSpDef1 < Battle::Move
  914.   def pbMoveFailed?(user, targets)
  915.     @validTargets = []
  916.     @battle.allBattlers.each do |b|
  917.       next if !b.pbHasType?(:GRASS)
  918.       next if b.airborne? || b.semiInvulnerable?
  919.       next if !b.pbCanRaiseStatStage?(:DEFENSE, user, self) &&
  920.               !b.pbCanRaiseStatStage?(:SPECIAL_DEFENSE, user, self)
  921.       @validTargets.push(b.index)
  922.     end
  923.     if @validTargets.length == 0
  924.       @battle.pbDisplay(_INTL("But it failed!"))
  925.       return true
  926.     end
  927.     return false
  928.   end
  929.  
  930.   def pbFailsAgainstTarget?(user, target, show_message)
  931.     return false if @validTargets.include?(target.index)
  932.     return true if !target.pbHasType?(:GRASS)
  933.     return true if target.airborne? || target.semiInvulnerable?
  934.     @battle.pbDisplay(_INTL("{1}'s stats can't be raised further!", target.pbThis)) if show_message
  935.     return true
  936.   end
  937.  
  938.   def pbEffectAgainstTarget(user, target)
  939.     showAnim = true
  940.     if target.pbCanRaiseStatStage?(:DEFENSE, user, self)
  941.       showAnim = false if target.pbRaiseStatStage(:DEFENSE, 1, user, showAnim)
  942.     end
  943.     if target.pbCanRaiseStatStage?(:SPECIAL_DEFENSE, user, self)
  944.       target.pbRaiseStatStage(:SPECIAL_DEFENSE, 1, user, showAnim)
  945.     end
  946.   end
  947. end
  948.  
  949. #For AI
  950.     when "RaiseGroundedGrassBattlersDefSpDef1"
  951.       count = 0
  952.       @battle.allBattlers.each do |b|
  953.         if b.pbHasType?(:GRASS) && !b.airborne? &&
  954.            (!b.statStageAtMax?(:DEFENSE) || !b.statStageAtMax?(:SPECIAL_DEFENSE))
  955.           count += 1
  956.           if user.opposes?(b)
  957.             score -= 20
  958.           else
  959.             score -= user.stages[:DEFENSE] * 10
  960.             score -= user.stages[:SPECIAL_DEFENSE] * 10
  961.           end
  962.         end
  963.       end
  964.       score -= 95 if count == 0
  965.  
  966. #Decontaminate - Water move SE against Poison
  967. [DECONTAMINATE]
  968. Name = Decontaminate
  969. Type = WATER
  970. Category = Special
  971. Power = 70
  972. Accuracy = 100
  973. TotalPP = 20
  974. Target = NearOther
  975. FunctionCode = SuperEffectiveAgainstPoison
  976. Flags =
  977. Description =
  978.  
  979. class Battle::Move::SuperEffectiveAgainstPoison < Battle::Move
  980.   def pbCalcTypeModSingle(moveType, defType, user, target)
  981.     return Effectiveness::SUPER_EFFECTIVE_ONE if defType == :POISON
  982.     return super
  983.   end
  984. end
  985. #Seasickness - Chance to poison. I based this on Poison Jab. Should it hit Dive targets or no?
  986. [SEASICKNESS]
  987. Name = Seasickness
  988. Type = WATER
  989. Category = Physical
  990. Power = 75
  991. Accuracy = 100
  992. TotalPP = 20
  993. Target = NearOther
  994. FunctionCode = PoisonTarget
  995. Flags = CanProtect,CanMirrorMove
  996. EffectChance = 30
  997. Description = The user creates a wave to rock the target back and forth, making them sick. It may also poison the target.
  998. #Undertow - Double damage when used on water surface or underwater. Environment-based move.
  999. [UNDERTOW]
  1000. Name = Undertow
  1001. Type = WATER
  1002. Category = Special
  1003. Power = 55
  1004. Accuracy =
  1005. TotalPP =
  1006. Target = NearOther
  1007. FunctionCode =
  1008. Flags = CanProtect,CanMirrorMove
  1009. Description =
Add Comment
Please, Sign In to add comment