Phoenix Point

File information

Last updated

Original upload

Created by

Sheepy

Uploaded by

ElleSheepy

Virus scan

Safe to use

Tags for this mod

About this mod

Dump game data such as classes, items, researches, events, abilities, factions, facilities, zones, translations, plus guid list and console command list.

Requirements
Permissions and credits
Mirrors
Changelogs
Donations
Designed for Modnix 3 with JavaScript Runtime.
Other mod loaders may work but would dump less data.

This mod will, when you first enter Geoscape after game launch, take the live data from game and export them.
Modders of all skill levels should find the data useful when modding Phoenix Point.

The data dumps are saved to the mod's folder by default.
In Modnix you can select a mod to see its path, and can click on it to open File Explorer.

Guid

Guid.csv lists the type, guid, name, path, and current ViewElement text (if any) of all Defs in the game.
You can use it to find the guid / name of every data. If it is not on the list, it is probably not a game data object.

Note that guid of some data types may change from patch to patch.
Examples include but are not limited to various RequirementDef, RewardDef, and CostDef.

The most obvious usage is to find the guid you need to make a PPDefModifier mod.

BaseDef

BaseDefs practically define all game data, such as AbilityDef, ResearchDef, or TacticalItemDef.
They are exported to xml retaining full data structure. To view them, extract and drag the xml files to any browser.

The most obvious application is to learn a data and modify it, whether with PPDefModifier, Scripting Library, or in your DLL mod.
The data of Phoenix Point is flexible but complex. These dumps provide another way to browser them, an alternative to Asset Studio and dnSpy.

XML is chosen for its separation of attribute and value, simple syntax, and mature tools.
There is no plan to switch to json, but you are free to fork and hack the code, or write an independent converter.

To keep the data file manageable, zeros and empty list are omitted, and most objects have an "id".
Future occurrence of the same object instance will use "ref" to refer to it.

Translations

All translatable text in the game are dumped to csv, grouped by their source.
While you can't import them back, UI mods can use them to find and reuse simple terms and phases to support all official languages.
Once you got the term, use new LocalizedTextBind( TERM ).Localize() to translate it into the game's current language.

Excel is notoriously fickle when it comes to csv.
Use a standard-compliance spreadsheet such as OpenOffice, LibreOffice, or Google Sheets for best result.

Research translations may be missing. This should be a vanilla issue as in-game research text also require a restart to switch language.

Console Commands

ConsoleCommand.csv lists all registered console commands, including those from active mods if any.
You can use Console Enabler or Debug Console to enable the in-game console and use the commands.

Note that even built-in commands are unsupported and may change from patch to patch.
For example the vehicle_destroy command worked on release but broke in a later patch, and the bug is invisible until you save the game.
So, use them at your own risk!

Other data

Data not listed above can be exported with the help of the JavaScript Runtime mod.

By default, several game variables such as game difficulties and tactical contribution weights are exported to Data-GameSettings.xml.

You can rename, change, add, or remove these data by editing the Dump_Others section in the mod's config.

Browsers

Because of my need to maintain the Tech Tree,
I coded a research browser to decipher the technologies.

It is bundled with the mod as a webpage. Should run on any modern browser.
Plain good vanilla HTML + CSS + JavaScript, no library used, Internet not required.

Unfortunately, I don't have time to update it for other data.
If you think you know JavaScript, please help yourself. Do bring safety gears. My code can cause brain damage and PTSD.