- 2
- Posts
- 7
- Years
- Seen Oct 16, 2021
Just releasing some ideas and scripts that I have been working on for fun for the past week, enjoy give credit if you use.
Ability: Mascot
Suggested Pokemon: Pikachu, Raichu, Pichu, Plusle, Minun, Pachirisu, Emolga, Dedenne, Todegemaru
Ability Description: This Pokemon's ego raises a stat.
In PokeBattle_Battler before #Frisk
Ability: Overclock
Ability Description: Moves that have a recharge time (Hyper Beam) will not.
In PokeBattle_MoveEffect replace
Move: Paralysis Pest
Move Description: Creates an entry hazard, the Paralysis Pest. Has a chance to cause Paralysis, and each layer provides a higher chance.
Move: Launchpad
Move Description: Creates an entry buff known as the Launchpad. Boosts your own Pokemon's Attack and Sp.Atk upon entry,
(It's easiest if you add them both at the same time.
In PBEffects place under Aurora Veil (If you have) or Wide Guard
In PokeBattle_ActiveSideField place under:
In PokeBattle_BattlerEffects
In PokeBattle_MoveEffects place anywhere open:
In PokeBattle_MoveEffects under the Defog entry,
In PokeBattle_MoveEffects in the Rapid Spin code area
In PokeBattle_Battle
(I Havent done anything with the AI yet.)
Move: Heartbreak
Move Effect: Doubles the damage if the Opposing Pokemon is infatuated. Cures their infatuation.
Suggested Move: Mawile (Especially if you use my Type Buff which gives Fairy a chance to attract on contact.)
Somewhere in PokeBattle_MoveEffects
Move: Tectonics
Move Effect: This Pokemon protects itself from any move. It's Defense is raised if it protected from anything but a contact move.
Move: Snow Globe
Move Effect: This Pokemon protects itself from any move but a fire type move, which lifts its protection. It's Special Defense is raised if it protects itself from any attack.
In PBEffects in the same list that Yawn is in make sure you add:
In PokeBattle_Battler
In PokeBattle_Battler after
In PokeBattle_MoveEffects add this somewhere:
In PokeBattle_MoveEffects make sure you add these two:
In PokeBattle_Battle
Move: Sleight of Hand
Move Effect: Swaps your entry hazards and buffs for the opponents entry hazards and buffs.
Possible Pokemon to learn: Weavile, Pangoro, Delphox
Somewhere in PokeBattle_MoveEffects
Move: Bow / Artemis Bow
Move Effect: The user utilizes his Bow to attack the Opponent. Its hold item dictates what the type of the damage may be, as well as its additional effect. Artemis Bow has a higher damage output and effect chance. If holding an arrow item, the damage is also doubled. (Make sure if you use the Silence Arrow, that you have the Silence [or throat chop] effect somewhere.)
Possible Pokemon: Decidueye, Scizor
Somewhere in PokeBattle_MoveEffect
Move: Polarity Sync
Move Effect: The user and its partner synchronizes its polarity. It changes its own ability to Plus and changes its partner's ability to Minus
Possible Pokemon: Pikachu, Raichu, Pichu, Plusle, Minun, Pachirisu, Emolga, Dedenne, Todegemaru
(I apparently wanted to make the rats overpowered. With the Mascot Ability, my Custom Type buff, and this move, it makes their Sp.Atk 2.81 stronger after one turn, and its two of them on the field. I'm a psychopath.)
Put this somewhere in PokeBattle_MoveEffect
NEW ITEMS
Item: Red Bracer, Yellow Belt, Blue Lens, Green Band, Pink Anklet
Item Description: These items boost one stat by 1.2 and two stats by 1.1. It will multiply again if the BST is below 501, and again if below 401, and again if below 301.
In PokeBattle_Battler, before
In PokeBattle_Move before
and in Pokebattle_move before
Ability PBS
Move PBS
Item PBS:
xxx,SLEEPARROW,Sleep Arrow,Sleep Arrows,1,1000,"An item to be held by a Pok?mon. It is a arrow changes the type of bow moves to Grass. ",0,0,0,
xxx,SILENCEARROW,Silence Arrow,Silence Arrows,1,1000,"An item to be held by a Pok?mon. It is a arrow changes the type of bow moves to Dark. ",0,0,0,
xxx,FIREARROW,Fire Arrow,Fire Arrows,1,1000,"An item to be held by a Pok?mon. It is a arrow changes the type of bow moves to Fire. ",0,0,0,
xxx,ICEARROW,Ice Arrow,Ice Arrows,1,1000,"An item to be held by a Pok?mon. It is a arrow changes the type of bow moves to Ice. ",0,0,0,
xxx,HOLYARROW,Holy Arrow,Holy Arrows,1,1000,"An item to be held by a Pok?mon. It is a arrow changes the type of bow moves to Electric. ",0,0,0,
xxx,POISONARROW,Poison Arrow,Poison Arrows,1,1000,"An item to be held by a Pok?mon. It is a arrow changes the type of bow moves to Poison. ",0,0,0,
xxx,IRONARROW,Iron Arrow,Iron Arrows,1,1000,"An item to be held by a Pok?mon. It is a arrow changes the type of bow moves to Steel. ",0,0,0,
xxx,MEDUSAARROW,Medusa Arrow,Medusa Arrows,1,1000,"An item to be held by a Pok?mon. It is a arrow changes the type of bow moves to Rock. ",0,0,0,
xxx,REDBRACER,Red Bracer,Red Bracers,1,1000,"The Attack, Sp. Attack and Defense is raised according to Base Stat Total.",0,0,0,
xxx,YELLOWBELT,Yellow Belt,Yellow Belts,1,1000,"The Defense, Attack and Sp. Defense is raised according to Base Stat Total.",0,0,0,
xxx,BLUELENS,Blue Lens,Blue Lens,1,1000,"The Sp. Attack, Attack and Speed is raised according to Base Stat Total.",0,0,0,
xxx,GREENBAND,Green Band,Green Bands,1,1000,"The Sp. Defense, Sp. Attack and Speed is raised according to Base Stat Total.",0,0,0,
xxx,PINKANKLET,Pink Anklet,Pink Anklets,1,1000, "The Speed, Sp. Atk, and Sp. Def is raised according to the Base Stat Total.",0,0,0,
Have fun!
Ability: Mascot
Suggested Pokemon: Pikachu, Raichu, Pichu, Plusle, Minun, Pachirisu, Emolga, Dedenne, Todegemaru
Ability Description: This Pokemon's ego raises a stat.
Spoiler:
In PokeBattle_Battler before #Frisk
Code:
# Custom Ability Mascot
if self.hasWorkingAbility(:MASCOT) && onactive
case @battle.pbRandom(3)
when 0
pbIncreaseStatWithCause(PBStats::ATTACK,1,self,PBAbilities.getName(ability))
when 1
pbIncreaseStatWithCause(PBStats::SPATK,1,self,PBAbilities.getName(ability))
when 2
pbIncreaseStatWithCause(PBStats::SPEED,1,self,PBAbilities.getName(ability))
PBDebug.log("[Ability triggered] #{pbThis}'s Mascot raised a stat)")
end
end
Ability: Overclock
Ability Description: Moves that have a recharge time (Hyper Beam) will not.
Spoiler:
In PokeBattle_MoveEffect replace
Code:
Replace
################################################################################
# Two turn attack. Attacks first turn, skips second turn (if successful).
################################################################################
class PokeBattle_Move_0C2 < PokeBattle_Move
def pbEffect(attacker,opponent,hitnum=0,alltargets=nil,showanimation=true)
ret=super(attacker,opponent,hitnum,alltargets,showanimation)
if opponent.damagestate.calcdamage>0
attacker.effects[PBEffects::HyperBeam]=2
attacker.currentMove=@id
end
return ret
end
end
with
################################################################################
# Two turn attack. Attacks first turn, skips second turn (if successful).
################################################################################
class PokeBattle_Move_0C2 < PokeBattle_Move
def pbEffect(attacker,opponent,hitnum=0,alltargets=nil,showanimation=true)
ret=super(attacker,opponent,hitnum,alltargets,showanimation)
if opponent.damagestate.calcdamage>0
if attacker.hasWorkingAbility(:OVERCLOCK)
@battle.pbDisplay(_INTL("{1}'s {2} has prevented a recharge!",attacker.pbThis,PBAbilities.getName(attacker.ability)))
else
attacker.effects[PBEffects::HyperBeam]=2
attacker.currentMove=@id
end
end
return ret
end
end
Move: Paralysis Pest
Move Description: Creates an entry hazard, the Paralysis Pest. Has a chance to cause Paralysis, and each layer provides a higher chance.
Move: Launchpad
Move Description: Creates an entry buff known as the Launchpad. Boosts your own Pokemon's Attack and Sp.Atk upon entry,
(It's easiest if you add them both at the same time.
Spoiler:
In PBEffects place under Aurora Veil (If you have) or Wide Guard
Code:
ParaPest = 22 #Use whatever number you are up to
Launchpad = 23
Code:
@effects[PBEffects::WideGuard] = false
place this under:
@effects[PBEffects::ParaPest] = 0
@effects[PBEffects::Launchpad] = false
Code:
Before def pbPoison(attacker,msg=nil,toxic=false)
Place this code:
def pbCanParaPest?(moldbreaker=false)
return false if isFainted?
return false if self.status!=0
return false if pbHasType?(:ELECTRIC) || pbHasType?(:GROUND)
if !moldbreaker
return false if hasWorkingAbility(:LIMBER) ||
(hasWorkingAbility(:FLOWERVEIL) && pbHasType?(:GRASS)) ||
(pbPartner.hasWorkingAbility(:FLOWERVEIL) && pbHasType?(:GRASS))
return false if hasWorkingAbility(:LEAFGUARD) &&
(@battle.pbWeather==PBWeather::SUNNYDAY ||
@battle.pbWeather==PBWeather::HARSHSUN)
end
return false if pbOwnSide.effects[PBEffects::Safeguard]>0
return true
end
Code:
################################################################################
# Entry hazard. Lays electrical spikes on the opposing side (max. 3 layers). (Para Pest)
################################################################################
class PokeBattle_Move_300 < PokeBattle_Move
def pbEffect(attacker,opponent,hitnum=0,alltargets=nil,showanimation=true)
if attacker.pbOpposingSide.effects[PBEffects::ParaPest]>=3
@battle.pbDisplay(_INTL("But it failed!"))
return -1
end
pbShowAnimation(@id,attacker,nil,hitnum,alltargets,showanimation)
attacker.pbOpposingSide.effects[PBEffects::ParaPest]+=1
if [email protected]?(attacker.index)
@battle.pbDisplay(_INTL("A paralysis pest was spotted around the opposing team's feet!"))
else
@battle.pbDisplay(_INTL("A paralysis pest was spotted around your team's feet!"))
end
return 0
end
end
################################################################################
# Entry buff. Lays launchpad on your side of the field. (Launchpad)
################################################################################
class PokeBattle_Move_310 < PokeBattle_Move
def pbEffect(attacker,opponent,hitnum=0,alltargets=nil,showanimation=true)
if !attacker.pbOwnSide.effects[PBEffects::Launchpad]
pbShowAnimation(@id,attacker,nil,hitnum,alltargets,showanimation)
attacker.pbOwnSide.effects[PBEffects::Launchpad]=true
if [email protected]?(attacker.index)
@battle.pbDisplay(_INTL("A launchpad has been laid out beneath your team's feet!"))
else
@battle.pbDisplay(_INTL("A launchpad has been laid out beneath the opposing team's feet!"))
end
return 0
else
@battle.pbDisplay(_INTL("But it failed!"))
return -1
end
end
end
In PokeBattle_MoveEffects under the Defog entry,
Code:
Under this code:
opponent.pbOwnSide.effects[PBEffects::ToxicSpikes] = 0
Place this code:
opponent.pbOwnSide.effects[PBEffects::ParaPest] = 0
opponent.pbOwnSide.effects[PBEffects::Launchpad] = false
And Under this code:
opponent.pbOpposingSide.effects[PBEffects::ToxicSpikes] = 0
Place This Code:
opponent.pbOpposingSide.effects[PBEffects::ParaPest] = 0
opponent.pbOpposingSide.effects[PBEffects::Launchpad] = false
(I think this is done twice)
In PokeBattle_MoveEffects in the Rapid Spin code area
Code:
Under this code:
if attacker.pbOwnSide.effects[PBEffects::StickyWeb]
attacker.pbOwnSide.effects[PBEffects::StickyWeb]=false
@battle.pbDisplay(_INTL("{1} blew away sticky webs!",attacker.pbThis))
end
Put this code:
if attacker.pbOwnSide.effects[PBEffects::ParaPest]>0
attacker.pbOwnSide.effects[PBEffects::ParaPest]=0
@battle.pbDisplay(_INTL("{1} blew away the paralysis pest!",attacker.pbThis))
end
if attacker.pbOpposingSide.effects[PBEffects::Launchpad]>0 #Yes, it takes your opponents buff away.
attacker.pbOpposingSide.effects[PBEffects::Launchpad]=0
@battle.pbDisplay(_INTL("{1} blew away the opponent's launchpad!",attacker.pbThis))
end
Code:
Before this code: # Sticky Web
if pkmn.pbOwnSide.effects[PBEffects::StickyWeb] && !pkmn.isFainted? &&
!pkmn.isAirborne?(moldbreaker)
Place this code:
#Para Pest
if pkmn.pbOwnSide.effects[PBEffects::ParaPest]>0 && !pkmn.isFainted?
if !pkmn.isAirborne?(moldbreaker)
if pkmn.pbHasType?(:ELECTRIC) || pkmn.pbHasType?(:GROUND)
PBDebug.log("[Entry hazard] #{pkmn.pbThis} absorbed Para Pest")
pkmn.pbOwnSide.effects[PBEffects::ParaPest]=0
pbDisplayPaused(_INTL("{1} ate the Paralysis Pest!",pkmn.pbThis))
elsif pkmn.pbCanParaPest?(moldbreaker)
PBDebug.log("[Entry hazard] #{pkmn.pbThis} triggered ParaPest")
if pkmn.pbOwnSide.effects[PBEffects::ParaPest]==3
pkmn.pbParalyze(nil,_INTL("{1} was paralyzed by the Paralysis Pest!",pkmn.pbThis))
elsif pkmn.pbOwnSide.effects[PBEffects::ParaPest]==2 && pbRandom(10)<6
pkmn.pbParalyze(nil,_INTL("{1} was paralyzed by the Paralysis Pest!",pkmn.pbThis))
elsif pkmn.pbOwnSide.effects[PBEffects::ParaPest]==1 && pbRandom(10)<3
pkmn.pbParalyze(nil,_INTL("{1} was paralyzed by the Paralysis Pest!",pkmn.pbThis))
end
end
end
end
#Launchpad
if pkmn.pbOwnSide.effects[PBEffects::Launchpad] && !pkmn.isFainted? &&
!pkmn.isAirborne?(moldbreaker)
if pkmn.pbCanIncreaseStatStage?(PBStats::ATTACK,nil,false,nil,moldbreaker)
PBDebug.log("[Entry buff] #{pkmn.pbThis} triggered Launchpad")
pbDisplayPaused(_INTL("{1} was launched into battle!",pkmn.pbThis))
pkmn.pbIncreaseStat(PBStats::ATTACK,1,nil,false,nil,true,moldbreaker)
end
if pkmn.pbCanIncreaseStatStage?(PBStats::SPATK,nil,false,nil,moldbreaker)
pkmn.pbIncreaseStat(PBStats::SPATK,1,nil,false,nil,true,moldbreaker)
end
end
Move: Heartbreak
Move Effect: Doubles the damage if the Opposing Pokemon is infatuated. Cures their infatuation.
Suggested Move: Mawile (Especially if you use my Type Buff which gives Fairy a chance to attract on contact.)
Spoiler:
Somewhere in PokeBattle_MoveEffects
Code:
################################################################################
# Power is doubled if the target is infatuated
################################################################################
class PokeBattle_Move_311 < PokeBattle_Move
def pbBaseDamage(basedmg,attacker,opponent)
if opponent.effects[PBEffects::Attract]>=0 &&
(opponent.effects[PBEffects::Substitute]==0 || ignoresSubstitute?(attacker))
return basedmg*2
end
return basedmg
end
def pbEffectAfterHit(attacker,opponent,turneffects)
if !opponent.isFainted? && opponent.damagestate.calcdamage>0 &&
!opponent.damagestate.substitute && opponent.effects[PBEffects::Attract]>=0
opponent.pbCureAttract
end
end
end
Move: Tectonics
Move Effect: This Pokemon protects itself from any move. It's Defense is raised if it protected from anything but a contact move.
Move: Snow Globe
Move Effect: This Pokemon protects itself from any move but a fire type move, which lifts its protection. It's Special Defense is raised if it protects itself from any attack.
Spoiler:
In PBEffects in the same list that Yawn is in make sure you add:
Code:
Tectonics = 120 #Make Sure the Numbers are added to your list
SnowGlobe = 121
Code:
Before the code:
# Spiky Shield
if target.effects[PBEffects::SpikyShield] && thismove.canProtectAgainst? &&
!target.effects[PBEffects::ProtectNegation]
Add this code:
# Tectonics (purposely after pbMoveFailed)
if target.effects[PBEffects::Tectonics] &&
thismove.canProtectAgainst? && !target.effects[PBEffects::ProtectNegation]
@battle.pbDisplay(_INTL("{1} protected itself!",target.pbThis))
@battle.successStates[user.index].protected=true
PBDebug.log("[Move failed] #{target.pbThis}'s Tectonics stopped the attack")
if !thismove.isContactMove? && target.pbCanIncreaseStatStage?(PBStats::DEFENSE,target)
target.pbIncreaseStat(PBStats::DEFENSE,1,nil,false)
end
return false
end
# Snowglobe (purposely after pbMoveFailed)
if target.effects[PBEffects::SnowGlobe] && thismove.canProtectAgainst? && !target.effects[PBEffects::ProtectNegation]
if !isConst?(thismove.type,PBTypes,:FIRE)
@battle.pbDisplay(_INTL("{1}'s snowglobe protected itself!",target.pbThis))
@battle.successStates[user.index].protected=true
PBDebug.log("[Move failed] #{target.pbThis}'s Snowglobe stopped the attack")
if target.pbCanIncreaseStatStage?(PBStats::SPDEF,target)
target.pbIncreaseStat(PBStats::SPDEF,1,nil,false)
end
return false
else
@battle.pbDisplay(_INTL("{1}'s snowglobe has melted!",target.pbThis))
target.effects[PBEffects::SnowGlobe]=false
end
end
Code:
After this code:
@effects[PBEffects::KingsShield] = false
Add this code:
@effects[PBEffects::Tectonics] = false
@effects[PBEffects::SnowGlobe] = false
Code:
################################################################################
# User is protected against damaging moves this round. Increased the defense
# of the target of a stopped contact move by 1 stages. (Tectonics)
################################################################################
class PokeBattle_Move_312 < PokeBattle_Move
def pbEffect(attacker,opponent,hitnum=0,alltargets=nil,showanimation=true)
if attacker.effects[PBEffects::Tectonics]
@battle.pbDisplay(_INTL("But it failed!"))
return -1
end
ratesharers=[
0xAA, # Detect, Protect
0xAB, # Quick Guard
0xAC, # Wide Guard
0xE8, # Endure
0x14B, # King's Shield
0x14C, # Spiky Shield
0x316, # Snow Globe
0x312 # Tectonics
]
if !ratesharers.include?(PBMoveData.new(attacker.lastMoveUsed).function)
attacker.effects[PBEffects::ProtectRate]=1
end
unmoved=false
for poke in @battle.battlers
next if poke.index==attacker.index
if @battle.choices[poke.index][0]==1 && # Chose a move
!poke.hasMovedThisRound?
unmoved=true; break
end
end
if !unmoved ||
(!USENEWBATTLEMECHANICS &&
@battle.pbRandom(65536)>=(65536/attacker.effects[PBEffects::ProtectRate]).floor)
attacker.effects[PBEffects::ProtectRate]=1
@battle.pbDisplay(_INTL("But it failed!"))
return -1
end
pbShowAnimation(@id,attacker,nil,hitnum,alltargets,showanimation)
attacker.effects[PBEffects::Tectonics]=true
attacker.effects[PBEffects::ProtectRate]*=2
@battle.pbDisplay(_INTL("{1} protected itself!",attacker.pbThis))
return 0
end
end
################################################################################
# User is protected against damaging moves this round. Increased the Sp.defense
# of the target of a stopped special move by 1 stages. (Snow Globe)
################################################################################
class PokeBattle_Move_316 < PokeBattle_Move
def pbEffect(attacker,opponent,hitnum=0,alltargets=nil,showanimation=true)
if attacker.effects[PBEffects::SnowGlobe]
@battle.pbDisplay(_INTL("But it failed!"))
return -1
end
ratesharers=[
0xAA, # Detect, Protect
0xAB, # Quick Guard
0xAC, # Wide Guard
0xE8, # Endure
0x14B, # King's Shield
0x14C, # Spiky Shield
0x312, # Tectonics
0x316 # Snow Globe
]
if !ratesharers.include?(PBMoveData.new(attacker.lastMoveUsed).function)
attacker.effects[PBEffects::ProtectRate]=1
end
unmoved=false
for poke in @battle.battlers
next if poke.index==attacker.index
if @battle.choices[poke.index][0]==1 && # Chose a move
!poke.hasMovedThisRound?
unmoved=true; break
end
end
if !unmoved ||
(!USENEWBATTLEMECHANICS &&
@battle.pbRandom(65536)>=(65536/attacker.effects[PBEffects::ProtectRate]).floor)
attacker.effects[PBEffects::ProtectRate]=1
@battle.pbDisplay(_INTL("But it failed!"))
return -1
end
pbShowAnimation(@id,attacker,nil,hitnum,alltargets,showanimation)
attacker.effects[PBEffects::SnowGlobe]=true
attacker.effects[PBEffects::ProtectRate]*=2
@battle.pbDisplay(_INTL("{1} protected itself!",attacker.pbThis))
return 0
end
end
Code:
0x316, # Snow Globe
0x312, # Tectonics
Wherever you see
0x14B, # King's Shield
Code:
After: @battlers[i].effects[PBEffects::KingsShield]=false
Add:
@battlers[i].effects[PBEffects::Tectonics]=false
@battlers[i].effects[PBEffects::SnowGlobe]=false
Move: Sleight of Hand
Move Effect: Swaps your entry hazards and buffs for the opponents entry hazards and buffs.
Possible Pokemon to learn: Weavile, Pangoro, Delphox
Spoiler:
Somewhere in PokeBattle_MoveEffects
Code:
################################################################################
# Swaps Entry Hazards
#
################################################################################
class PokeBattle_Move_319 < PokeBattle_Move
def pbEffect(attacker,opponent,hitnum=0,alltargets=nil,showanimation=true)
return super(attacker,opponent,hitnum,alltargets,showanimation) if pbIsDamaging?
for i in [PBEffects::Reflect,PBEffects::LightScreen,PBEffects::Mist,
PBEffects::AuroraVeil,PBEffects::Safeguard,PBEffects::Spikes,PBEffects::StealthRock,
PBEffects::StickyWeb,PBEffects::Launchpad,PBEffects::ToxicSpikes,PBEffects::ParaPest]
opponent.pbOwnSide.effects[i],opponent.pbOpposingSide.effects[i]=opponent.pbOpposingSide.effects[i],opponent.pbOwnSide.effects[i]
end
@battle.pbDisplay(_INTL("{1} switched field effects the opponent's team!",attacker.pbThis))
return 0
end
end
#Make Sure you ditch my entry hazards if you plan on using this move without the hazards added. Also make sure you add your own custom entry hazards.
Move: Bow / Artemis Bow
Move Effect: The user utilizes his Bow to attack the Opponent. Its hold item dictates what the type of the damage may be, as well as its additional effect. Artemis Bow has a higher damage output and effect chance. If holding an arrow item, the damage is also doubled. (Make sure if you use the Silence Arrow, that you have the Silence [or throat chop] effect somewhere.)
Possible Pokemon: Decidueye, Scizor
Spoiler:
Somewhere in PokeBattle_MoveEffect
Code:
################################################################################
# Attacks with a Bow and Arrow. Damage. Effect, and Type is dependant on item.
################################################################################
class PokeBattle_Move_317 < PokeBattle_Move
def pbModifyType(type,attacker,opponent)
type=getConst(PBTypes,:NORMAL) || 0
if isConst?(@id,PBMoves,:BOW) || isConst?(@id,PBMoves,:ARTEMISBOW)
type=(getConst(PBTypes,:GRASS) || 0) if attacker.hasWorkingItem(:SLEEPARROW)
type=(getConst(PBTypes,:DARK) || 0) if attacker.hasWorkingItem(:SILENCEARROW)
type=(getConst(PBTypes,:POISON) || 0) if attacker.hasWorkingItem(:POISONARROW)
type=(getConst(PBTypes,:ROCK) || 0) if attacker.hasWorkingItem(:MEDUSARROW)
type=(getConst(PBTypes,:STEEL) || 0) if attacker.hasWorkingItem(:IRONARROW)
type=(getConst(PBTypes,:FIRE) || 0) if attacker.hasWorkingItem(:FIREARROW)
type=(getConst(PBTypes,:ICE) || 0) if attacker.hasWorkingItem(:ICEARROW)
type=(getConst(PBTypes,:ELECTRIC) || 0) if attacker.hasWorkingItem(:HOLYARROW)
end
return type
end
def pbAdditionalEffect(attacker,opponent)
return if opponent.damagestate.substitute
if attacker.hasWorkingItem(:FIREARROW) && opponent.pbCanBurn?(attacker,false,self)
opponent.pbBurn(attacker)
elsif attacker.hasWorkingItem(:ICEARROW) && opponent.pbCanFreeze?(attacker,false,self)
opponent.pbFreeze
elsif attacker.hasWorkingItem(:POISONARROW) && opponent.pbCanPoison?(attacker,false,self)
opponent.pbPoison(attacker)
elsif attacker.hasWorkingItem(:MEDUSAARROW)
opponent.pbFlinch(attacker)
elsif attacker.hasWorkingItem(:HOLYARROW) && opponent.pbCanParalyze?(attacker,false,self)
opponent.pbParalyze(attacker)
elsif attacker.pbCanIncreaseStatStage?(PBStats::ATTACK,attacker,false,self) && attacker.hasWorkingItem(:IRONARROW)
attacker.pbIncreaseStat(PBStats::ATTACK,1,attacker,false,self)
elsif attacker.hasWorkingItem(:SILENCEARROW) && opponent.effects[PBEffects::Silence]==0
return if !attacker.hasMoldBreaker && (opponent.hasWorkingAbility(:AROMAVEIL) || opponent.pbPartner.hasWorkingAbility(:AROMAVEIL))
opponent.effects[PBEffects::Silence]=2
@battle.pbDisplay(_INTL("{1} has been silenced!",opponent.pbThis))
elsif attacker.hasWorkingItem(:SLEEPARROW) && opponent.pbCanSleep?(attacker,false,self)
opponent.pbSleep
end
end
def pbBaseDamage(basedmg,attacker,opponent)
if attacker.hasWorkingItem(:FIREARROW) ||
attacker.hasWorkingItem(:ICEARROW) ||
attacker.hasWorkingItem(:HOLYARROW) ||
attacker.hasWorkingItem(:IRONARROW) ||
attacker.hasWorkingItem(:MEDUSAARROW) ||
attacker.hasWorkingItem(:SILENCEARROW) ||
attacker.hasWorkingItem(:POISONARROW) ||
attacker.hasWorkingItem(:SLEEPARROW)
return basedmg*2
end
return basedmg
end
end
Move: Polarity Sync
Move Effect: The user and its partner synchronizes its polarity. It changes its own ability to Plus and changes its partner's ability to Minus
Possible Pokemon: Pikachu, Raichu, Pichu, Plusle, Minun, Pachirisu, Emolga, Dedenne, Todegemaru
(I apparently wanted to make the rats overpowered. With the Mascot Ability, my Custom Type buff, and this move, it makes their Sp.Atk 2.81 stronger after one turn, and its two of them on the field. I'm a psychopath.)
Spoiler:
Put this somewhere in PokeBattle_MoveEffect
Code:
################################################################################
# User's ability becomes Plus and partners Minus
################################################################################
class PokeBattle_Move_306 < PokeBattle_Move
def pbEffect(attacker,opponent,hitnum=0,alltargets=nil,showanimation=true)
if attacker.pbPartner && !attacker.pbPartner.isFainted?
if isConst?(attacker.ability,PBAbilities,:MULTITYPE) ||
isConst?(attacker.ability,PBAbilities,:STANCECHANGE) ||
isConst?(attacker.ability,PBAbilities,:SCHOOLING) ||
isConst?(attacker.ability,PBAbilities,:RKSSYSTEM) ||
attacker.pbPartner.hasWorkingAbility(:MULTITYPE) ||
attacker.pbPartner.hasWorkingAbility(:STANCECHANGE) ||
attacker.pbPartner.hasWorkingAbility(:SCHOOLING) ||
attacker.pbPartner.hasWorkingAbility(:RKSSYSTEM)
@battle.pbDisplay(_INTL("But it failed!"))
return -1
else
pbShowAnimation(@id,attacker,opponent,hitnum,alltargets,showanimation)
oldabil=attacker.ability
attacker.ability=getConst(PBAbilities,:PLUS) || 0
abilityname=PBAbilities.getName(getConst(PBAbilities,:PLUS))
@battle.pbDisplay(_INTL("{1} acquired {2}!",attacker.pbThis,abilityname))
if attacker.effects[PBEffects::Illusion] && isConst?(oldabil,PBAbilities,:ILLUSION)
PBDebug.log("[Ability triggered] #{attacker.pbThis}'s Illusion ended")
opponent.effects[PBEffects::Illusion]=nil
@battle.scene.pbChangePokemon(attacker,attacker.pokemon)
@battle.pbDisplay(_INTL("{1}'s {2} wore off!",attacker.pbThis,PBAbilities.getName(oldabil)))
end
if attacker.pbPartner
oldabil=attacker.pbPartner.ability
attacker.pbPartner.ability=getConst(PBAbilities,:MINUS) || 0
abilityname=PBAbilities.getName(getConst(PBAbilities,:MINUS))
@battle.pbDisplay(_INTL("{1} acquired {2}!",attacker.pbPartner.pbThis,abilityname))
if attacker.pbPartner.effects[PBEffects::Illusion] && isConst?(oldabil,PBAbilities,:ILLUSION)
PBDebug.log("[Ability triggered] #{attacker.pbThis}'s Illusion ended")
opponent.effects[PBEffects::Illusion]=nil
@battle.scene.pbChangePokemon(attacker,attacker.pokemon)
@battle.pbDisplay(_INTL("{1}'s {2} wore off!",attacker.pbPartner.pbThis,PBAbilities.getName(oldabil)))
end
end
end
else
@battle.pbDisplay(_INTL("But it failed!"))
return -1
end
return 0
end
end
NEW ITEMS
Item: Red Bracer, Yellow Belt, Blue Lens, Green Band, Pink Anklet
Item Description: These items boost one stat by 1.2 and two stats by 1.1. It will multiply again if the BST is below 501, and again if below 401, and again if below 301.
Spoiler:
In PokeBattle_Battler, before
Code:
before if self.pbOwnSide.effects[PBEffects::Tailwind]>0
add
if self.hasWorkingItem(:PINKANKLET)
speedmult=(speedmult*1.2).round if pbBaseStatTotal(self.species)<501
speedmult=(speedmult*1.2).round if pbBaseStatTotal(self.species)<401
speedmult=(speedmult*1.2).round if pbBaseStatTotal(self.species)<301
speedmult=(speedmult*1.2).round
end
if self.hasWorkingItem(:GREENBAND) || self.hasWorkingItem(:BLUELENS)
speedmult=(speedmult*1.1).round if pbBaseStatTotal(self.species)<501
speedmult=(speedmult*1.1).round if pbBaseStatTotal(self.species)<401
speedmult=(speedmult*1.1).round if pbBaseStatTotal(self.species)<301
speedmult=(speedmult*1.1).round
end
Code:
Before if attacker.hasWorkingItem(:CHOICESPECS) && pbIsSpecial?(type)
add
if attacker.hasWorkingItem(:REDBRACER) && pbIsPhysical?(type)
atkmult=(atkmult*1.2).round if pbBaseStatTotal(attacker.species)<501
atkmult=(atkmult*1.2).round if pbBaseStatTotal(attacker.species)<401
atkmult=(atkmult*1.2).round if pbBaseStatTotal(attacker.species)<301
atkmult=(atkmult*1.2).round
end
if (attacker.hasWorkingItem(:YELLOWBELT) || attacker.hasWorkingItem(:BLUELENS)) && pbIsPhysical?(type)
atkmult=(atkmult*1.1).round if pbBaseStatTotal(attacker.species)<501
atkmult=(atkmult*1.1).round if pbBaseStatTotal(attacker.species)<401
atkmult=(atkmult*1.1).round if pbBaseStatTotal(attacker.species)<301
atkmult=(atkmult*1.1).round
end
if attacker.hasWorkingItem(:BLUELENS) && pbIsSpecial?(type)
atkmult=(atkmult*1.2).round if pbBaseStatTotal(attacker.species)<501
atkmult=(atkmult*1.2).round if pbBaseStatTotal(attacker.species)<401
atkmult=(atkmult*1.2).round if pbBaseStatTotal(attacker.species)<301
atkmult=(atkmult*1.2).round
end
if (attacker.hasWorkingItem(:REDBRACER) || attacker.hasWorkingItem(:PINKANKLET)) && pbIsSpecial?(type)
atkmult=(atkmult*1.1).round if pbBaseStatTotal(attacker.species)<501
atkmult=(atkmult*1.1).round if pbBaseStatTotal(attacker.species)<401
atkmult=(atkmult*1.1).round if pbBaseStatTotal(attacker.species)<301
atkmult=(atkmult*1.1).round
end
Code:
before if opponent.hasWorkingItem(:EVIOLITE)
add:
if opponent.hasWorkingItem(:YELLOWBELT) && pbIsPhysical?(type)
defmult=(defmult*1.2).round if pbBaseStatTotal(opponent.species)<501
defmult=(defmult*1.2).round if pbBaseStatTotal(opponent.species)<401
defmult=(defmult*1.2).round if pbBaseStatTotal(opponent.species)<301
defmult=(defmult*1.2).round
end
if (opponent.hasWorkingItem(:REDBRACER) || opponent.hasWorkingItem(:GREENBAND)) && pbIsPhysical?(type)
defmult=(defmult*1.1).round if pbBaseStatTotal(opponent.species)<501
defmult=(defmult*1.1).round if pbBaseStatTotal(opponent.species)<401
defmult=(defmult*1.1).round if pbBaseStatTotal(opponent.species)<301
defmult=(defmult*1.1).round
end
if opponent.hasWorkingItem(:GREENBAND) && pbIsSpecial?(type)
defmult=(defmult*1.2).round if pbBaseStatTotal(opponent.species)<501
defmult=(defmult*1.2).round if pbBaseStatTotal(opponent.species)<401
defmult=(defmult*1.2).round if pbBaseStatTotal(opponent.species)<301
defmult=(defmult*1.2).round
end
if (opponent.hasWorkingItem(:PINKANKLET) || opponent.hasWorkingItem(:YELLOWBELT)) && pbIsSpecial?(type)
defmult=(defmult*1.1).round if pbBaseStatTotal(opponent.species)<501
defmult=(defmult*1.1).round if pbBaseStatTotal(opponent.species)<401
defmult=(defmult*1.1).round if pbBaseStatTotal(opponent.species)<301
defmult=(defmult*1.1).round
end
Ability PBS
Spoiler:
xxx,MASCOT,Mascot,"The Pok?mon's ego randomly boosts its Atk, Sp.Atk, or Spe on switch in."
xxx,OVERCLOCK,Overclock,"This Pokemon has no cool-down! Recharge moves won't need recharging!"
xxx,OVERCLOCK,Overclock,"This Pokemon has no cool-down! Recharge moves won't need recharging!"
Move PBS
Spoiler:
xxx,PARALYSISPEST,Paralysis Pest,300,0,ELECTRIC,Status,0,20,0,80,0,ce,"Lays down an electric pest which causes the opponents team a chance to be paralyzed. Can lay down multiple layers."
xxx,LAUNCHPAD,Launchpad,310,0,ELECTRIC,Status,0,30,0,40,0,d,"Places a launchpad on your side of the field which inceases Attack and Sp.Atk when entering."
xxx,HEARTBREAK,Heartbreak,311,90,DARK,Physical,100,20,0,00,0,abef,"Breaks the Pokemon's heart. Does double damage if the opposing Pokemon is infatuated."
xxx,TECTONICS,Tectonics,312,0,ROCK,Status,0,10,0,10,4,d,"The user takes a defensive position while it protects itself from damage. If contact +1 Def."
xxx,SNOWGLOBE,Snow Globe,316,0,ICE,Status,0,10,0,10,4,d,"The user makes a snowglobe to protect itself from all moves but fire. If succeeds SpDef increased."
xxx,SLEIGHTOFHAND,Sleight of Hand,319,0,PSYCHIC,Status,0,15,0,00,0,,"The user mischevously swaps foe's obstacles such as Light Screen and Spikes with own."
xxx,BOW,Bow,317,30,NORMAL,Physical,100,20,10,00,0,bef,"The user releases its arrows. Its type varies with the kind of Arrow the user is holding."
xxx,ARTEMISBOW,Artemis Bow,317,50,NORMAL,Physical,100,10,20,00,0,bef,"The user releases its arrows. Its type varies with the kind of Arrow the user is holding."
xxx,POLARITYSYNC,Polarity Sync,306,0,ELECTRIC,Status,0,20,0,20,0,,"Syncronizes the polarity on the users side of the field. User has its ability set to Plus while partners, Minus."
xxx,LAUNCHPAD,Launchpad,310,0,ELECTRIC,Status,0,30,0,40,0,d,"Places a launchpad on your side of the field which inceases Attack and Sp.Atk when entering."
xxx,HEARTBREAK,Heartbreak,311,90,DARK,Physical,100,20,0,00,0,abef,"Breaks the Pokemon's heart. Does double damage if the opposing Pokemon is infatuated."
xxx,TECTONICS,Tectonics,312,0,ROCK,Status,0,10,0,10,4,d,"The user takes a defensive position while it protects itself from damage. If contact +1 Def."
xxx,SNOWGLOBE,Snow Globe,316,0,ICE,Status,0,10,0,10,4,d,"The user makes a snowglobe to protect itself from all moves but fire. If succeeds SpDef increased."
xxx,SLEIGHTOFHAND,Sleight of Hand,319,0,PSYCHIC,Status,0,15,0,00,0,,"The user mischevously swaps foe's obstacles such as Light Screen and Spikes with own."
xxx,BOW,Bow,317,30,NORMAL,Physical,100,20,10,00,0,bef,"The user releases its arrows. Its type varies with the kind of Arrow the user is holding."
xxx,ARTEMISBOW,Artemis Bow,317,50,NORMAL,Physical,100,10,20,00,0,bef,"The user releases its arrows. Its type varies with the kind of Arrow the user is holding."
xxx,POLARITYSYNC,Polarity Sync,306,0,ELECTRIC,Status,0,20,0,20,0,,"Syncronizes the polarity on the users side of the field. User has its ability set to Plus while partners, Minus."
Item PBS:
Spoiler:
xxx,SLEEPARROW,Sleep Arrow,Sleep Arrows,1,1000,"An item to be held by a Pok?mon. It is a arrow changes the type of bow moves to Grass. ",0,0,0,
xxx,SILENCEARROW,Silence Arrow,Silence Arrows,1,1000,"An item to be held by a Pok?mon. It is a arrow changes the type of bow moves to Dark. ",0,0,0,
xxx,FIREARROW,Fire Arrow,Fire Arrows,1,1000,"An item to be held by a Pok?mon. It is a arrow changes the type of bow moves to Fire. ",0,0,0,
xxx,ICEARROW,Ice Arrow,Ice Arrows,1,1000,"An item to be held by a Pok?mon. It is a arrow changes the type of bow moves to Ice. ",0,0,0,
xxx,HOLYARROW,Holy Arrow,Holy Arrows,1,1000,"An item to be held by a Pok?mon. It is a arrow changes the type of bow moves to Electric. ",0,0,0,
xxx,POISONARROW,Poison Arrow,Poison Arrows,1,1000,"An item to be held by a Pok?mon. It is a arrow changes the type of bow moves to Poison. ",0,0,0,
xxx,IRONARROW,Iron Arrow,Iron Arrows,1,1000,"An item to be held by a Pok?mon. It is a arrow changes the type of bow moves to Steel. ",0,0,0,
xxx,MEDUSAARROW,Medusa Arrow,Medusa Arrows,1,1000,"An item to be held by a Pok?mon. It is a arrow changes the type of bow moves to Rock. ",0,0,0,
xxx,REDBRACER,Red Bracer,Red Bracers,1,1000,"The Attack, Sp. Attack and Defense is raised according to Base Stat Total.",0,0,0,
xxx,YELLOWBELT,Yellow Belt,Yellow Belts,1,1000,"The Defense, Attack and Sp. Defense is raised according to Base Stat Total.",0,0,0,
xxx,BLUELENS,Blue Lens,Blue Lens,1,1000,"The Sp. Attack, Attack and Speed is raised according to Base Stat Total.",0,0,0,
xxx,GREENBAND,Green Band,Green Bands,1,1000,"The Sp. Defense, Sp. Attack and Speed is raised according to Base Stat Total.",0,0,0,
xxx,PINKANKLET,Pink Anklet,Pink Anklets,1,1000, "The Speed, Sp. Atk, and Sp. Def is raised according to the Base Stat Total.",0,0,0,
Have fun!
Last edited: