Talents PSP 0.9.2

5 Réponses • 98 Vues

Bonjour à tous et à toutes,
En jetant un coup d'oeil sur les suggestions-bugs du serveur Discord de Pokémon Ambre, j'ai remarqué qu'il manquait pas mal de talents dans les Battle_Core. En conséquence, le temps de l'arrivée de PSP 0.10, je vous propose que je recode certains de ces talents. Pour le moment j'ai juste recodé le talent Motorisé, que l'on m'avait signalé. Aussi, si vous pouviez me donner votre avis à propos des talents qu'il faudrait coder et de ceux qui devront être faits en priorité.

Talent Motorisé (/!\ Ce script n'a été testé que sur PSP 0.9.2, le support ne se fera que sur ce SK et non sur ses dérivés. De plus, ces corrections ne sont pas nécessaires et sont irréalisables sur PSDK) :

Pour le talent Motorisé, il vous faudra vous rendre dans le Battle_Core_1 et trouver
def status_check(target, status, forcing = false)
      # Immunités
      # Poison
      if (target.type_poison? or target.type_steel?) and
          (status == 1 or status == 8)
        draw_text(target.given_name + " est insensible", "au poison!")
        wait(40)
        return
      end
En-dessous, vous devrez placer :
      if target.ability == 79 and target.type_electric? and status == 2 and (target == @actor? @enemy_skill : @actor_skill).type == 4 
        #Motorisé
        return
      end
Ensuite, rendez-vous dans le Battle_Core_2 vers la ligne 1185  et à la place de :
attack_animation(info, hit, miss, user, user_skill, user_sprite, target_sprite)
Mettez :
        unless (target.ability == 79 and user_skill.type == 4) #Motorisé
          attack_animation(info, hit, miss, user, user_skill, user_sprite, target_sprite)
        end
Puis vers la ligne 2436 après :
case target.ability
(qui est situé avant un
when 28
)
placez :
            when 79 #Motorisé
              if target.type_electric? and user_skill.type == 4
                draw_text("#{target.ability_name} de #{target.given_name} l'immunise", "aux dégats de type Electric")
                wait(40)
                n = target.change_spd(+1)
                raise_stat("SPD", target, n)
              end
Enfin vers la ligne 2977 après
case target.ability
(situé avant
when 47
) placez :
        when 79 #Motorisé
          if target.type_electric? and user_skill.type == 4
            base_damage = 0
          end
Normalement vous pouvez tester et admirer ce nouveau talent (sauf si j'ai oublié un bout du code en tapant ce message :peur:)
En espérant vous avoir aidé  :)

ERRATUM PSP 0.8.6 : d'après la remarque de Symbioss les deux case target.ability ne sont pas aux mêmes endroits dans les scripts. Il s'agit des deux du milieu situés au-dessus de when 28 et when 47

Talent Déguisement c'est par ici

« Modifié: 16 février 2019, 16:42:12 par yyyyj »

Patch PSP

Je réserve ce message pour être sûr de ne pas manquer de place sur le topic principal :)
Merci à toi yyyyj pour cette initiative, ce sera très utile en attendant PSP0.10 !

"Motorisé" testé dans une version PSP0.8.6 améliorée, je confirme qu'il fonctionne.
Pour ceux qui ont des versions antérieures de PSP, les lignes ne sont pas aux mêmes endroits, donc utilisez ctrl+F dans les script.
Il y a 4 fois la ligne suivante, pas du tout aux mêmes endroits que sur PSP0.9.2 :
case target.ability
Celles dont parle yyyyj sont les deux du milieu.
Très bonne initiative ^^

Je sais que le Talent Déguisement ne fonctionne pas.
Aurais-tu une idée de comment le faire marcher ?

Encore bravo pour ce topic, ça va en aider plus d'un ^^ (Moi le premier)
Je vais voir ce que je peux faire pour remédier à ce talent Déguisement, il est vrai que c'est bizarre puisqu'il est censé être codé, mais comme il ne marche pas ça sert à rien, je vais remettre ça à jour prochainement, merci  :)
Bon j'ai passé une bonne heure sur ce talent Déguisement, puisqu'il était "presque" fonctionnel mais il comportait deux erreurs majeures : il ne fonctionnait que lorsque le Pokémon était du même type que l'attaque, ce qui était totalement inutile, et il inversait les types entre ennemi et notre Pokémon. J'ai finalement corrigé ça. Je reprécise que les lignes sont indicatives puisque ma version de PSP 0.9.2 n'est plus très propre vu que j'expérimente des trucs en même temps : vers la ligne 2453 vous avez un bloc commençant par when 16, supprimez le code entre when 16 et le prochain when (normalement when 9) et collez le suivant en prenant garde à n'avoir qu'un seul when 16 et à conserver le when 9 /!\ : 
when 16 # Déguisement / Color change (ab)
              type = user_skill.type
              if ![target.type1, target.type2].include?(type) and type != 0 and
                  type != target.ability_token and damage > 0 and !target.dead?
                target.ability_token = type
                string = type_string(type)
                draw_text("#{target.ability_name} de #{target.given_name}", "change le type en " + string + "!")
                wait(40)
              end
Normalement votre capacité Déguisement devrait fonctionner, n'hésitez pas à me redemander si vous avez un souci avec  :)


There was an error while thanking
Thanking...