Post subject: RNG Fire emblem DS
Joined: 1/3/2012
Posts: 12
Bonjour, j'aurais voulu connaitre la technique pour trouver le RNG dans le jeu fire emblem pour pouvoir manipuler le critical hit. Merci d'avance Methos
Active player (317)
Joined: 1/15/2012
Posts: 343
Apparament, il y a plusieurs Fire Emblem sur DS... Tu parles bien de Shadow Dragon ?
Joined: 1/3/2012
Posts: 12
Oui c'est bien shadow Dragon, Alors suite à la conversation que j'ai eu avec STBM, on c'est dit qu'il faillait bien commencer par quelque chose. Si on fait l'analogie entre pokemon (dont les rng sont connus) et fire emblem. Il s'avère que les touche utilisés ont leur importance. J'ai recherché dans la ram les adresses qui convertissent les in put en valeur numérique: Pour les touches directionnelles, a, b start ... Adresse des ram: 020EF0EC 020EF0EE 020EF0F6 Chaque in put a sa valeur: Haut : 64 Bas : -128 Gauche: 32 Droite: 16 A: 1 B: 2 Start:3 Select: 4 L X Y et R: 0 mais les touches influent le jeu (ram différente ?) Les valeurs peuvent s'additionner. Ex: si vous appuyez sur a est b en même temps l'adresse de la ram indiquera la valeur 3 (2+1) par contre il ne semble pas possible d'appuyer en même temps sur droite et gauche ou sur bas et haut (la valeur de la ram reste égale à la valeur de la touche appuyer en premier) Pour le stylet: 020EF10A 021A09DC Les valeurs changent entre 0 et 1 en fonction de si vous touché l'écran tactile ou pas. Pour la position du stylet sur l'ecran tactile quand on appuie dessu: Horizontale: 021A09D9 Valeur comprise entre 1 et 15 Verticale: 021A09DB Valeur comprise entre 1 et 12 Critical Hit Critical Rate = Weapon Critical + Skill / 2 + Support Bonus + Class Critical Même avec une weapon critical à 100, le personnage ne fera pas toujours des critique. Lors des combats, les personnages peuvent avoir deux attaques et j'ai eu le cas ou la première attaque était normale et la seconde un critical hit. Les horloges: 02191C71 = Démarre en début de partie et oscille de 1 -> 3 02282158 = Lors de la recherche il oscillait, mais lors de la vérification il est bloqué à 123 02282150 = Lors de la recherche il oscillait, mais lors de la vérification il est bloqué à -124 0228B968 = Lors de la recherche il oscillait, mais lors de la vérification il est bloqué à 1 023FFC3C = Démarre au début du jeu et oscille entre -128 et 127 027E1260 = Démarre au début du jeu et oscille entre -128 et 127 027E1264 = Démarre au début du jeu et oscille entre -128 et 127 Les trois horloges précédentes sont déphasées 027E3708 = Démarre en début de partie et oscille de 1 -> 8 Mais cette valeur à un comportement bizarre en le démarrage du jeu et le démarrage de la partie: Pour la cinématique de départ elle alterne entre 0 et 88 Sur l'écran de chargement elle a une valeur fixe de -64 Autre valeur de RAM - Affichage du critical de l'arme: Il existe deux adresses ram en fonction du positionnement du personne sur l'écran de combat: S'il est à droite: 021FBAD0 S'il est à gauche: 021FBB2C La valeur de l'adresse ram garde en mémoire la valeur du critique de la dernière arme utilisée tant qu'un nouveau combat ne c'est pas déroulé. - Compteur d'in put: Il semblerait qu'il n'y ai pas de compteur d'in put susceptible de modifier le RNG. Point d'interrogation: Lors des combats, les personnages peuvent avoir deux attaques et j'ai eu le cas ou la première attaque était normale et la seconde un critical hit. La question c'est: Qu'est ce qui à changé entre le premier et second coup. Est ce une fausse piste ? Les adresse des composantes du critical rate L'adresse RAM du rng et trouvé ce qui le modifie. En espérant avoir fait avancé le truc :D
Joined: 1/3/2012
Posts: 12
Alors on avance tranquillement, on a trouvé la formule qui détermine le tôt de critical hit Critical Rate = Weapon Critical + Skill / 2 + Support Bonus + Class Critical Reste a trouvé les adresse des différentes composantes et trouvé à quoi ça correspond. Il faut aussi trouver ce fameux rng qui va déterminer ou non en fonction de sa valeur s'il y a ou pas critical hit. Il faut aussi trouvé l'adresse ram du critical hit. STBM m'a parlé de l'action replay et m'a dis que cela pouvait m'aider mais je n'ai pas encore compris en quoi ça pourrait m'aider car je n'arrive même pas a rentrer un code et je ne sais pas comment je pourrais modifier des adresses avec. Si quelqu'un peu m'expliquer. Enfin j'ai cherché s'il y avait un conteur d'in put sans succés, que se soit les touches classique (a,b, start ...) ou avec le stylet. Méthode utilisée: Je reset le jeu, appuie sur A (ou le stylet) puis fait une recherche des adresses ram égale à 1. Je réappuie sur A (ou le stylet) et effectue une recherche des adresses ram égale à 2 ... Et aucune des adresses ram ne correspondent à partir de 3 :'( Ai je eu un mauvais raisonnement ? Je vais éditer le premier message pour mettre à jour ce que l'on a trouvé et reprendre les points d'interrogation.
Joined: 1/3/2012
Posts: 12
J'ai compris comment l'action replay fonctionne et cela m'a permis de voir que l'adresse de ce que je considéré comme étant le weapon critique est en faite jsute l'affichage soit de gauche soit de droite. J'ai modifier sa valeur avec l'action replay et cela n'as eu aucun impacte bien que la valeur du critical waepon affiché soit égale a 100. J'ai aussi trouvé l'affichage des dommage de droite (ce qui m'a permis de comprendre que c'était l'affichage) car j'ai mis les dégâts a 11 et que mon perso faisait encore 12 de 9 de dommage alors qu'il y avait affiché 11. On avance :D
Joined: 1/3/2012
Posts: 12
J'ai continué mes recherches notament sur les horloges internes du jeu. J'en ai trouvé 8 différentes, je ne sais pas encore à quoi elles servent :'( Les adresses: 02191C71 = Démarre en début de partie et oscille de 1 -> 3 02282158 = Lors de la recherche il oscillait, mais lors de la vérification il est bloqué à 123 02282150 = Lors de la recherche il oscillait, mais lors de la vérification il est bloqué à -124 0228B968 = Lors de la recherche il oscillait, mais lors de la vérification il est bloqué à 1 023FFC3C = Démarre au début du jeu et oscille entre -128 et 127 027E1260 = Démarre au début du jeu et oscille entre -128 et 127 027E1264 = Démarre au début du jeu et oscille entre -128 et 127 Les trois horloges précédentes sont déphasées 027E3708 = Démarre en début de partie et oscille de 1 -> 8 Mais cette valeur à un comportement bizarre en le démarrage du jeu et le démarrage de la partie: Pour la cinématique de départ elle alterne entre 0 et 88 Sur l'écran de chargement elle a une valeur fixe de -64