[NON FONCTIONNEL][PSP 0.9.2] "Méga-attaques" (ou attaques Dynamax)

8 Réponses • 595 Vues

EDIT Modération : SCRIPT PLUS FONCTIONNEL, MERCI DE NE PAS L'UTILISER. L'AUTEUR N'A ACTUELLEMENT PAS LE TEMPS DE LE METTRE A JOUR.

Bonjour à toutes et à tous,

Aujourd'hui, je vous propose d'ajouter à votre jeu PSP (testé uniquement en v 0.9.2) le fait de transformer vos attaques en versions plus puissantes après une méga-évolution.
Ça peut vous servir si vous décidez d'implémenter le tant controversé Dynamax, mais je me suis limité à la Méga-Évolution ^^

Note : Ce script modifie une attaque spécifique sur un Pokémon spécifique.
Dans l'exemple, à la fin, ce sera seulement Méga-Florizarre qui verra son attaque Tranch'Herbe changée en Tempête Verte.

Crédits :
FL0RENT_ (Script Méga-évolution)
Katsuki
yyyyj (Pour l'aide apportée ^^)
(Si j'ai oublié quelqu'un, dites-le moi)

Pré-requis : En premier lieu, il vous faut installer le script Méga-Évolution de FL0RENT_ : https://pokemonworkshop.fr/forum/index.php?topic=1764.msg28181

Une fois cela fait, rendez-vous dans le script Pokemon_Battle_Core 1.

Juste avant ceci (vers les lignes 2740 (cela peut différer chez vous)) :
Spoiler
end
 
  #------------------------------------------------------------ 
  # Fenêtre de statut
  #------------------------------------------------------------

Rajoutez ça :
Spoiler
def mega_skill(skill)
      listIdMegaSkills = []
      #Florizarre -> Tranch'Herbe -> Tempêteverte
      listIdMegaSkills.push([3, 75, 437])
     
      for a in listIdMegaSkills
        if @actor.mega != nil and @actor.id == a[0]
          if a[1] == skill.id
            skill = Skill.new(a[2])
            break
          end
        end
      end
     
      return skill
    end

Puis, remontez au niveau de la ligne 225 et avant le
Spoiler
list.push(skill.name)

Rajoutez
Spoiler
#Pour changer l'attaque suivant la méga
          skill = mega_skill(skill)

Puis, encore plus bas, vers la ligne 240 et après le
Spoiler
for i in 0..@actor.skills_set.length-1

Remplacez
Spoiler
skill = @actor.skills_set[i]
Par
Spoiler
skill = mega_skill(@actor.skills_set[i])

Puis, encore plus bas, vers la ligne 397 et avant le
Spoiler
if skill != nil and skill.usable?

Rajoutez
Spoiler
#Pour changer l'attaque suivant la méga
          skill = mega_skill(skill)

Ensuite, rendez-vous dans le script Pokemon_Status.

Tout à la fin, avant l'avant-dernier "end", mettre ceci :
Spoiler
    def mega_skill(skill)
      listIdMegaSkills = []
      #Florizarre -> Tranch'Herbe -> Tempêteverte
      listIdMegaSkills.push([3, 75, 437])
     
      for a in listIdMegaSkills
        if @pokemon.mega != nil and @pokemon.id == a[0]
          if a[1] == skill.id
            skill = Skill.new(a[2])
            break
          end
        end
      end
     
      return skill
    end

Remontez vers la ligne 300, après le
Spoiler
for skill in @pokemon.skills_set
Rajoutez
Spoiler
skill = mega_skill(skill)

Puis, un peu plus bas, vers la ligne 315, après le
Spoiler
for skill in @pokemon.skills_set

Rajoutez
Spoiler
#Pour changer l'attaque suivant la méga
          skill = mega_skill(skill)

Voilà ^^

Maintenant, si vous testez en combat, votre Florizarre pourra transformer "Tranch'Herbe" en "Tempête Verte" après avoir méga-évolué ^^

Si vous voulez ajouter d'autres attaques, procédez comme suit, à la suite de
listIdMegaSkills.push([3, 75, 437])
Ajoutez
listIdMegaSkills.push([idPokemon, idAtkBase, idAtkMega])

Voilà ^^ J'espère que ça vous plaira ^^

« Modifié: 24 septembre 2020, 14:51:11 par Rey »

Script PSP

Merci ! Mais j'ai placé toutes ces modifications et j'ai un gros bug, je ne vois plus le nom des attaques :/
Normalement, ça ne devrait même pas faire ça  :mmh:

Tu as bien installé le script de la méga-évolution de FL0RENT_ ? (Pour rappel, une attaque n'est modifiée que si le Pokémon a méga-évolué. Il te faudrait donc intégrer Reptincel à ton script de méga.)
Tu as bien mis ton Reptincel et les ID des attaques dans le script ? Et suivi toutes les instructions ? (Autre rappel, les lignes indiquées peuvent ne pas être les même chez toi que chez moi)

« Modifié: 01 juillet 2019, 14:00:20 par Katsuki-san »

J'ai pourtant placé tout ce que tu as dit... :/
Maintenant quand je démarre un combat le jeu bug, j'ai même plus le choix d'attaques.
En effet, je me suis foiré en recopiant mon code, my bad.

J'ai mis une solution pour toi dans ton autre topic : https://pokemonworkshop.fr/forum/index.php?topic=5097.new#new

Pour ceux qui auraient déjà inclus le script à leur projet, voici la marche à suivre :

Vers la ligne 240 et après le
for i in 0..@actor.skills_set.length-1

Remplacez
skill = @actor.skills_set[i]
Par
skill = mega_skill(@actor.skills_set[i])
Et supprimez le
skill = mega_skill(skill)
que vous avez ajouté.

J'ai aussi modifié le code du premier post.

Voilà. S'il y a encore un soucis, merci de me le signaler :)



EDIT :

Bon... Je me suis rendu compte que ce script passait outre un paquet de trucs (notamment le fait de dépenser des PP pour l'attaque méga, ou le fait que l'ennemi ne déclenchait pas la méga-attaque).

Du coup, je conseilles à tous ceux qui l'ont mis de le supprimer. Je vais essayer de faire un meilleur truc.

Désolé pour le temps perdu  :nememangepas:
Salut, merci pour ton script mais j'ai un problème: la méga attaque garde les mêmes propriétés que celle de base!

Rey

Modérateur

Il serait peut-être intéressant de lire le titre du topic : [NON FONCTIONNEL]
On ne fournira donc aucune aide concernant ce dernier sauf si Katsuki a entre-temps bossé une nouvelle version du script.
Non, j'ai lâché l'affaire.
Et puis avec les restructurations qu'à subies PSP, les modifications que j'ai apportées sont devenues obsolètes.

Du coup, je pense que le mieux, c'est encore de supprimer ou verrouiller le topic (en attendant que je me repenche dessus, mais c'est pas actuellement ma priorité ^^)

Rey

Modérateur

Dans ce cas je verrouille le topic et indique que le script n'est plus fonctionnel en rouge dans le topic. :)

There was an error while thanking
Thanking...