- 288
- Posts
- 6
- Years
- Seen Feb 3, 2025
Here are all the new moves and abilities for Crown Tundra (v17.2):
Thunder Cage:
Eerie Spell:
All Crown Tundra Moves PBS (replace IDs and function codes as appropriate):
Curious Medicine:
Transistor:
Dragon's Maw:
Chilling Neigh:
Grim Neigh:
As One:
Crown Tundra Abilities PBS (replace IDs as appropriate):
Thunder Cage:
Spoiler:
Find this code segment in Pokebattle_MoveEffects:
and add this segment directly underneath:
Code:
elsif isConst?(@id,PBMoves,:INFESTATION)
@battle.pbDisplay(_INTL("{1} has been afflicted with an infestation by {2}!",opponent.pbThis,attacker.pbThis(true)))
Code:
elsif isConst?(@id,PBMoves,:THUNDERCAGE)
@battle.pbDisplay(_INTL("{1} trapped {2}!",attacker.pbThis,opponent.pbThis(true)))
Spoiler:
Paste the following code in Pokebattle_MoveEffects, replacing "1AA" with the function code you use for the move (remember to do the same in PBS):
Code:
################################################################################
# Deals damage and decreases the PP of the last move the target used by 3.
# (Eerie Spell)
################################################################################
class PokeBattle_Move_1AA < PokeBattle_Move
def pbEffect(attacker,opponent,hitnum=0,alltargets=nil,showanimation=true)
for m in opponent.moves
next if m.id != opponent.lastRegularMoveUsed
reduction = [3,m.pp].min
opponent.pbSetPP(m,m.pp-reduction)
@battle.pbDisplay(_INTL("It reduced the PP of {1}'s {2} by {3}!",opponent.pbThis(true),PBMoves.getName(m),reduction))
break
end
end
end
All Crown Tundra Moves PBS (replace IDs and function codes as appropriate):
Spoiler:
Code:
770,THUNDERCAGE,Thunder Cage,0CF,80,ELECTRIC,Special,90,15,0,00,0,bef,"The user traps the target in a cage of sparking electricity for four to five turns."
771,DRAGONENERGY,Dragon Energy,00A,150,DRAGON,Special,100,5,0,04,0,bef,"Converting its life-force into power, the user attacks opposing Pokémon. The lower the user's HP, the lower the move's power."
772,FREEZINGGLARE,Freezing Glare,00C,90,PSYCHIC,Special,100,10,10,00,0,ef,"The user shoots its psychic power from its eyes to attack. This may also leave the target frozen."
773,FIERYWRATH,Fiery Wrath,00F,90,DARK,Special,100,10,20,04,0,ef,"The user transforms its wrath into a fire-like aura to attack. This may also make opposing Pokémon flinch."
774,THUNDEROUSKICK,Thunderous Kick,043,90,FIGHTING,Physical,100,10,100,00,0,aef,"The user overwhelms the target with lightning-like movement before delivering a kick. This also lowers the target's Defense stat."
775,GLACIALLANCE,Glacial Lance,000,130,ICE,Physical,100,5,0,04,0,bef,"The user attacks by hurling a blizzard-cloaked icicle lance at opposing Pokémon."
776,ASTRALBARRAGE,Astral Barrage,000,120,GHOST,Special,100,5,0,04,0,bef,"The user attacks by sending a frightful amount of small ghosts at opposing Pokémon."
777,EERIESPELL,Eerie Spell,1AA,80,PSYCHIC,Special,100,5,0,00,0,befk,"The user attacks with its tremendous psychic power. This also removes 3 PP from the target's last move."
Curious Medicine:
Spoiler:
Paste the following above "# Weather" in Pokebattle_Battler:
Code:
# Curious Medicine
if self.hasWorkingAbility(:CURIOUSMEDICINE) && onactive
worked = false
for i in 1...pbPartner.stages.length # skips HP
if pbPartner.stages[i] != 0
pbPartner.stages[i] = 0
worked = true
end
end
@battle.pbDisplay(_INTL("{1}'s {2} removed {3}'s stat changes!",pbThis,
PBAbilities.getName(self.ability),pbPartner.pbThis(true))) if worked
end
Spoiler:
Paste the following above "if attacker.hasWorkingAbility(:IRONFIST) && isPunchingMove?" in Pokebattle_Move:
Code:
if attacker.hasWorkingAbility(:TRANSISTOR) && isConst?(type,PBTypes,:ELECTRIC)
damagemult=(damagemult*1.5).round
end
Spoiler:
Paste the following above "if attacker.hasWorkingAbility(:IRONFIST) && isPunchingMove?" in Pokebattle_Move:
Code:
if attacker.hasWorkingAbility(:DRAGONSMAW) && isConst?(type,PBTypes,:DRAGON)
damagemult=(damagemult*1.5).round
end
Spoiler:
Paste the following above "# Moxie" in Pokebattle_Battler:
Code:
# Chilling Neigh
if user.hasWorkingAbility(:CHILLINGNEIGH) && target.fainted?
if user.pbIncreaseStatWithCause(PBStats::ATTACK,1,user,PBAbilities.getName(user.ability))
PBDebug.log("[Ability triggered] #{user.pbThis}'s Chilling Neigh")
end
end
Spoiler:
Paste the following above "# Moxie" in Pokebattle_Battler:
Code:
# Grim Neigh
if user.hasWorkingAbility(:GRIMNEIGH) && target.fainted?
if user.pbIncreaseStatWithCause(PBStats::SPATK,1,user,PBAbilities.getName(user.ability))
PBDebug.log("[Ability triggered] #{user.pbThis}'s Grim Neigh")
end
end
Spoiler:
Note that this code will combine the abilities of the 2 Pokemon fused together, no matter which 2 Pokemon or abilities are combined. Also, the 2 Pokemon fused together MUST be originally in form 0 for it to work properly, which is the case for all fusions in the game anyway (Lunala/Solgaleo & Necrozma, Spectrier/Glastrier & Calyrex, and Reshiram/Zekrom & Kyurem). As One will NOT activate when you use "isConst?" to check for an ability, so make sure to use "hasWorkingAbility" if you want it to activate (don't worry about this part if you don't know what I'm talking about).
Paste the following at the bottom of the list under "# These effects apply to a battler" in PBEffects, changing "140" to the lowest available number in your list:
In Pokebattle_Pokemon, find "# Returns the list of abilities this Pokémon can have." and change the following code there with the bolded parts (or replace the whole thing):
In Pokebattle_Battler:
Paste the following at the bottom of the list under "# These effects apply to a battler" in PBEffects, changing "140" to the lowest available number in your list:
Code:
AsOne = 140
In Pokebattle_Pokemon, find "# Returns the list of abilities this Pokémon can have." and change the following code there with the bolded parts (or replace the whole thing):
Code:
# Returns the list of abilities this Pokémon can have.
[B]def getAbilityList(formWithSpecies=self.fSpecies)[/B]
abils=[]; ret=[]
dexdata=pbOpenDexData
[B]pbDexDataOffset(dexdata,formWithSpecies,2)[/B]
abils.push(dexdata.fgetw)
abils.push(dexdata.fgetw)
[B]pbDexDataOffset(dexdata,formWithSpecies,40)[/B]
abils.push(dexdata.fgetw)
abils.push(dexdata.fgetw)
abils.push(dexdata.fgetw)
abils.push(dexdata.fgetw)
dexdata.close
for i in 0...abils.length
next if !abils[i] || abils[i]<=0
ret.push([abils[i],i])
end
return ret
end
In Pokebattle_Battler:
Spoiler:
Find "@effects[PBEffects::Yawn] = 0" and paste the following directly underneath:
Find the following section of code (by searching the for the unbolded part), and paste the bolded part where indicated:
Find "return isConst?(@ability,PBAbilities,ability)" and paste the following directly above:
Code:
@effects[PBEffects::AsOne] = nil
Find the following section of code (by searching the for the unbolded part), and paste the bolded part where indicated:
Code:
def pbAbilitiesOnSwitchIn(onactive)
return if fainted?
[B] if hasWorkingAbility(:ASONE) && @effects[PBEffects::AsOne].nil?
abils = @pokemon.getAbilityList(pbGetFSpeciesFromForm(@pokemon.species,0))
@effects[PBEffects::AsOne] = [@pokemon.fused.ability,abils[@pokemon.abilityIndex][0]]
@battle.pbDisplay(_INTL("As One copied {1} and {2}!",PBAbilities.getName(@effects[PBEffects::AsOne][0]),PBAbilities.getName(@effects[PBEffects::AsOne][1])))
end[/B]
Find "return isConst?(@ability,PBAbilities,ability)" and paste the following directly above:
Code:
if !@effects[PBEffects::AsOne].nil? && (isConst?(@effects[PBEffects::AsOne][0],PBAbilities,ability) ||
isConst?(@effects[PBEffects::AsOne][1],PBAbilities,ability))
return true
end
Crown Tundra Abilities PBS (replace IDs as appropriate):
Spoiler:
Code:
364,CURIOUSMEDICINE,Curious Medicine,"Removes allied stat changes when entering battle."
365,TRANSISTOR,Transistor,"Powers up Electric-type moves."
366,DRAGONSMAW,Dragon's Maw,"Powers up Dragon-type moves."
367,CHILLINGNEIGH,Chilling Neigh,"Boosts Attack when knocking out an opponent."
368,GRIMNEIGH,Grim Neigh,"Boosts Sp. Atk when knocking out an opponent."
369,ASONE,As One,"Combines abilities of fused Pokémon."
Last edited: