-
Notifications
You must be signed in to change notification settings - Fork 51
Dictionary Patch
Any mod folder can have a file DictionaryPatch.txt
.
The purpose of that file is to modify static datas, most of them being stored in C# dictionaries, hence the name.
Each line starting with a keyword listed here is interpreted as an instruction to modify dictionary(ies).
IconSprite ID NAMEID
Redefine the link between numerical identifier and name identifier of a sprite of the icon atlas, extracted from the texture EmbeddedAsset/UI/Atlas/Icon Atlas
(in sharedassets2.assets
).
The default dictionary can be found here.
Example:
IconSprite 19 arrow_down
DebuffIcon DEBUFFID ICONID
Change the icon of a negative buff.
ICONID
can be either numerical ID or name ID.
The default dictionary can be found here.
Examples:
DebuffIcon 0 188 DebuffIcon 0 ability_stone
BuffIcon BUFFID ICONID
Same as above for a positive buff.
The default dictionary can be found here.
Examples:
BuffIcon 18 188 BuffIcon 18 ability_stone
BoostedAbilityColor LEVEL R G B
Change the magic stone sprite's color for the multiple levels of boosted supporting abilities.
The default colors are:
Base level (0): 1.0 1.0 1.0
Level 1: 0.7 1.0 0.7
Level 2: 1.0 0.2 0.5
Level 3: 0.6 0.6 1.0
Level 4: 1.0 1.0 0.4
Level 5: 1.0 0.5 0.2
Examples:
BoostedAbilityColor 3 0.2 1.0 0.8 BoostedAbilityColor 6 0.8 0.8 0.5
BattleStatus STATUSATTRIBUTE Set STATUSES BattleStatus STATUSATTRIBUTE Add STATUSES BattleStatus STATUSATTRIBUTE Remove STATUSES
Modify the alteration statuses that are parts of status logical groups, or attributes.
For example, some statuses prevent the characters suffering from them to act at all: those have the status attribute CannotAct
.
One may change this group to remove eg. Venom
from it or on the contrary to add eg. Zombie
to it.
Both the list of status names and the status attributes can be found there.
Examples:
BattleStatus BattleEnd Set Petrify Venom Stop Zombie BattleStatus DisableRewards Remove Zombie
HalfTranceCommand Set COMMANDS HalfTranceCommand Add COMMANDS HalfTranceCommand Remove COMMANDS
Change the list of the commands that consume only half of the trance gauge, typically for double-cast commands.
The default list contains DoubleWhiteMagic
and DoubleBlackMagic
.
The list of commands can be found there.
Example:
HalfTranceCommand Set DoubleWhiteMagic DoubleBlackMagic HolySword2
DoubleCastCommand Set COMMANDS DoubleCastCommand Add COMMANDS DoubleCastCommand Remove COMMANDS
Change the list of the commands that allow two casts per turn.
The default list contains DoubleWhiteMagic
and DoubleBlackMagic
.
The list of commands can be found there.
Example:
DoubleCastCommand Add BlueMagic
MixCommand COMMAND FALLBACKTYPE MixCommand COMMAND FALLBACKTYPE Consume MixCommand COMMAND FAIL_ITEM ITEM
Define a "mix" command, which is a command that combines 2 different items to create another one. The table for the mix recipes must be defined in the CSV StreamingAssets/Data/Items/MixItems.csv
. For attempts of mixing items that don't have any recipe in that file, the FALLBACKTYPE
is used. It can be either:
-
FIRST_ITEM
: use the first item picked instead, -
SECOND_ITEM
: use the second item picked instead, -
USE_ITEMS
: both items are used one after the other, -
SKIP_TURN
: the turn is wasted with a failure message, -
CANCEL_MENU
: the item choice is canceled without skipping the turn, -
FAIL_ITEM ITEM
: use a default item.
Consume
can be added to specify that item(s) are consumed even for that fallback situation.
The list of commands can be found there.
Examples:
MixCommand RedMagic1 SKIP_TURN MixCommand 1000 SKIP_TURN Consume MixCommand RedMagic2 FAIL_ITEM 254 MixCommand 1001 FAIL_ITEM 254 Consume
WorldMusicList LISTOFMUSICIDS
Change the musics played in the World Maps.
The list must comprise at least 7 music IDs (possibly repeated) that correspond by default to the musics played in these situations:
1st ID: Music played when walking by foot or sailing on the Blue Narciss in discs 1-3 (69 by default)
2nd ID: Music played when riding a chocobo (100 by default)
3rd ID: Music played when riding the Hilda Garde III (112 by default)
4th ID: Music played when walking by foot or riding the Invincible in disc 4 (45 by default)
5th ID: Music played during the trip to Oeilvert (95 by default)
6th ID: Music played during the chase after the Desert Palace events (96 by default)
7th ID: Faerie Battle (61), not triggered like that by default
8th ID: Steiner's Delusion (62), not triggered like that by default
One can define as many music IDs as wanted and refer to them in the Transport Control spreadsheet TransportControls.csv
.
The list of musics and their IDs can be found here.
Example:
WorldMusicList 69 22 112 45 95 96 61 62 75
TetraMasterSound TETRAMASTERSOUND SOUNDID
Change one of the sounds used by the Tetra Master interface. The list of sound type can be found there.
Example:
TetraMasterSound CANCEL 101
MoogleFieldList Set FIELDIDLIST MoogleFieldList Add FIELDIDLIST MoogleFieldList Remove FIELDIDLIST
Change the list of fields that are considered to contain a save point.
This list is used only for the Memoria.ini
option [SaveFile] AutoSaveOnlyAtMoogle
.
Example:
MoogleFieldList Remove 2905 2909 2916 2919
MessageFile ID NAME
Define a new batch of dialogs and texts to be imported as EmbeddedAsset/Text/[LANG]/Field/[ID].mes
(in resources.assets
)
where [LANG]
is one the different language codes of the game (US, UK, JP, GR, FR, IT, ES).
Example:
MessageFile 2000 MES_CUSTOM_PLACE
BattleMapModel BATLLEIDENTIFIER BACKGROUNDIDENTIFIER
Setup the battle background of a battle. The list of battle name identifiers and background identifiers can be found here.
Example:
BattleMapModel BSC_MS_E075 BBG_B065
FieldScene SCRIPTID AREAID FIELDMAPIDENTIFIER SCRIPTIDENTIFIER MESID
Setup field informations, possibly for custom fields.
SCRIPTID
is the numerical ID of the field (same as displayed by Hades Workshop when enabling "Show field ID").
MESID
is the numerical ID of the batch of texts and dialogs used for that field.
The others are parts of the field's name identifiers:
Field Map Identifier: FBG_N[AREAID]_[FIELDMAPIDENTIFIER]
Script Identifier: EVT_[SCRIPTIDENTIFIER]
The list of fields with their various IDs can be found there.
In order to create a custom field, the following assets should be given:
Natively packed in p0data1X:
Assets/Resources/FieldMaps/[Field Map Identifier]/atlas.png Assets/Resources/FieldMaps/[Field Map Identifier]/[Field Map Identifier].bgi.bytes Assets/Resources/FieldMaps/[Field Map Identifier]/[Field Map Identifier].bgs.bytes [Optional] Assets/Resources/FieldMaps/[Field Map Identifier]/spt.tcb.bytes [Optional for each sps] Assets/Resources/FieldMaps/[Field Map Identifier]/[spsID].sps.bytesNatively packed in p0data7:
Assets/Resources/CommonAsset/EventEngine/EventBinary/Field/[LANG]/[Script Identifier].eb.bytes [Optional] Assets/Resources/CommonAsset/EventEngine/EventAnimation/[Script Identifier].txt.bytes [Optional] Assets/Resources/CommonAsset/MapConfigData/[Script Identifier].bytes [Optional] Assets/Resources/CommonAsset/VibrationData/[Script Identifier].bytes
where LANG
is one of the game's language code (US, UK, JP, GR, FR, IT, ES).
Example:
FieldScene 4000 57 CUSTOM_FIELD CUSTOM_FIELD 2000
BattleScene SCRIPTID BATTLEIDENTIFIER BACKGROUNDIDENTIFIER
Setup battle informations, possibly for custom battles.
The battle identifier should not contain the prefix "BSC_" contrary to lines with the code BattleMapModel
.
In order to create a custom battle, the following assets should be given:
Natively packed in p0data2:
Assets/Resources/BattleMap/BattleScene/EVT_BATTLE_[BATTLEIDENTIFIER]/[SCRIPTID].raw17.bytes Assets/Resources/BattleMap/BattleScene/EVT_BATTLE_[BATTLEIDENTIFIER]/dbfile0000.raw16.bytesNatively packed in p0data7:
Assets/Resources/CommonAsset/EventEngine/EventBinary/Battle/[LANG]/EVT_BATTLE_[BATTLEIDENTIFIER].eb.bytesNatively packed in resources:
EmbeddedAsset/Text/[LANG]/Battle/[SCRIPTID].mes
where LANG
is one of the game's language code (US, UK, JP, GR, FR, IT, ES).
Example:
BattleScene 5000 CUSTOM_BATTLE BBG_B065
CharacterDefaultName CHARACTERID LANG NAME
Redefine the default name of a character.
CHARACTERID
is one of the followings:
0. Zidane
1. Vivi
2. Garnet
3. Steiner
4. Freya
5. Quina
6. Eiko
7. Amarant
Remark: Character default names can also be changed with the option [Import] Text = 1
although it would monopolise the whole machinery of text importing.
[Import] Text = 1
has the priority over Dictionary Patch.
Example:
CharacterDefaultName 0 US Zinedine
3DModel LISTOFMODELID MODELNAME
Make all references to any of the given model ID point to the model given by MODELNAME
.
See the Model Database spreadsheet to have a list of model IDs and model names, with their animations.
Example:
3DModel 98 GEO_NPC_F0_RMF 3DModelAnimation 200 ANH_NPC_F0_RMF_IDLE 3DModelAnimation 25 ANH_NPC_F0_RMF_WALK 3DModelAnimation 38 ANH_NPC_F0_RMF_RUN 3DModelAnimation 40 ANH_NPC_F0_RMF_TURN_L 3DModelAnimation 41 ANH_NPC_F0_RMF_TURN_R 3DModelAnimation 54 55 56 57 59 ANH_NPC_F0_RMF_ANGRY_INN
3DModel LISTOFANIMATIONID ANIMATIONNAME
Make all references to any of the given animation ID point to the animation given by ANIMATIONNAME
.
See the Model Database spreadsheet to have a list of model IDs and model names, with their animation IDs and names.
Example: see in 3DModel
above
This instruction is not used anymore, because player character battle model datas are now externalised in the file StreamingAssets/Data/Characters/BattleParameters.csv
.