Random Battles

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search

World Map Random Battles

In vanilla, each time you "step" on a location on the World Map, there is a 30% chance a battle will trigger. Any of the enabled ENTD slots have the same chance of being triggered.

For example, Igros Castle -> Mandalia Plains before Ch4 has 66.67% to trigger battle 09D (33.33% + 33.33%) and 33.33% chance to trigger battle 09E. Basically, the lowest chance a specific battle can be triggered is 12.5%.

Each Path may trigger up to 8 different random battles, with a specific Map and squad formation for the lot.

ENTDs can only range from 0x001 to 0x0FF as it is stored as a single byte and 0x000 is NULL.

Shop Progressions

The first column of the ENTD table includes "Max" values. These values are based off a specific variable, and in the case of vanilla, that variable is always 0x006F, shop progression. As it is the highest recognized value for each set, the game will only attempt to load the next set if Shop Progression is greater than the Set's Max allowed shop progression value.

In other words:

  • 00 - Never
  • 01 - Before Chapter 1 - Enter Igros
  • 02 - Before Chapter 1 - Save Elmdor
  • 03 - Before Chapter 1 - Kill Miluda
  • 04 - Before Chapter 2 - Start
  • 05 - Before Chapter 2 - Save Ovelia
  • 06 - Before Chapter 2 - Meet Draclau
  • 07 - Before Chapter 2 - Save Agrias
  • 08 - Before Chapter 3 - Start
  • 09 - Before Chapter 3 - Zalmo
  • 0A - Before Chapter 3 - Meet Velius
  • 0B - Before Chapter 3 - Save Rafa
  • 0C - Before Chapter 4 - Start
  • 0D - Before Chapter 4 - Bethla
  • 0E - Before Chapter 4 - Kill Elmdor
  • 0F - Before Chapter 4 - Kill Zalbag
  • 10 (and beyond) - After Chapter 4 - Kill Zalbag

Data Structure

From 0x2FA64 to 0x2FFBB (WLDCORE.BIN)

PP SS [TT CC AA] [TT CC AA] [TT CC AA] [TT CC AA] 11 22 33 44 55 66 77 88 MM VV

01 28 [03 1E C0] [0C 1E E0] [10 1E FF] [19 1E FF] 9D 9D 9E 9E 9F 9F A0 A0 55 6F
02 29 [03 1E C0] [0C 1E C0] [10 1E FF] [19 1E FF] A1 A1 A2 9B A3 A3 A4 A4 55 6F
03 2A [03 1E C0] [0C 1E E0] [10 1E FF] [19 1E FF] A5 A5 A6 A6 A7 A7 A8 A8 55 6F
05 04 [04 1E C0] [0C 1E E0] [10 1E FF] [19 1E FF] 0D 0D 0E 0E 0F 0F 10 10 48 6F
06 05 [04 1E C0] [0C 1E C0] [10 1E FF] [19 1E FF] 11 11 12 82 13 13 14 14 48 6F
07 06 [0C 1E F0] [10 1E FF] [19 1E FF] [19 1E FF] 15 15 16 16 17 17 18 18 48 6F

Each location has 3 lines (ALWAYS 3 lines), for up to 3 different paths

Following the order here: http://ffhacktics.com/wiki/Variables#World_Map_Locations

Minus -0x18, so Mandalia Plains is 0x00


  • PP = Path ID http://ffhacktics.com/wiki/Variables#World_Map_Paths
  • SS = Squad ID (byte value + 0x0200)
  • SETS (brackets indicate a set)
    • TT = Max Variable Value (see "VV") allowed for the current set, if the Variable value is higher, it will try the next set.
    • CC = Chance to trigger a random battle in %
    • AA = Available ENTDs
      • 0x80 = ENTD 1
      • 0x40 = ENTD 2
      • ...
      • 0x01 = ENTD 8
  • 11 = ENTD 1
  • 22 = ENTD 2
  • ...
  • 88 = ENTD 8
  • MM = Map ID
  • VV = Variable ID (always Shop Progression in Vanilla)

Deep Dungeon Random Battles

Each entry in the list might trigger one out of 8 possible ENTDs. In vanilla, as each ENTD is listed twice, each ENTD has 25% of being triggered.

Data Structure

From 0x2FFBC to 0x30020 (WLDCORE.BIN)

MM SS 11 22 33 44 55 66 77 88

6B 3F F9 F9 FA FA FB FB FC FC
69 3D F5 F5 F6 F6 F7 F7 F8 F8
  • MM = Map ID
  • SS = Squad ID (byte value + 0x0200)
  • 11 = ENTD 1
  • 22 = ENTD 2
  • ...
  • 88 = ENTD 8

Random Battle Information

Random battles.png