Advertisement
TechSkylander1518

PhoenixDex ItemHandlers

Jun 12th, 2023 (edited)
3,314
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 3.67 KB | None | 0 0
  1. ItemHandlers::UseOnPokemon.copy(:FULLHEAL, :CROCOLA)
  2. ItemHandlers::CanUseInBattle.copy(:FULLHEAL, :CROCOLA)
  3. ItemHandlers::BattleUseOnPokemon.copy(:FULLHEAL, :CROCOLA)
  4.  
  5. Battle::ItemEffects::OnSwitchIn.add(:BERSERKGENE,
  6.   proc { |item, battler, battle|
  7.     if battler.pbCanConfuseSelf?(false)
  8.       battle.pbCommonAnimation("UseItem", battler)
  9.       battle.pbDisplay(_INTL("{1}'s {2} activated!",battler.pbThis, battler.itemName))
  10.       battler.pbRaiseStatStage(:ATTACK, 2, battler)
  11.       battler.pbConfuse
  12.       battler.pbConsumeItem
  13.     end
  14.   }
  15. )
  16. #For triggering after Trick/Switcheroo
  17. Battle::ItemEffects::OnEndOfUsingMove.add(:BERSERKGENE,
  18.   proc { |item, battler, battle, forced|
  19.     if battler.pbCanConfuseSelf?(false)
  20.       battle.pbCommonAnimation("UseItem", battler)
  21.       battle.pbDisplay(_INTL("{1}'s {2} activated!",battler.pbThis, battler.itemName))
  22.       battler.pbRaiseStatStage(:ATTACK, 2, battler)
  23.       battler.pbConfuse
  24.       battler.pbConsumeItem
  25.     end
  26.   }
  27. )
  28.  
  29. Battle::ItemEffects::OnSwitchIn.add(:BERSERKHELM,
  30.   proc { |item, battler, battle|
  31.     if battler.pbCanConfuseSelf?(false)
  32.       battle.pbCommonAnimation("UseItem", battler)
  33.       battle.pbDisplay(_INTL("{1}'s {2} activated!",battler.pbThis, battler.itemName))
  34.       battler.pbRaiseStatStage(:ATTACK, 2, battler)
  35.       battler.pbConfuse
  36.     end
  37.   }
  38. )
  39. Battle::ItemEffects::OnEndOfUsingMove.add(:BERSERKHELM,
  40.   proc { |item, battler, battle, forced|
  41.     if battler.pbCanConfuseSelf?(false)
  42.       battle.pbCommonAnimation("UseItem", battler)
  43.       battle.pbDisplay(_INTL("{1}'s {2} activated!",battler.pbThis, battler.itemName))
  44.       battler.pbRaiseStatStage(:ATTACK, 2, battler)
  45.       battler.pbConfuse
  46.     end
  47.   }
  48. )
  49.  
  50. Battle::ItemEffects::DamageCalcFromUser.add(:DESERTCROOK,
  51.   proc { |item, user, target, move, mults, baseDmg, type|
  52.     if (user.isSpecies?(:MAAPHIX) || user.isSpecies?(:KHERSIN)) && move.physicalMove?
  53.       mults[:attack_multiplier] *= 2
  54.     end
  55.   }
  56. )
  57.  
  58. Battle::ItemEffects::DamageCalcFromUser.add(:DESERTFLAIL,
  59.   proc { |item, user, target, move, mults, baseDmg, type|
  60.     if (user.isSpecies?(:MAAPHIX) || user.isSpecies?(:IMHATAN)) && move.specialMove?
  61.       mults[:attack_multiplier] *= 2
  62.     end
  63.   }
  64. )
  65.  
  66. Battle::ItemEffects::DamageCalcFromUser.add(:BLACKJEWEL,
  67.   proc { |item, user, target, move, mults, baseDmg, type|
  68.     mults[:base_damage_multiplier] *= 1.3 if type == :POISON && [:SEVIPER,:SEVIRON].include?(user.species)
  69.   }
  70. )
  71.  
  72. Battle::ItemEffects::DamageCalcFromUser.add(:WHITEJEWEL,
  73.   proc { |item, user, target, move, mults, baseDmg, type|
  74.     mults[:base_damage_multiplier] *= 1.3 if type == :NORMAL && [:ZANGOOSE,:ZANTHERA].include?(user.species)
  75.   }
  76.  
  77. Battle::ItemEffects::EndOfRoundHealing.add(:GOLDENCROWN,
  78.   proc { |item, battler, battle|
  79.     next if !battler.canHeal? || !battler.isSpecies?(:ATHLAURIA)
  80.     battle.pbCommonAnimation("UseItem", battler)
  81.     battler.pbRecoverHP(battler.totalhp / 16)
  82.     battle.pbDisplay(_INTL("{1} restored a little HP using its {2}!",
  83.        battler.pbThis, battler.itemName))
  84.   }
  85. )
  86.  
  87. #Site says 4
  88. Battle::PokeBallEffects::ModifyCatchRate.add(:FARADAYBALL, proc { |ball, catchRate, battle, battler|
  89.   multiplier = (Settings::NEW_POKE_BALL_CATCH_RATES) ? 3.5 : 3
  90.   catchRate *= multiplier if battler.pbHasType?(:ELECTRIC) || battler.pbHasType?(:STEEL)
  91.   next catchRate
  92. })
  93. Battle::PokeBallEffects::OnCatch.add(:REFRESHBALL, proc { |ball, battle, pkmn|
  94.   pkmn.heal_status
  95. })
  96. Battle::PokeBallEffects::ModifyCatchRate.add(:SPECTERBALL, proc { |ball, catchRate, battle, battler|
  97.   multiplier = (Settings::NEW_POKE_BALL_CATCH_RATES) ? 3.5 : 3
  98.   catchRate *= multiplier if battler.pbHasType?(:GHOST)
  99.   next catchRate
  100. })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement