References Links for Data Parser Schema
Missions[edit | edit source]
Mission[edit | edit source]
A Mission defines a tactical operation the player's team can undertake. Each mission is identified by its MissionTypeId string and is composed of one or more MissionRoom records linked by that same ID.
Fields
| Field | Type | Default | Notes |
|---|---|---|---|
PriceMod |
INTEGER | 0 |
Modifier applied to the mission's base payout. |
NoPayment |
INTEGER | 0 |
If set to |
ExpMod |
INTEGER | 0 |
Modifier applied to experience points awarded on completion. |
TimeMod |
INTEGER | 0 |
Modifier applied to the time limit. |
TimeArbitrary |
INTEGER | 0 |
If set, overrides the calculated time limit with a fixed value. |
MaxMerc |
INTEGER | 0 |
TODO: Describe |
SecurityDeck |
INTEGER | 0 |
TODO: Describe |
PowerLevelMod |
INTEGER | 0 |
TODO: Describe |
MatrixPowerLevelMod |
INTEGER | 0 |
TODO: Describe |
Type |
TEXT | required |
The unique string ID for this mission. Used as the FK in MissionRoom and MissionBlock. |
Desc |
TEXT | "" |
References a Dialog sequence that builds the mission description shown to the player. |
Theme |
TEXT | "" |
The visual and audio theme applied to this mission's environment. |
ForContact |
TEXT | "" |
TODO: Describe |
ForFaction |
TEXT | "" |
TODO: Describe |
AgainstContact |
TEXT | "" |
TODO: Describe |
AgainstFaction |
TEXT | "" |
TODO: Describe |
Title |
TEXT | "" |
The mission title written to the localization JSON. |
Value Mappings
Theme[edit | edit source]
The visual and audio theme for this mission's environment.
| Authored Value | SQL Value | Meaning |
|---|---|---|
Corp |
CORP | Corporate environment |
Lux |
LUX | Luxury/high-end environment |
Street |
STREET | Street-level underworld environment |
NoPayment[edit | edit source]
Controls whether this mission pays out credits on completion.
| Authored Value | SQL Value | Meaning |
|---|---|---|
true |
1 |
MissionAdvantage[edit | edit source]
A MissionAdvantage is a special capability or resource that can be purchased before a mission begins through a contact. Advantages can provide combat buffs, intelligence, extra equipment, or other tactical benefits.
Fields
| Field | Type | Default | Notes |
|---|---|---|---|
AdvantageTypeId |
INTEGER | required |
Hand-authored primary key for this advantage. |
Class |
INTEGER | 0 |
The advantage category controlling its UI placement and behavior. |
ActionType |
INTEGER | 0 |
The action type this advantage triggers. |
ActionOpt |
INTEGER | 0 |
An option parameter for the action type. |
MatrixOnly |
INTEGER | 0 |
If set, this advantage only applies in Matrix combat. |
Duration |
INTEGER | 0 |
Number of turns this advantage's effect lasts. |
Room |
INTEGER | 0 |
The room level at which this advantage becomes available. |
PowerLevel |
INTEGER | 0 |
The power level of this advantage. |
Base |
INTEGER | 0 |
Base credit cost. |
Favor |
INTEGER | 0 |
Favor cost. |
Item |
INTEGER | 0 |
Item cost. |
Token |
INTEGER | 0 |
Token cost. |
AutoPrice |
INTEGER | 0 |
If set, the price is calculated automatically based on power level. |
Trust |
INTEGER | 0 |
Minimum trust required to purchase this advantage. |
Name |
TEXT | "" |
The advantage's display name. |
Rule |
TEXT | "" |
A short rules text shown in the UI. |
Desc |
TEXT | "" |
The advantage's full description. |
MissionAdvantageMatch[edit | edit source]
A MissionAdvantageMatch defines the contact matching rules for a MissionAdvantage. The engine evaluates tag requirements against available contacts to find an eligible contact who can provide the advantage.
Fields
| Field | Type | Default | Notes |
|---|---|---|---|
MissionAdvantageMatchId |
INTEGER | Auto |
Auto-assigned ID for this match entry. |
Sort |
INTEGER | 0 |
Sort order when multiple match entries compete. |
MissionAdvantageMatchGroup |
TEXT | required |
The group ID shared by all match entries in this set. |
Always |
TEXT | "" |
A contact that is always eligible for this advantage regardless of tags. |
Never |
TEXT | "" |
A contact that is never eligible for this advantage. |
TagReq1 |
TEXT | "" |
Tag that the matched contact must have. |
TagReq2 |
TEXT | "" |
Second required tag. |
TagReq3 |
TEXT | "" |
Third required tag. |
TagNot1 |
TEXT | "" |
Tag that the matched contact must NOT have. |
TagNot2 |
TEXT | "" |
Second excluded tag. |
TagNot3 |
TEXT | "" |
Third excluded tag. |
Name |
TEXT | "" |
Display name for this match configuration. |
Desc |
TEXT | "" |
Description of what this match represents. |
MissionBlock[edit | edit source]
A MissionBlock attaches story Block triggers to a MissionRoom. Each entry fires a Block Group when a specific in-mission event occurs — a room victory, a turn threshold, an alarm level change, or any of the other supported trigger types.
Fields
| Field | Type | Default | Notes |
|---|---|---|---|
RoomId |
INTEGER | required |
The MissionRoom.JsonId this MissionBlock is attached to. |
Turn |
INTEGER | 0 |
The turn number that triggers this block, when |
Filter |
INTEGER | 0 |
An additional filter ID that must be satisfied for this trigger to fire. |
Skip |
INTEGER | 0 |
If |
Type |
TEXT | "" |
The MissionTypeId this block belongs to. Currently unused — may be removed in future. |
Trigger |
TEXT | "" |
The in-mission event that causes this Block to fire. |
Block |
TEXT | "" |
The Block GroupId to fire when the trigger condition is met. |
Override |
TEXT | "" |
An optional override key passed to the fired Block for conditional behavior. |
Value Mappings
Skip[edit | edit source]
Whether to skip this MissionBlock entry entirely.
| Authored Value | SQL Value | Meaning |
|---|---|---|
Yes |
1 | This MissionBlock is skipped and not evaluated |
Trigger[edit | edit source]
The in-mission event that fires this block.
| Authored Value | Meaning |
|---|---|
None |
|
MissionPreMission |
Fires before the mission begins |
MissionVictory |
Fires on mission victory |
MissionDefeat |
Fires on mission defeat |
DoorOpen |
Fires when a door is opened |
DoorClose |
|
DeviceOn |
|
DeviceOff |
|
LootItem |
Fires when a loot item is collected |
MapTrigger |
|
MatrixFileDownload |
|
MatrixScanCPU |
|
MatrixSpikeCPU |
|
MatrixHackAPU |
|
Terminal |
Fires when a terminal is activated |
Timer |
Fires at a specific turn number |
Alarm |
Fires when the alarm is triggered |
MissionObjective |
Fires when an objective state changes |
TimerOnly |
|
AlarmOnly |
|
MissionReminder |
|
MissionExpiration |
|
MonsterKill |
Fires when a specific monster is killed |
MissionDiscussion |
Offered as a discussion choice on the mission list screen |
MissionReload |
|
RoomVictory |
Fires when this room's objective is completed |
RoomDefeat |
Fires when this room's objective fails |
MaxTurn |
Fires when the maximum turn limit is reached |
ChangeCharacter |
|
ChangeEnemy |
|
ExtractedWin |
Fires when all characters are extracted |
ExtractCharacter |
|
HeadHunterKill |
|
MonsterKillAll |
Fires when all monsters in a group are killed |
MonsterAttacked |
|
Leverage |
|
PreRoom |
|
BlockTerminal |
|
MetaSpawnVIP |
|
MetaIntroTurn0 |
|
MetaTriggerExit |
|
MetaTriggerRevealEscape |
|
MetaTriggerEnemyEscape |
|
MetaTriggerBlackmailLeverage |
|
MetaFreePrisoner |
|
MetaKillPrisonWarden |
|
MetaKillAssassinateVIP |
|
MetaLootRedKey |
|
MetaLootObjectiveFile |
|
CharacterRequired |
|
MapFeature |
|
RoomFlag |
|
SecPerTurn |
|
SecPerEscalation |
MissionLoot[edit | edit source]
A MissionLoot record defines a lootable item or resource that can be found during a mission. Loot has a group, type, power level, and rarity, and may have a name, description, and icon stored directly in SQL.
Fields
| Field | Type | Default | Notes |
|---|---|---|---|
MissionLootId |
INTEGER | required |
Hand-authored primary key for this loot record. |
Group |
INTEGER | 0 |
The loot group this record belongs to, used for proc-gen loot table selection. |
Type |
INTEGER | 0 |
The loot type controlling what kind of item or resource this represents. |
Key |
INTEGER | 0 |
An integer key used to identify the specific loot item within its type. |
PowerLevel |
INTEGER | 0 |
The power level of this loot, controlling availability and mission scaling. |
Rarity |
INTEGER | 0 |
The rarity tier of this loot. |
Name |
TEXT | "" |
The loot item's display name, stored directly in SQL. |
Desc |
TEXT | "" |
The loot item's description, stored directly in SQL. |
Icon |
TEXT | "" |
Asset path for the loot item's icon, stored directly in SQL. |
MissionPowerLevel[edit | edit source]
MissionPowerLevel defines the power tiers used to scale missions. Each tier controls which enemies, rewards, and encounters appear based on the current power level of the mission.
Fields
| Field | Type | Default | Notes |
|---|---|---|---|
MissionPowerLevelId |
INTEGER | required |
Hand-authored primary key for this mission power level. |
Class |
INTEGER | 0 |
The action class associated with this power level. |
Level |
INTEGER | 0 |
The numeric mission power level value. |
Fraction |
REAL | 0 |
A fractional modifier used in mission scaling calculations. |
Name |
TEXT | "" |
Display name for this power level tier, stored in SQL. |
MissionRoom[edit | edit source]
A MissionRoom defines one segment of a mission map. A mission is assembled from one or more rooms linked by MissionTypeId. Each room has its own objective, layout overrides, and optional text.
Fields
| Field | Type | Default | Notes |
|---|---|---|---|
JsonId |
INTEGER | Auto |
Auto-assigned ID for this MissionRoom record. Referenced by MissionBlock entries. |
Segment |
INTEGER | 0 |
The segment index of this room within the mission (0-based). |
RoomType |
INTEGER | 0 |
Overrides the proc-gen room type for this segment. |
AltPath |
INTEGER | 0 |
Overrides the alternate path option for this room. |
File |
INTEGER | 0 |
Overrides the map file used for this room. |
MaxTurn |
INTEGER | 0 |
The maximum turns allowed in this room before expiration. |
SecurityDeck |
INTEGER | 0 |
TODO: Describe |
Turret |
INTEGER | 0 |
The turret placement rule for this room. |
Objective |
TEXT | "" |
The objective type for this room. |
Type |
TEXT | required |
The MissionTypeId this room belongs to. Links this room to its parent Mission record. |
ObjectiveBlock |
TEXT | "" |
TODO: Describe |
Title |
TEXT | "" |
The room title written to the localization JSON. |
Desc |
TEXT | "" |
The room description written to the localization JSON. |
ObjectiveDesc |
TEXT | "" |
The objective description written to the localization JSON. |
Value Mappings
Objective[edit | edit source]
The objective type assigned to this room.
| Authored Value | Meaning |
|---|---|
Scav |
Search and recover multiple objectives |
Blacksite |
Infiltrate a high-security facility |
Cybersite |
|
HackCPU |
Hack a CPU node |
HackCPUDouble |
|
HackLoot |
|
HackFile |
|
Kill3 |
Eliminate multiple targets |
AssassinVIP |
Assassinate a VIP target |
EscortVIP |
Escort a VIP to extraction |
Battle |
Tactical combat engagement |
SiegeBattle |
|
HeistCPU |
Steal data from a CPU |
StealFiles |
Steal physical files |
BlackmailVIP |
|
BlackmailMsg |
|
HeistFiles |
|
Passage |
|
ExposedVIP |
|
KillBoss |
Eliminate a boss enemy |
KillBossBattle |
|
Prisoner |
Free a prisoner |
MultiSkyrise |
|
LockedExit |
Reach and unlock the exit |
Modding: Home · Quick Start Guide · Modkit Uploader · Example Project · Data Modding · Data Parser Schema · Use Cases · Download Modding Resources