[Gba] Augmentez la difficulté: adaptez le niveau adverse au notre. dans Club | Pokémon Trash
[Gba] Augmentez la difficulté: adaptez le niveau adverse au notre.
TheCaptainSnow - 14 juillet 2013 à 15:25
Ceci n'est pas un tuto puisqu'il n'a pas pour objectif de vous apprendre quelque-chose, je vais juste vous donnez une routine ASM que j'ai faite et quelque éxplication pour que vous puissiez l'utiliser vous aussi. Je précise que les routines ASM disponible ici sont prévu pour la version rf, mais elles sont aussi compatible avec les autres versions, il suffit de trouver les offsets pour ces versions (et j'ai la flemme de chercher )
Avec ça vous pourrez faire en sorte que le niveau des pokémons adverse (pour les dresseurs uniquement) soit le même que celui du meilleur pokémon de votre équipe, enfin presque, car il y un système pour éviter les abus.
Imaginez une équipe de pokémons niveau 5 qui bat la ligue parce-que le maître à des pokémons niveau 5 lui aussi. J'ai donc fais en sorte que si le meilleur pokémon de l'équipe est trop faible le niveau adverse ne s'adapte pas. Par exemple, si l'adversaire à un pokémon qui aurait du être niveau 49, il y à alors 2 situation:
mon pokémon le plus fort est niveau 87, dans ce cas l'adversaire sera de niveau 87 lui aussi.
mon pokémon le plus fort est niveau 38, dans ce cas l'adversaire conservera sont niveau 49.
Avec ce système la difficulté est garanti tous au long de l'aventure, fini les parties où on se contenter de monter 1 seul pokémon, ici ça ne marchera pas. Il faudra impérativement entraîner plusieurs pokémon de types différents.
Bon, concrètement comment faire, pour commencez il vous faut trouver un espace libre dans la rom d'une taille minimum de 0x3C et noter cette offset.
Maintenant rendez vous à l'offset 0x0003E6F2 (0x000690AA pour emeraude) et remplacer ceci:
50 1E 00 06 00 0E 70 BC 02 BC 08 47 00 00
par ceci:
01 48 00 47 00 00 XX XX XX 08 00 00 00 00
Où XX XX XX est un pointeur de l'offset que je vous est demandé de noter, enfin pas tous à fait puisqu'il faut faire +1 à cette offset. Par exemple si j'avais choisis l'offset 0x7134C0 j'aurais alors obtenu le pointeur C1 34 71 08.
Pour ceux qui souhaite comprendre à quoi ça sert regardez avec le désassembleur, c'est simple à comprendre.
Ensuite rendez-vous à l'offset que vous aviez choisis et coller y ceci (il s'agit de la routine):
Si vous utilisez emeraude remplacez D8 42 02 02 par 40 45 02 02.
Et voila, vous pouvez essayer, tous fonctionne correctement, et si jamais ce n'est pas le cas et que vous remarquez un bug n'hésitait pas à en faire par ici, mais normalement j'ai fais ce qu'il fallait pour que seul le niveau des pokémons des dresseurs sois changer.
Pour ceux que ça intéresse voici la routine au format texte:
[spoiler=]
Tout simplement génial ! Surtout pour les Rom Hack "HardCore" tu l'a posté sur Pokécommunity ?
TheCaptainSnow - 14 juillet 2013 à 21:12
Non je l'ai pas posté sur PC, et je sais pas si je le ferais.
tuturosso - 15 juillet 2013 à 15:17
Laissons de l exclusivité au rom-hackers francais.
Tu peux trouver les offsets d emeraude dans quelques jours si tu as des dispo?
Darkrai-X - 15 juillet 2013 à 15:28
Possible d'avoir une RH patchée avec ce code ?
j'aimerai jouer à la rom normale avec ce code, mais je m'y connais pas assez pour l'intégré :-[
TheCaptainSnow - 15 juillet 2013 à 15:51
Je te prépare ça se soir, la je peut pas.
Et pour tuturosso je verrais, je te promet rien psk j'ai vraiment la flemme de chercher les adresses mémoire pour les autres versions.
D'ailleurs je viens de penser qu'il peut y avoir des choses étranges, par exemple si votre adversaire est un roucoul et qu'il aurait du être niveau 7 et comme vous êtes level 91 il est lui aussi lvl 91, mais malgré sont level 91 il ne possède que charge et jet de sable.
Ce que je peut éventuellement faire c'est obliger le pokémon adverse à avoir les 4 dernières attaques qu'il peut apprendre.
Merci Unifag, je vais tester la rom pour voir, ça donne envie :win:
yushi56 - 15 juillet 2013 à 23:14
c'est vraiment génial
merci
Je serai aussi intérressé par adaptation pour les version émeraude fr
Et encore GG !!
Arnikum Plus - 16 juillet 2013 à 18:01
Je vais utiliser ce code pour la version "hard" de ma hack.
TheCaptainSnow - 16 juillet 2013 à 19:26
Tu devrais attendre un peu avant de l'utiliser. J'ai prévu de l’améliorer pour faire en sorte que l'adversaire est des attaques qui correspondent à sont niveau. Et je ferais aussi une version où le joueur peut choisir si oui ou non il veut jouer contre des adversaires de sont niveau, tu aura juste à activer un flag pour passer en mode "difficile" et le désactiver pour passer en mode "normal".
Arnikum Plus - 16 juillet 2013 à 20:09
Impressionant, tu m'épates!
Nightriku - 16 juillet 2013 à 21:00
Ca m'a l'air vraiment pas mal ce que t'as fait, je test ça ce soir !
Nightriku - 16 juillet 2013 à 21:14
Tu pourrais faire la même chose avec une rom de emeraude stp ?
Je viens de me faire tuer par un roucool niveau 6 à la première route, ça annonce du très lourd aha !
Elyiøs - 16 juillet 2013 à 21:18
Bah putain.
C'est que ce doit être dur.
Dans emeraude t'a que les Chenipottes Goelise ×)
Nightriku - 16 juillet 2013 à 21:20
En gros, j'ai un carapuce timide. Il est trop lent pour fuir, et trop faible pour espérer battre un pokémon. Tjrs niveau 6 à Jadielle, c'est assez tendu pour l'instant.
TheCaptainSnow - 16 juillet 2013 à 21:40
C'est vraie qu'au début ça doit être très difficile.
Mais j'ai un doute, tu à croiser un roucoul lvl 6 dans la nature? Psk j'ai pas souvenir de dresseur sur la première route et normalement les sauvages sont pas affecté pour éviter les abus.
Au pire si c'est trop difficile au début il est possible de faire une difficulté croissante, genre entre le level 0-10 l'adversaire à 2 lvl de moins que toi, lvl 0-20 il à 1 lvl de moins et ensuite même lvl que toi.
Pour émeraude je verrais, pour le moment c'est pas une priorité.
Nightriku - 16 juillet 2013 à 21:56
Oui, c'était un roucool sauvage.
Par contre, j'ai un bug. Dés que je capture un pokémon sauvage, quand je veux le regarder dans l'équipe, ça met au moins 10 secondes à charger le pokémon.
Ensuite, quand je gagne de l'expérience avec une nouvelle recrue (donc n'importe quel pokémon sauf le starter), sa barre monte jusqu'au bout, mais le pokémon ne gagne pas d'expérience.
Elyiøs - 16 juillet 2013 à 22:09
L'ajustement fallait le mettre que sur les dresseurs.
TheCaptainSnow - 16 juillet 2013 à 22:18
Oui c'était ce qui était prévu mais j'ai fais une modification avant de poster pour réduire la taille et j'ai pas pris le temps de tester du-coup. C'est pour ça que vous avez des bugs, je corrige ça tous de suite.
Bon , désolé de faire remonter ce vieux topic mais moi , quand j'appuie sur "a" pour continuer depuis ma sauvegarde ça m'a relancé le jeu .
Du coup , j'ai essayé en appuyant sur "Nouvelle partie" , ça a marché jusqu’à ce que je prennes mon starter , et la , ça m'a redémarré le jeu --'
J'ai donc essayé de changer certains trucs ( sans faire n'importe quoi hein , je savais ce que je faisait ) , mais dans ce cas ça m'a simplement empêcher de jouer :
C'est-a-dire que au lieu de se lancer , l'écran du jeu restait blanc :/
EDIT : ouais j'avais mis un truc en trop mtn ça marche
tonindulou - 30 avril 2017 à 15:02
Ce serait possible de changer le code pour que les ennemis s'adaptent même si leur lvl de base est plus haut. Ce serait pour une version de Pokémon où on est pas obligé de farmer.