• Welcome to Final Fantasy Hacktics. Please login or sign up.
October 28, 2021, 03:25:49 am


Please use .png instead of .bmp when uploading unfinished sprites to the forum!

Random Battle Editor - UPDATE: 4/12/2017

Started by RavenOfRazgriz, April 11, 2017, 10:52:53 pm


April 11, 2017, 10:52:53 pm Last Edit: April 12, 2017, 01:06:36 pm by RavenOfRazgriz
MediaFire FULL Download

Random Battles, how do they work, right?

Well, thanks to Xifanie providing me with some documentation and a trip to McDonald's for some delicious coffee, even you, dear user, can now know exactly how Random Battles actually work, and edit them to your liking!  This tool even allows editing of Deep Dungeon Random Battles!  Saving and Loading uses the same logic as my ATTACK.OUT Editor Special Awesome, allowing .XML files to be saved and loaded from the included .XML Directory and custom-named WLDCORE.BINs loaded from the included .BIN Directory.

How it works:

  • "Random Battle Location" is the dot on the map in which a Random Battle can occur in.  This includes the 19 "Green Dot" locations from the main game as well as the ten floors of the Deep Dungeon.

  • "Battle Index" is what is more colloquially called the "direction" the battle is engaged from.  Each location has data for three different directions, even if that dot has less than three possible approaching points.

  • "Squad ID" is which Squadron in the ATTACK.OUT is loaded for this random battle.  NOTE: Only Squadrons 0200 to 02FF are valid.

  • "Path Battle Appears On" is the path along the world map Ramza much approach the location from to trigger this random battle.

  • "Variable to Unlock" is the variable which controls when Random Battles unlock.  By default, this is the Shop Progression Variable.  This can be changed for individual locations or changed globally via the "Set Global Values" button.

  • "ENTDs" are the 8 potential ENTDs each Index can load.  By default, Vanilla uses doubles in each of these entries to give each ENTD a 25% chance of loading.  The only time this behavior is changed is when what have been dubbed "Rare" battles were utilized.  Adjusting which ENTDs are available allows for adjusting how common or rare each formation is.  NOTE:  Only ENTDs 0001 to 00FF are valid.

  • "Battle Set" 1-4 is the data for the four instances of progression allocated to each Random Battle Index.  "Variable Max" is the max value the progression variable can contain before it moves on to the next set.  The checkboxes determine which ENTDs are allowed into the randomization process.  "Encounter %" adjusts the exact encounter rate for that Set while it is active.  The different aspects of the Battle Sets can be adjusted via the "Set Global Values" button.

F4 / CTRL+L - Close Active Window
CTRL+S - Save .XML
CTRL+L - Open .XML
CTRL+G - Set Global Variables

Pressing ALT reveals all keyboard shortcuts via underlining the character on the related button on the interface.


Damn! Back with a vengeance Raven! I'll have to check back on this when I sober up! It looks awesome!
  • Modding version: PSX


Raven, I love you!

Plus, y'know, it's good to know you're alive. :P
  • Modding version: WotL


April 12, 2017, 12:51:26 pm #3 Last Edit: April 12, 2017, 02:32:45 pm by RavenOfRazgriz
EDIT: Secondary update released to fix an issue with the ENTD checkboxes.  Download is updated.


The "Set Global Values" button has been updated.  It now not only allows you to perform a global modification of which variable unlocks Random Battles and their Encounter %, but also globally modify which ENTDs are introduced into the randomization in which Battle Set and when each Battle Set's Max Value Check is.  This means it would be easy to, say, make it so every random battle location unlocks a new battle at the start of each Chapter, as some people used to believe they functioned ages ago.  (The defaults for Set Global Value are actually configured implement this immediately to a vanilla game!)

See the new version below:

Quote from: CONMAN on April 11, 2017, 11:29:28 pm
Damn! Back with a vengeance Raven! I'll have to check back on this when I sober up! It looks awesome!

It's pretty sweet, and I just made it better.  I'm not so much 'back wit a vengeance' as much as I'm just better than I used to be at these things.  I can make nicer-looking and more functional programs in a day than I used to be able to in weeks when I was active before.
Quote from: kyozo22 on April 12, 2017, 04:33:51 am
Raven, I love you!

Plus, y'know, it's good to know you're alive. :P

I'm not alive.  I'm a spoopy ghost making shitty programs from the afterlife to remind you all that you're here forever.


Hey Raven!,
I'd like to finish understanding the "Variable Max" field for each Battle Set.
That value is the shop (and thus story) progression before enabling that Battle Set?.

So, if I raise/lower that value,
that stage variant will become available later/sooner respectively in the game?.

Thank you.
  • Modding version: PSX


IIRC it identifies which set will be used. So, in the screenshot above, 0-5 would use the 1st set, 6-9 the 2nd, A-D the 3rd, and otherwise the 4th. Yes, there are used to determine when random battles can take place, with 0x006F Shop Progression as the default.

I'm the one who discovered and analyzed this data, but it's been a few years since I last played with it.
  • Modding version: PSX
Love what you're seeing? https://supportus.ffhacktics.com/ 💜 it's really appreciated

Anything is possible as long as it is within the hardware's limits. (ie. disc space, RAM, Video RAM, processor, etc.)
<R999> My target market is not FFT mod players
<Raijinili> remember that? it was awful


Thanks Xifanie ♥
It's really helpful to me, since I always wanted to know WHEN certain battles became available through the game,

Now I have to discover the variable's values across the game,

Now thanks again!,
  • Modding version: PSX