Usable Magic for all Characters - Printable Version +- FF6 Hacking (https://www.ff6hacking.com/forums) +-- Forum: Hacks, Resources and Tutorials (https://www.ff6hacking.com/forums/forum-1.html) +--- Forum: Jidoor Auction House (https://www.ff6hacking.com/forums/forum-4.html) +---- Forum: Patches, Bugfixes, Tweaks (https://www.ff6hacking.com/forums/forum-15.html) +---- Thread: Usable Magic for all Characters (/thread-1732.html) |
Usable Magic for all Characters - B-Run - 07-14-2012 author: B-Run Apply to FF3us Download This patch gives every character a usable magic list to pull from, as well as allows each character to learn magic via espers/equipment. All of the magic lists are shared with the first twelve actors (Terra and Co.). On the flipside, I overwrote Gogo's magic code in order to create this patch, meaning Gogo no longer learns everyone's magic. Actors above 0B will share the magic lists with one of the other characters. Notable actors who can now learn Magic: -Gogo shares a magic list and learning with Terra. -Umaro shares a magic list and learning with Locke. -Bannon shares a magic list and learning with Cyan. -Leo shares a magic list and learning with Shadow. -Wedge shares a magic list and learning with Relm. -Vicks shares a magic list and learning with Setzer. -Kefka shares a magic list and learning with Sabin, Celes, Strago, Relm, or Setzer (depending on which instance of Kefka is used). Note: This patch does not add magic to each actors menu, you must do that yourself with an editor. This patch also does not allow all actors to be reequipped. This is only for magic lists. Here are the changes in the code: Code: This is where the magic happens, literally. This is where Gogo's magic population used to occur. Now for how it gets used. Code: Determine if a character actually knows magic [MENU] Code: Get spell's learned amount [MENU] Code: Relevant code for looking up magic [BATTLE] Code: Learning Magic [BATTLE] Code: Populating battle magic list Thanks to Madsiur for help finding and understanding code and Angelo26 for the disassemblies of the Battle and Menu banks and pointing me to a patch maker! Feel free to use this in your own hacks, simply give credit where credit is due. Please contact me if you find any bugs. Hope this helps! RE: Usable Magic for all Characters - SSJ Rick - 07-14-2012 can you make a patch for a headered rom? seeing as how most patches use headered roms, this might conflict with many other patches RE: Usable Magic for all Characters - madsiur - 07-15-2012 (07-14-2012, 09:49 PM)Poco Loco Wrote: can you make a patch for a headered rom? Well it won'T conflict with other patches but with the game itself if it's apply to a headered ROM, but worst thing the person who wants to apply this patch can remove the header, apply the patch and put a new header after. How many people work with headered ROM? I thought many people were finding headers a pain because you always have to calculate +200 bytes whatever you do. I always keep the header but in the end it's a personal preference. RE: Usable Magic for all Characters - SSJ Rick - 07-15-2012 very true RE: Usable Magic for all Characters - B-Run - 07-16-2012 updated with headered verision. I can see this being useful in a class system where you use up all those unused actors and give each class different stats. You could put each character's classes every 12 (or change the SBC to reduce down to whatever number of characters you want), that way your magic could carry over from class to class. example 1: 0-B: base class C-18: White Mage 19-24: Black Mage 25-30: Fighter 31-3C: Black Belt etc... example 2 (for only 4 characters (FF5 style): 0-3: Base Class 4-7: White Mage 5-B: Black Mage C-F: Fighter 16-19: Black Belt etc... Using fewer actual characters obviously affords you more jobs to use. It wouldn't be too hard to put make spells for sale rather than learned by espers, that way we could separate who learns them and with what class. It might even be possible to chop up Magic into Bl.Magic and Wh.Magic and Rd.Magic (gray). The next step would be to make things like swdtech/blitz/lore available by level/bit/other, in a way that allows multiple people to have different amounts of each ability, that way you don't need to use SRAM for anything other than level of that particular class for each character. Then just apply gogo's menu selection and you have a fully functioning class system... Unfortunately, that's not the direction I'm going with my patch, but just some food for thought for anyone else. It wouldn't be that difficult. RE: Usable Magic for all Characters - B-Run - 07-28-2012 Found a bug where Magic only correctly displays when the original actor is a part of the battle as well. As in, if actor 02 and actor 0E are in the battle together, they will both have magic list 02. If actor 0E is in battle and 02 isn't there, no magic will be displayed. Magic learning still works after battle, and magic from the menu will still work regardless... its just in battle that the problem happens. Also, if 0E has an esper equipped (thus activating the Magic menu) but actor 02 isn't around, the Magic menu will be blank. There's something wrong with the way the list is populated, but still trying to track down exactly where it's happening. I will post updated patches once I find a solution. RE: Usable Magic for all Characters - B-Run - 08-03-2012 Fixed. After a couple weeks of off-and-on searching, downloading a debugger (super useful) and searching all over the dissasemblies for C0, C1, C2, and C3... it was all one tiny little place that uses ADC to get to the magic starting address instead of outright loading it. Code: C2/5589: BD D8 3E LDA $3ED8,X On the plus-side... i learned a TON about how magic works in the game. Apparently the magic list for battle is stored for each character in the battle, including the players equipped esper, their magic list, and a lore list (per character). All of the lists get populated with all magic that is known by anyone in the battle (I'm guessing this is since Gogo doesn't learn his own). Then the game goes back and blanks out the spells that are NOT known by each character, leaving them with their individual lists. Crazy stuff. Here's a neat little table: Code: Battle Magic Data Anyway, the updated patches are up for anyone who wants them. RE: Usable Magic for all Characters - cdizzle - 11-26-2014 Can you have the new actors with magic list populate from specific other characters? It appears like changing some of the code you can at the very least move the list, but I am not sure if what I am trying to do is possible with a few simple changes. What I would want to do, if possible, is to have Bannon's magic populate from Relm, and Leo populate from Celes. Would this be time extensive and annoying to accomplish, or would it just be a few simple changes? Btw, this really is an awesome IPS! RE: Usable Magic for all Characters - GrayShadows - 11-26-2014 Hmm. It should be pretty simple, actually -- you just need to code an exception in before it SBCs. So, like: Code: C3/50C4: C90C CMP #$0C There's not enough code to repeat this in the next iteration of the code, but that can be gotten around by calling this from C2 instead: Code: C3/50E8 20C450 JSR $50C4 Unless I've miscounted, that should leave you enough space to add three exceptions in the existing space -- these two and one more. Any more than that and you'd have to move the code somewhere else with more available space. ETA: And just to note, while I've left the original disasm addresses in the code I C&P'd from the original patch, obviously the addresses of any code /after/ the bits I inserted would be changed, thus the RTS originally at $50CE no longer being at $50CE, etc. RE: Usable Magic for all Characters - Scorcher - 11-27-2014 This is very nice! Now I'm gonna try to work on a small hack that makes Leo and Banon into partially full party members using this and the Guest Adder! |