EnigmaticGuy Posted June 12, 2022 Share Posted June 12, 2022 (edited) Hey there, I'm working on a project that requires i get lots of oddly specific video footage from things in FE1 that's near impossible or would be super complicated to do through gameplay, I need an easy way to get any item i want and give enemies specific weapons, Though any other hack or cheats would be helpful as well, Basically i need to be able to orchestrate any fight i need so if anyone knows a way i would greatly appreciate the help Edited June 12, 2022 by EnigmaticGuy Quote Link to comment Share on other sites More sharing options...
Polinym Posted June 12, 2022 Share Posted June 12, 2022 3 minutes ago, EnigmaticGuy said: Hey there, I'm working on a project that requires i get lots of oddly specific video footage from things in FE1 that's near impossible or would be super complicated to do through gameplay, I need an easy way to get any item i want and give enemies specific weapons, Though any other hack or cheats would be helpful as well, Basically i need to be able to orchestrate any fight i need so if anyone knows a way i would greatly appreciate the help Howdy! As it happens, I have a lot of experience hacking FE1! I can easily set up any scenario you wish, or tell you how to do it. For example, the playable unit data during gameplay is just past $6a00 in RAM, and the enemy data a few scrolls after that (can't remember the exact addresses but they're easy to find). I've also got a ROM map of all the data in the game. What are you looking for? Quote Link to comment Share on other sites More sharing options...
EnigmaticGuy Posted June 12, 2022 Author Share Posted June 12, 2022 (edited) Basically i want to test out Marth's limits as well as get more footage of the Falchion and try it out against all types of enemies, It has a fairly unique mechanic in the first game that you don't get to play around with a lot so I'd like to test it out on all enemy types freely, Also against enemies with unique weapons like the Levin Sword, It'd be super helpful to have an easy way to get footage of all his possible battle animations including seeing him fight all the different kinds spells Edited June 12, 2022 by EnigmaticGuy Quote Link to comment Share on other sites More sharing options...
Polinym Posted June 12, 2022 Share Posted June 12, 2022 The easiest way to test this kind of stuff quickly is to use an hex editor in an emulator like FCEUX. The quickest way would probably be to use Mars and the thief in Talis Chapter 1. So Prince Mars's data is the first of the unit data stack, starting at $6a90 in RAM. His first inventory slot is at $6aa3, which is set to 0x05 for Rapier. You change that to 0x0b for Falchion. As a fun fact, Falchion's Mars-exclusivity property allows him to use it as any class in the game. Trying to use it with some of them will crash, but it's fun to play around with. The Talis thief's data starts at $71aa in RAM, and his first item slot is at $712d (0x02 for Iron Sword). If editing RAM in an emulator isn't an option or you need more explanation, let me know. You can also change the starting data in the ROM or I can even make a patch with the changes you need. Quote Link to comment Share on other sites More sharing options...
EnigmaticGuy Posted June 14, 2022 Author Share Posted June 14, 2022 (edited) I'm fairly unexperienced with hex editing but I'll give it a shot thank you very much for the info Edit: I'm pretty lost I'm in FCEUX's Hex editor I'm unsure how to find the data you listed or what to touch, Also does the English patch i use matter? Edited June 14, 2022 by EnigmaticGuy Quote Link to comment Share on other sites More sharing options...
Polinym Posted June 14, 2022 Share Posted June 14, 2022 Which English patch you use probably won't matter. I know mine is fine, and I'm pretty sure any of the other ones haven't messed with unit data. As an overview, units in FE1 are represented as a set of 27 / 0x1b bytes, with each byte representing a property of the unit. For example, the first three bytes are Name, Class, and Level. All the units of an army are arranged one after the other somewhere in RAM. The stack of units ends with a "unit" whose name is 0x00 (the first byte being 0x00). The player unit stack begins at $6a90 in RAM (also called NES Memory by FCEUX), and the enemy army begins at $7008. In the below image I've highlighted all the bytes that represent Mars, the first unit in the player stack. Right at the end of Mars's data you see one sequence, 05 00 00 00 which represent his four items slots (Rapier, empty, empty, empty). The following sequence 1c 00 00 00 represent the remaining uses on those items/weapons (28, 0, 0, 0). You can change Mars's Rapier to any item of your choosing by typing over its byte (0x05). Falchion's index number is 0x0b if that's what you want to try. You can find all the items in the game by simply changing this byte and checking the menu. If you want to make Mars's first item unbreakable, change its uses (0x1c) to 0x00 or 0xff. This is the enemy stack. I've highlighted the set of bytes that represent the Thief who spawns close enough for Mars to attack him. You can change his stats to your liking by just typing over those values. What you'll probably want to do is set a save state (Shift + F<number>) before you start messing with the values. Then, change either character's stats, test what you want to, then load state (F<number>). You can also enable Mars to move again after he's taken his turn by typing a 0x00 at his "moved" flag byte $6aa0. He'll still appear grayed out, but you can select and move him again. Hope that made sense! 🙂 If you need to know more index numbers of things, I can give them or even just link you Darmann's public doc that has all the info. Quote Link to comment Share on other sites More sharing options...
EnigmaticGuy Posted June 15, 2022 Author Share Posted June 15, 2022 (edited) Awesome i got it to work on Marth, What values highlighted for the thief are his weapon and class? i'd probably like some weapon indexes and maybe the stat altering items Edited June 15, 2022 by EnigmaticGuy Quote Link to comment Share on other sites More sharing options...
Polinym Posted June 15, 2022 Share Posted June 15, 2022 I wrote up a quick guide to the structure of units as unit_guide.txt. I also threw in the item/name/class lists from Darmann's note, with some updates to the names. Also, if you add a cheat in FCEUX to $7674, it acts as a "chapter warp" code if you need to change locations for some reason. The player and enemy unit stacks stay in the same location in RAM for every chapter. classes.txt items.txt names.txt unit_guide.txt Quote Link to comment Share on other sites More sharing options...
EnigmaticGuy Posted June 15, 2022 Author Share Posted June 15, 2022 I got everything to work, I think this is everything i needed thank you very much for all the help and info i really appreciate it Quote Link to comment Share on other sites More sharing options...
EnigmaticGuy Posted June 16, 2022 Author Share Posted June 16, 2022 (edited) Actually sorry do you know a way to control the enemy? Sometimes it seems they keep the Thief AI and run away so i can't see them use ranged weapons Edited June 16, 2022 by EnigmaticGuy Quote Link to comment Share on other sites More sharing options...
Polinym Posted June 16, 2022 Share Posted June 16, 2022 The AI byte is actually the enemy's first usability slot, which is determined by the "AI Byte" passed when the enemies are added onto the map. Editing AI is easiest when you edit it in the ROM where enemy units load from, which starts at 0x20AE5. Change the AI Byte for the enemy, then load up the chapter and the unit will have the new AI. Enemy units are structured in the ROM as follows: 0 = Name 1 = Class 2 = Level (Unit stats are scaled by this) 3 = Equipped Weapon 4 = Dropped Item 5 = Y Position 6 = X Position 7 = AI Byte 8 = Spawn Turn (As a reinforcement unit) 9 = Destination Y (Used by AI) 10 = Destination X (Used by AI) Some of the AI values I've noted are: 0x1d = Guard, attack when enemy in range, move to Destination X and Y if they're not (0, 0) 0x38 = Thief, find shortest path to villages and loot them 0x4 = Follow Mars, don't attack (Minerva) 0x35 = Charge forth and attack like Sigurd 0x2e = Healer AI, heal allies, run from enemies 0x50 = Cuddle? Get close to enemies but don't attack Quote Link to comment Share on other sites More sharing options...
EnigmaticGuy Posted June 16, 2022 Author Share Posted June 16, 2022 Thanks again, Your a huge help Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.