Page 1 sur 1

Modification ff6 pour utilisation personnel

Publié : 26 déc. 2018 19:49
par Lepicé
Bonjour, je me demandais si quelqu'un s'y connaissait dans le type de codage des skrits de ff6, j'ai sur cette image ici bas le secteur hexa où tout les dégâts se font:
Image

juste un détail, 65F0 se trouve dans le secteur 20E80 de mon fichier swc, il s'agit bien du fichier final fantasy 6. Vous pouvez mieux voir l'image en cliquant sur le bouton droit de la souris et sur l'option afficher l'image, là apparemment ça fait un peu mal aux yeux petit comme ça.

Donc, je voudrais changer le <damage taken> en <damage taken * (255 - le Mblock de la victime) / 240> tout en respectant les parenthèses mais pour cela je crois qu'il faut déplacer des octets, est-il possible que quelqu'un y arrive sans difficulté ?
En fait ce serait juste pour mon utilisation personnel, si quelqu'un connait un programme qui soit capable de modifier le truc de cette façon sans faire planter la rom ce serait super.
En vous remerciant d'avance de la réponse.

Re: Modification ff6 pour utilisation personnel

Publié : 26 déc. 2018 20:14
par Butz
Pour avoir fait du rétro-engineering sur FF3, il est relativement aisé de changer des valeurs, mais ça devient beaucoup plus compliqué de changer des algorithmes. C'est un travail de très très longue haleine.
Des logiciels d'édition existent (https://www.cavesofnarshe.com/ff6/downloads/editors.php), mais bien sûr ils ne vont pouvoir modifier que ce qu'ils proposent d'altérer.

La seule chose que je peux te dire, c'est qu'il faut repérer des blocs inutilisés dans la mémoire. Généralement, c'est tout un secteur avec une valeur unique (00 ou FF, ou peut-être autre chose). C'est dans cette partie que tu pourrais développer des algorithmes. Mais après, comment les faire... j'en ai aucune idée.

Re: Modification ff6 pour utilisation personnel

Publié : 26 déc. 2018 21:05
par Lepicé
Je me demande s'il reste de la place pour un nouveau déclencheurs entre les secteurs hexas 20000 et 30000, parce qu'on dirait que les 65536 octets sont tous occupés.:(

-------------------------------------------------------------------------
Bon, concernant damage taken ce n'est pas un déclencheur mais une variable, par exemple 11B0 est une variable qui fait <Level * Level * (Battle Power * 4 + Vigor) / 256>

Voici un lien:
http://www.rpglegion.com/ff6/hack/code2.txt

Re: Modification ff6 pour utilisation personnel

Publié : 27 déc. 2018 13:59
par Lepicé
Yesssssssssssssssssssssss, ça fonctionne en fait, j'ai remplacé 99D033 par 4C9264, en fait 4C c'est un jump vers l'offset 6492 (un groupe d'octets libres du jeu), à ces octets il faut remettre les valeur 99d033 plus 287A60 qui sont respectivement PLP, PLY et RTS.
Bon maintenant il y a juste à savoir ce qu'il faut mettre pour le calcul et comment il faut le faire, ce secteur à pas mal 'octets libres c'est déjà ça.:)

Re: Modification ff6 pour utilisation personnel

Publié : 29 déc. 2018 19:04
par Lepicé
Bon, je n'ai pas réussi à faire quoi que ce soit avec mblock mais j'ai réussi à faire quelque chose avec le stamina, voici ce que ça donne en ayant modifié un déclancheur:
Image
La guérison se réduit avec, faudra que je trouve encore autre chose mais c'est déjà ça, tout les dégâts même ceux du thrown sont réduit partiellement (ou à la totalité si stamina=255).

--------------------------------------------------------------------------
Et voilà ce que donne le résultat final:
Image

Alors, si le perso a 255 de pouvoir magique alors les effets bénéfiques supplémentaires du stamina sont pris en compte, à 255 de stamina le personnage est immunisé contre tout sauf sneeze, si le combat rapporte plus de 20 points d'expérience par personnage à la fin d'un combat alors il y a 1 chance sur 255 de pouvoir augmenter l'une des 4 caractéristiques, 7 sur 255 d'avoir 1 point de force ou 5 sur 255 d'avoir 1 point de vitesse ou 4 sur 255 d'avoir 1 point de stamina ou 3 sur 255 d'avoir 1 point de pouvoir magique.

Re: Modification ff6 pour utilisation personnel

Publié : 17 janv. 2019 18:07
par avensis
Et comment on fait pour être immunisé contre sneeze?

Re: Modification ff6 pour utilisation personnel

Publié : 17 janv. 2019 21:59
par Butz
Sans doute faut-il encore plus altérer la mémoire :p

Re: Modification ff6 pour utilisation personnel

Publié : 18 janv. 2019 22:51
par Lepicé
Et comment on fait pour être immunisé contre sneeze?
J'ai essayé on peut, mais je n'en vois pas l'intérêt, comme engulf, en fait c'est un des effets spéciaux qui s'active dans le secteur 2345c et 234f9. Par contre si on le fait on voit quand même le personnage éjecté mais il ataque automatiquement l'ennemi si l'ATB est plein, ça fait un peu con, on peut faire en sorte que l'on ne voit pas le personnage éjecté mais où dans les octets ? Là je ne sait pas.
Sinon depuis, j'ai trouver mieux j'ai modifié les valeurs comme ça:
Image

Si vous voulez que sneeze ne fasse plus effet il faut mettre e070f003fccd3d.

Re: Modification ff6 pour utilisation personnel

Publié : 18 janv. 2019 23:02
par schrnieg
Rassures moi, t'as traduit les instructions en assembleur au moins ?

Re: Modification ff6 pour utilisation personnel

Publié : 19 janv. 2019 9:41
par Lepicé
J'ai fais de mémoire, ça fonctionne très bien si on ne se plante pas.
J'ai encore modifié de façon à avoir le moins possible d'octets utilisés:
Image