Las formas de Castform cambian en batalla, así que yo diría que lo más fácil para añadir una nueva forma de Castform sería editar directamente su parte de código y no añadir la nueva forma como una forma aparte en el código.
Si vas al editor de scripts, pulsas Control + Shift + F y buscas Castform te saldrán dos resultados en PokeBattle_Battler, ve al primer resultado (en mi caso era en la línea 840) y verás esto:
Código:
if isConst?(self.species,PBSpecies,:CASTFORM)
if self.hasWorkingAbility(:FORECAST)
case @battle.pbWeather
when PBWeather::SUNNYDAY, PBWeather::HARSHSUN
if self.form!=1
self.form=1; transformed=true
end
when PBWeather::RAINDANCE, PBWeather::HEAVYRAIN
if self.form!=2
self.form=2; transformed=true
end
when PBWeather::HAIL
if self.form!=3
self.form=3; transformed=true
end
else
if self.form!=0
self.form=0; transformed=true
end
end
else
if self.form!=0
self.form=0; transformed=true
end
end
end
[/PLAIN]
Puedes añadir algo así y debería de funcionar:
Código:
if isConst?(self.species,PBSpecies,:CASTFORM)
if self.hasWorkingAbility(:FORECAST)
case @battle.pbWeather
when PBWeather::SUNNYDAY, PBWeather::HARSHSUN
if self.form!=1
self.form=1; transformed=true
end
when PBWeather::RAINDANCE, PBWeather::HEAVYRAIN
if self.form!=2
self.form=2; transformed=true
end
when PBWeather::HAIL
if self.form!=3
self.form=3; transformed=true
end
else[/PLAIN]
[B][I][U]# El clima está normal y es de noche[/U]
[U]if PBDayNight.isNight?[/U]
[U]self.form = 5; transformed=true[/U]
[U]else[/U][/I][/B]
if self.form!=0
self.form=0; transformed=true
end
[B][U]end[/U][/B][PLAIN]
end
else
if self.form!=0
self.form=0; transformed=true
end
end
end
[/PLAIN]