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

Avisos


Like Tree1Gracias
  • 1 Post By KleinStudio
Tema cerrado
 
Herramientas Desplegado
  #1  
24/08/2018
Predeterminado Cambio de forma por habilidad predicción y hora del día
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
  #2  
26/08/2018
Predeterminado Respuesta: Cambio de forma por habilidad predicción y hora del día
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
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
         # El clima está normal y es de noche
         if PBDayNight.isNight?
            self.form = 5; transformed=true
          else
            if self.form!=0
              self.form=0; transformed=true
            end
          end
        end
      else
        if self.form!=0
          self.form=0; transformed=true
        end
      end
    end
Gracias: Morel X
  #3  
28/08/2018
Predeterminado Respuesta: Cambio de forma por habilidad predicción y hora del día
Dicho por KleinStudio Ver mensaje
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
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
         # El clima está normal y es de noche
         if PBDayNight.isNight?
            self.form = 5; transformed=true
          else
            if self.form!=0
              self.form=0; transformed=true
            end
          end
        end
      else
        if self.form!=0
          self.form=0; transformed=true
        end
      end
    end
Perfecto, funciona, muchas gracias Klein
Tema cerrado

Herramientas
Desplegado

Permisos para publicar mensajes
No puedes crear nuevos temas
No puedes responder mensajes
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Los BB code están Activado
Los Emoticones están Activado
El código [IMG] está Activado
El Código HTML está Desactivado
Trackbacks are Activado
Pingbacks are Activado
Refbacks are Desactivado



Extra
Estilo clásico
La franja horaria es GMT +1. Ahora son las 09:05.

© Whack a Hack! 2019