DarkFoxVerdigris
Founder of Pokémon Verdigris
- 11
- Posts
- 5
- Years
- Seen Nov 26, 2020
Hey! Since I found a lot of these moves pretty neat, I decided to program them in my game. Not all are done yet and I'll update this as I go (excluding the ones like Scorching Sands that have already existing effects), but here's what I have so far. If you have suggestions to improve any of these scripts, do tell me.
Terrain Pulse
Grassy Glide
I put this in PokeBattle_Battler after Gale Wings, Prankster and Triage, I'm pretty sure the function code itself can stay blank as the only effect Grassy Glide has is priority in Grassy Terrain
Rising Voltage
Meteor Beam
Terrain Pulse
Code:
class PokeBattle_Move_219 < PokeBattle_Move
def pbBaseDamage(basedmg,attacker,opponent)
if @battle.field.effects!=0
return basedmg*2
end
return basedmg
end
def pbModifyType(type,attacker,opponent)
type=getConst(PBTypes,:NORMAL) || 0
case @battle.field.effects
when PBEffects::GrassyTerrain
type=(getConst(PBTypes,:GRASS) || type)
when PBEffects::PsychicTerrain
type=(getConst(PBTypes,:PSYCHIC) || type)
when PBEffects::MistyTerrain
type=(getConst(PBTypes,:FAIRY) || type)
when PBEffects::ElectricTerrain
type=(getConst(PBTypes,:ELECTRIC) || type)
end
return type
end
end
Grassy Glide
I put this in PokeBattle_Battler after Gale Wings, Prankster and Triage, I'm pretty sure the function code itself can stay blank as the only effect Grassy Glide has is priority in Grassy Terrain
Code:
p+=1 if @function==0x220 && PBEffects::GrassyTerrain && !attacker.isAirborne?
end
Rising Voltage
Code:
class PokeBattle_Move_221 < PokeBattle_Move
def pbModifyDamage(damagemult,attacker,opponent)
if @battle.field.effects[PBEffects::ElectricTerrain]>0 &&
!attacker.isAirborne?
return (damagemult*2.0).round
end
return damagemult
end
end
Meteor Beam
Code:
class PokeBattle_Move_222 < PokeBattle_Move
def pbTwoTurnAttack(attacker)
@immediate=false
if !@immediate && attacker.hasWorkingItem(:POWERHERB)
@immediate=true
end
return false if @immediate
return attacker.effects[PBEffects::TwoTurnAttack]==0
end
def pbEffect(attacker,opponent,hitnum=0,alltargets=nil,showanimation=true)
if @immediate || attacker.effects[PBEffects::TwoTurnAttack]>0
pbShowAnimation(@id,attacker,opponent,1,alltargets,showanimation) # Charging anim
@battle.pbDisplay(_INTL("{1} is overflowing with space power!",attacker.pbThis))
if attacker.pbCanIncreaseStatStage?(PBStats::SPATK,attacker,false,self)
attacker.pbIncreaseStat(PBStats::SPATK,1,attacker,false,self)
end
end
if @immediate
@battle.pbCommonAnimation("UseItem",attacker,nil)
@battle.pbDisplay(_INTL("{1} became fully charged due to its Power Herb!",attacker.pbThis))
attacker.pbConsumeItem
end
return 0 if attacker.effects[PBEffects::TwoTurnAttack]>0
return super(attacker,opponent,hitnum,alltargets,showanimation)
end
end