Registrarse

[DUDA] Nuevos tipos de balls con sus iconos en EliteBattleSystem

Estado
Cerrado para nuevas respuestas.

Scraft

Campeón de Kastilia
Tengo intención de introducir nuevas balls pero me surgen varias dudas:

- En que script están los ratios de capturas?
- Se podría incluir una excepción con un array donde almacenas el nombre interno de un Pokémon y así poner otro tipo de rato de la ball si se cumple esta condición?
- Uso el script EliteBattleSystem y los gráficos de las balls son algo diferentes. Donde debo incluir las animaciones de estas nuevas balls?
- Supongo que se pueden modificar los ratios de captura de las balls existentes ¿no?
 

KleinStudio

Un plato es un plato
Miembro del equipo
Webmaster
Tengo intención de introducir nuevas balls pero me surgen varias dudas:

- En que script están los ratios de capturas?
- Se podría incluir una excepción con un array donde almacenas el nombre interno de un Pokémon y así poner otro tipo de rato de la ball si se cumple esta condición?
- Uso el script EliteBattleSystem y los gráficos de las balls son algo diferentes. Donde debo incluir las animaciones de estas nuevas balls?
- Supongo que se pueden modificar los ratios de captura de las balls existentes ¿no?

  1. Supongo que ratios de captura de las balls, están en el script PItems_PokeBalls.
    Puedes ver como funciona aquí: Item effects - Pokémon Essentials Wiki - Wikia
  2. ¿Por ejemplo que si le lanzas un tipo de PokéBall específico a un Mewtwo tenga más posibilidades de captura? Esto se podría hacer más o menos así:
    Primero creamos el array que almacena los Pokémon "especiales" que queremos.
    Código:
      arrayPokes = []
      # push(species)
      arrayPokes.push(150)
    Y ahora definimos la nueva PokéBall o modificamos alguna existente:
    Código:
    BallHandlers::IsUnconditional.add(:KLEINBALL,proc{|ball,battle,battler|
       next arrayPokes.include?(battler.species)
    })
    Esto haría que la "Klein Ball" funcionase únicamente con Mewtwo y además tuviese un ratio de captura del 100%.
    También puedes hacer que funcione por tipos o incluso niveles, la variable "battler" almacena todos los datos del Pokémon al que le estás lanzando la ball por lo que si pones algo tipo:
    Código:
    BallHandlers::IsUnconditional.add(:KLEINBALL,proc{|ball,battle,battler|
       next battler.level == 85
    })
    capturarás al Pokémon sólo si tiene exactamente el nivel 85.
  3. En "Pictures/pokeballs.png", si te vas al script PItem_PokeBalls puedes ver que cada ball tiene una id y es lo que usa ese sistema de batalla para cortar el trozo de imagen necesaria.
  4. La primera respuesta responde a esto.
 

Scraft

Campeón de Kastilia
  1. Supongo que ratios de captura de las balls, están en el script PItems_PokeBalls.
    Puedes ver como funciona aquí: Item effects - Pokémon Essentials Wiki - Wikia
  2. ¿Por ejemplo que si le lanzas un tipo de PokéBall específico a un Mewtwo tenga más posibilidades de captura? Esto se podría hacer más o menos así:
    Primero creamos el array que almacena los Pokémon "especiales" que queremos.
    Código:
      arrayPokes = []
      # push(species)
      arrayPokes.push(150)
    Y ahora definimos la nueva PokéBall o modificamos alguna existente:
    Código:
    BallHandlers::IsUnconditional.add(:KLEINBALL,proc{|ball,battle,battler|
       next arrayPokes.include?(battler.species)
    })
    Esto haría que la "Klein Ball" funcionase únicamente con Mewtwo y además tuviese un ratio de captura del 100%.
    También puedes hacer que funcione por tipos o incluso niveles, la variable "battler" almacena todos los datos del Pokémon al que le estás lanzando la ball por lo que si pones algo tipo:
    Código:
    BallHandlers::IsUnconditional.add(:KLEINBALL,proc{|ball,battle,battler|
       next battler.level == 85
    })
    capturarás al Pokémon sólo si tiene exactamente el nivel 85.
  3. En "Pictures/pokeballs.png", si te vas al script PItem_PokeBalls puedes ver que cada ball tiene una id y es lo que usa ese sistema de batalla para cortar el trozo de imagen necesaria.
  4. La primera respuesta responde a esto.
Gracias me ha servido de mucho. Una última pregunta, me acabo de fijar en las lineas de la Luna Ball donde en vez de meter por número usa los nombres internos para llamar a los Pokémon:


Código:
BallHandlers::ModifyCatchRate.add(:MOONBALL,proc{|ball,catchRate,battle,battler|
   if isConst?(battler.species,PBSpecies,:NIDORANfE) ||
      isConst?(battler.species,PBSpecies,:NIDORINA) ||
      isConst?(battler.species,PBSpecies,:NIDOQUEEN) ||
      isConst?(battler.species,PBSpecies,:NIDORANmA) ||
      isConst?(battler.species,PBSpecies,:NIDORINO) ||
      isConst?(battler.species,PBSpecies,:NIDOKING) ||
      isConst?(battler.species,PBSpecies,:CLEFFA) ||
      isConst?(battler.species,PBSpecies,:CLEFAIRY) ||
      isConst?(battler.species,PBSpecies,:CLEFABLE) ||
      isConst?(battler.species,PBSpecies,:IGGLYBUFF) ||
      isConst?(battler.species,PBSpecies,:JIGGLYPUFF) ||
      isConst?(battler.species,PBSpecies,:WIGGLYTUFF) ||
      isConst?(battler.species,PBSpecies,:SKITTY) ||
      isConst?(battler.species,PBSpecies,:DELCATTY) ||
      isConst?(battler.species,PBSpecies,:MUNNA) ||
      isConst?(battler.species,PBSpecies,:MUSHARNA)
     catchRate*=4
   end
   next catchRate
})
Si antes del end añado un else y pongo un catchRate*=5 por ejemplo haría que en caso de que el Pokémon objetivo no sea ninguno de los anteriores aplicaría dicho ratio verdad?
 

KleinStudio

Un plato es un plato
Miembro del equipo
Webmaster
Exacto, devolvería el ratio de captura base multiplicado por cuatro si se cumplen las condiciones y multiplicado por cinco si no.
 
Estado
Cerrado para nuevas respuestas.
Arriba