Registrarse

[RPG - Scripting] Cambio de forma por habilidad predicción y hora del día

Estado
Cerrado para nuevas respuestas.

Morel X

Pues bueno aquí estamosxD
Buenas, pues Castform es un pokémon que me gusta y le he puesto 2 nuevas formas, la cosa es que una de ella es usada durante la noche y vuelve a la normal por el día, hasta y todo bien, el problema es que al hacer eso, las otras formas que tiene por lluvia, sol y granizo no cambian al ser de día o de noche, como puedo hacer para que se mantengan las otras por encima de las de día y noche? Quiero que solo este en las formas día y noche cuando el tiempo este despejado básicamente, lo tengo así:

"getForm"=>proc{|pokemon|
next 5 if PBDayNight.isNight?
next 0 if PBDayNight.isDay?
next nil
 

KleinStudio

Un plato es un plato
Miembro del equipo
Webmaster
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]
 

Morel X

Pues bueno aquí estamosxD
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]
Perfecto, funciona, muchas gracias Klein :D
 
Estado
Cerrado para nuevas respuestas.
Arriba