Anonymous

Changes

From Final Fantasy Inside

FF8/BattleStructure

518 bytes removed, 01:30, 6 January 2020
no edit summary
Scene.out contains no header. It is a raw list of 1024 encounters. Each encounter block consists of 128 bytes and has the following structure:
{| borderclass="1" cellspacing="1" cellpadding="3" style="border: 1px solid black; border-collapse: collapse;wikitable"! style="background:rgb(204,204,204)" | Offset! style="background:rgb(204,204,204)" | Length! style="background:rgb(204,204,204)" | Description
|-
! align="left" | 0x00
| Battle scenario. The value here corresponds to the number in the a0stg???.x files (into battle.fs file). You have to convert it to hex
|-
| ! align="left" | 0x01
| 1
| Refers to some battle aspects and it works like 8 binary switches (see below)
|-
| ! align="left" | 0x02
| 1
| Still don't know, but I suspect that it has something to do with camera movement. If you set it to 0xFF camera will always be fixed
|-
| ! align="left" | 0x03
| 1
| unkonwn
| Loaded enemies. Show the enemies that are been actually fought. Loaded enemies will attack you.
|-
| ! align="left" | 0x06! | 1
| Targetable enemies. Show the enemies which will apear in the target window. Careful with this, if you put untargetable enemies battle will never end. (see "enemy switches" too)
|-
! align="left" | 0x78
| 8
| Enemy level. Each enemy level is 1 byte. Numbers from 0x0 1 to 0x64 100 are fixed levels up to 100. From 0x64 101 to 0xFF199 are max levels fixed (min level remains 1). When 255, it is disabled (standard behaviour). And 215 (Deep Sea), 210 (Deep Sea), 251 (Final Bosses), 252 (Ultimecia Castle), 254 (Scripted battles)... Still don't know because it makes weird things...
|}
In 0x01:
*+128{{: Not random fight. Every scripted battle has this one enabled.*+64: Setting this on will make that you will always be back attacked.*+32: Setting this on will make that you will always be surprise attacked*+16: Doesn't show exp screen at end.*+8: If you set this one up not exp will be gained at the end of battle (like in boss battles)*+4: Shows the timer. Like in dollet withdraw combats.*+2: Can't figure it out. Some boss battles have it enabled but don't know its function*+1: Can't escape.FF8/Field/Script/Opcodes/069 BATTLE}}
In 0x04, 0x05, 0x06, and 0x07
*:+128: 1st enemy relative*:+64: 2nd enemy relative*:+32: 3rd enemy relative*:+16: 4th enemy relative*:+8: 5th enemy relative*:+4: 6th enemy relative*:+2: 7th enemy relative*:+1: 8th enemy relative
An important note: If you put an enemy that "summons" another one (Ultimecia summoning Griever, Sphinxara summoning jelleye...) it will summon the enemy from certain slot. This means that if you put that enemy in another battle, it will still summon that slot, because (I think) that summoning is scripted in its AI (in c9m???.dat)
17
edits