Modding Data Parser Schema Characters and Jobs

From Cyber Knights: Flashpoint Wiki

References Links for Data Parser Schema

Modding Data Parser Schema Intro/Characters and Jobs

Characters and Jobs[edit | edit source]

Backstory[edit | edit source]

A Backstory record defines the template used to procedurally generate a new player character. It sets the starting job, traits, tags, and localization IDs. BlockCondition entries with Type: AddCharacter reference a Backstory by its group ID.

Fields

Field Type Default Notes
BackstoryId INTEGER Auto

Auto-assigned ID for this Backstory record.
Auto-assigned from StartingId if omitted. Hand-author to reserve a specific ID. Used as the WHERE key for UPDATE/DELETE.

Group INTEGER required

The group ID used by AddCharacter BlockConditions to reference this backstory.
SQL column: BackstoryGroup

NewGame INTEGER 0

TODO: Describe NewGame.

Implant INTEGER 0

TODO: Describe Implant.

Implant1 INTEGER 0

TODO: Describe Implant1.

Implant2 INTEGER 0

TODO: Describe Implant2.

Implant3 INTEGER 0

TODO: Describe Implant3.

NewGameGender INTEGER 0

TODO: Describe NewGameGender.

Cosmetic INTEGER required

TODO: Describe Cosmetic.

JobTypeId INTEGER required

The job class assigned to the generated character.
See Value Mappings: JobTypeId.

ContactLink1 INTEGER 0

TODO: Describe ContactLink1.

ContactLink2 INTEGER 0

TODO: Describe ContactLink2.

Weight INTEGER "1"

Selection weight when multiple backstories exist in the same group.

BackstoryTrait TEXT required

A special backstory trait tag applied to the character.

Trait1A TEXT ""

First trait option in slot 1.

Trait1B TEXT ""

Second trait option in slot 1.

Trait1C TEXT ""

Third trait option in slot 1.

Trait1D TEXT ""

TODO: Describe Trait1D.

Trait2A TEXT ""

TODO: Describe Trait2A.

Trait2B TEXT ""

TODO: Describe Trait2B.

Trait2C TEXT ""

TODO: Describe Trait2C.

Trait2D TEXT ""

TODO: Describe Trait2D.

Trait2E TEXT ""

TODO: Describe Trait2E.

CharLink TEXT ""

The story ID assigned to the generated character for dialog interpolation.
Must start with one of: PCP_
SQL column: CharStoryId

Icon TEXT ""

TODO: Describe Icon.

FactionTag TEXT ""

TODO: Describe FactionTag.
SQL column: TagFactionGroup

BlockGroup TEXT ""

TODO: Describe BlockGroup.

Tag1 TEXT ""

First tag applied to the generated character.

Tag2 TEXT ""

Second tag applied to the generated character.

Tag3 TEXT ""

Third tag applied to the generated character.

Tag4 TEXT ""

Fourth tag applied to the generated character.

TagID TEXT ""

TODO: Describe TagID.

CodeName TEXT ""

The character's code name written to the localization JSON.
Written to localization JSON as Backstory.CodeName.{BackstoryId}.
JSON output only — not written to SQL.

Title TEXT ""

The character's title written to the localization JSON.
Written to localization JSON as Backstory.Title.{BackstoryId}.
Always gender-split into _Male and _Female keys with pronoun substitution: {3}=he/she, {4}=him/her, {5}=his/her.
JSON output only — not written to SQL.

Desc TEXT ""

The backstory description written to the localization JSON.
Written to localization JSON as Backstory.Desc.{BackstoryId}.
Always gender-split into _Male and _Female keys with pronoun substitution: {3}=he/she, {4}=him/her, {5}=his/her.
JSON output only — not written to SQL.

GivenName TEXT ""

The character's given name written to the localization JSON.
Written to localization JSON as Backstory.GivenName.{BackstoryId}.
JSON output only — not written to SQL.

Surname TEXT ""

The character's surname written to the localization JSON.
Written to localization JSON as Backstory.Surname.{BackstoryId}.
JSON output only — not written to SQL.

Value Mappings

JobTypeId[edit | edit source]

The job class assigned to the character generated from this backstory.

Authored Value SQL Value Meaning
CyberKnight 1
Warmachine 2
Cybersword 3
Assassin 4
AgentEX 5
Assault 6
Soldier 7
DronePilot 8
Hunder 9
CombatMedic 10
Sniper 11
Vanguard 12
Hacker 13
Gunslinger 14
Scourge 15
Face 17

CharacterLevel[edit | edit source]

CharacterLevel defines the XP thresholds and reward grants for each character level. Each row corresponds to one level tier and specifies how much XP is required and what skill points, job points, talent points, and level type the character receives.

Fields

Field Type Default Notes
XP INTEGER 0

Total XP required to reach this level.
SQL column: xp

Level INTEGER 0

The level number.
SQL column: level

Skill INTEGER 0

Skill points granted at this level.
SQL column: skill

Job INTEGER 0

Job points granted at this level.
SQL column: job

Talent INTEGER 0

Talent points granted at this level.
SQL column: talent

Type INTEGER 0

The level type, controlling which reward track this level falls into.
SQL column: levelType


Job[edit | edit source]

A Job defines a playable character class. Each job determines what weapons, armor, implants, and talents a character can use, as well as their combat role and proc-gen characteristics. Jobs can optionally support pet companions with their own weapon and armor slots.

Fields

Field Type Default Notes
JobId INTEGER required

Hand-authored primary key for this job.
Hand-authored primary key. Used as the WHERE key for UPDATE/DELETE.

Type INTEGER 0

The job type category.
SQL column: JobType

CharType INTEGER 0

The character entity type used for this job.
SQL column: CharacterTypeId

PetOwner INTEGER 0

The pet owner type for this job's companion.
SQL column: PetOwnerTypeId

PetChar INTEGER 0

The pet character type for this job's companion.
SQL column: PetCharacterTypeId

ReqCyber INTEGER 0

A cybernetic implant class required to unlock this job.
SQL column: ReqCyberClass1Id

Quad1 INTEGER 0

First cybernetic quad available to this job.
SQL column: CyberQuad1

Quad2 INTEGER 0

Second cybernetic quad.
SQL column: CyberQuad2

Quad3 INTEGER 0

Third cybernetic quad.
SQL column: CyberQuad3

Frame1 INTEGER 0

First quad frame option.
SQL column: QuadFrame1

Frame2 INTEGER 0

Second quad frame option.
SQL column: QuadFrame2

Frame3 INTEGER 0

Third quad frame option.
SQL column: QuadFrame3

Enabled INTEGER 0

If set, this job is available in the game.

Medical INTEGER 0

Number of medical items this job can carry.
SQL column: ItemCarryMedical

Demo INTEGER 0

Number of demolition items this job can carry.
SQL column: ItemCarryDemo

Tech INTEGER 0

Number of tech items this job can carry.
SQL column: ItemCarryTech

Drug INTEGER 0

Number of drug items this job can carry.
SQL column: ItemCarryDrug

AnyItem INTEGER 0

Number of any-type items this job can carry.
SQL column: ItemCarryAny

Node1 INTEGER 0

First default job node unlocked at character creation.
SQL column: DefaultNode1

Node2 INTEGER 0

Second default job node.
SQL column: DefaultNode2

Node3 INTEGER 0

Third default job node.
SQL column: DefaultNode3

Node4 INTEGER 0

Fourth default job node.
SQL column: DefaultNode4

PetWeapon INTEGER 0

Pet weapon blueprint class for this job's companion.
SQL column: PetBlueprintClassWeapon

PetArmor INTEGER 0

Pet armor blueprint class.
SQL column: PetBlueprintClassArmor

PetSlot1 INTEGER 0

Pet implant class for slot 1.
SQL column: PetImplantClassSlot1

PetSlot2 INTEGER 0

Pet implant class for slot 2.
SQL column: PetImplantClassSlot2

PetSlot3 INTEGER 0

Pet implant class for slot 3.
SQL column: PetImplantClassSlot3

Sort INTEGER 0

Sort order in the job selection UI.
SQL column: SortBy

TagMatch TEXT ""

Tag filter for proc-gen job assignment.

Icon TEXT ""

Asset path for this job's icon.
SQL column: IconPng

Name TEXT ""

The job's display name. Gender-split into _Male and _Female variants.
Written to localization JSON as Job.Name.{JobId}.
Always gender-split into _Male and _Female keys with pronoun substitution: {3}=he/she, {4}=him/her, {5}=his/her.
JSON output only — not written to SQL.

Desc TEXT ""

The job's description. Gender-split into _Male and _Female variants.
Written to localization JSON as Job.Desc.{JobId}.
Always gender-split into _Male and _Female keys with pronoun substitution: {3}=he/she, {4}=him/her, {5}=his/her.
JSON output only — not written to SQL.


JobNode[edit | edit source]

A JobNode defines a single node in a job's talent tree. Nodes can unlock talents, grant implant slots, provide stat bonuses, or enable special abilities. Each node has display position, prerequisites, and a credit cost to purchase.

Fields

Field Type Default Notes
JobNodeId INTEGER required

Hand-authored primary key for this job node.
Hand-authored primary key. Used as the WHERE key for UPDATE/DELETE.

Version INTEGER 0

The job tree version this node belongs to.
SQL column: JobVersion

Job INTEGER 0

The JobId this node belongs to.
SQL column: JobId

Col INTEGER 0

Display column position in the talent tree UI.
SQL column: DisplayCol

Row INTEGER 0

Display row position in the talent tree UI.
SQL column: DisplayRow

Req1 INTEGER 0

A prerequisite JobNodeId that must be purchased first.
SQL column: NodeReq1

Req2 INTEGER 0

Second prerequisite node.
SQL column: NodeReq2

Req3 INTEGER 0

Third prerequisite node.
SQL column: NodeReq3

SubTree INTEGER 0

The sub-tree this node belongs to within the job tree.

SubQuad INTEGER 0

The quad sub-section this node belongs to.

ImplantClass INTEGER 0

The implant class slot unlocked by this node.

ImplantLevel INTEGER 0

The implant level unlocked.

Locked INTEGER 0

If set, this node is locked by default.

MatrixEffect INTEGER 0

A MatrixEffect applied by this node.
SQL column: MatrixEffect1Id

NodeEffect INTEGER 0

An Effect applied by this node.
SQL column: NodeEffect1Id

Talent INTEGER 0

The primary talent granted by this node.
SQL column: NodeTalent1Id

TriggerTalent INTEGER 0

A talent triggered by a specific condition.
SQL column: NodeTalentTriggerId

TriggerType INTEGER 0

The trigger type that activates the trigger talent.
SQL column: NodeTalentTriggerType

TriggerEffect INTEGER 0

An effect applied when the trigger fires.
SQL column: NodeTalentTriggerEffect

Adjustment INTEGER 0

An adjustment ID modifying the node's talent.
SQL column: NodeTalentAdjustmentId

MaxUses INTEGER 0

Maximum uses per turn for this node's talent.
SQL column: TurnMaxUses

Charges INTEGER 0

Maximum charges for this node's talent.
SQL column: MaxCharges

Recharge INTEGER 0

Turns required to recharge the talent.
SQL column: RechargeTurns

Range INTEGER 0

Talent range in tiles.
SQL column: TalentRange

AoE INTEGER 0

Talent area of effect radius.
SQL column: TalentRangeAoE

Duration INTEGER 0

Duration of talent effects in turns.
SQL column: TalentDuration

Healing INTEGER 0

Healing provided by this node's talent.
SQL column: TalentHealing

Damage INTEGER 0

Damage dealt by this node's talent.
SQL column: TalentDamage

Count INTEGER 0

Count parameter for multi-target talents.
SQL column: TalentCount

AP INTEGER 0

Action point cost of this node's talent.
SQL column: TalentAp

CarryClass INTEGER 0

An item carry class unlocked by this node.
SQL column: CarryItemClass

Limit INTEGER 0

Talent use limit.
SQL column: TalentLimit

Rule INTEGER 0

A rule ID associated with this node.
SQL column: DescRule

Cost INTEGER 0

Credit cost to purchase this node.
SQL column: BuyCost

Icon TEXT ""

Asset path for this node's icon.
SQL column: IconPng

Name TEXT ""

The node's display name.
Written to localization JSON as JobNode.Name.{JobNodeId}.
JSON output only — not written to SQL.

Desc TEXT ""

The node's description.
Written to localization JSON as JobNode.Desc.{JobNodeId}.
JSON output only — not written to SQL.


Implant[edit | edit source]

An Implant is a cybernetic enhancement installed in a character. Implants provide stat bonuses, grant special abilities, or unlock new talents. Each implant occupies a specific slot and may conflict with other implants. Some implants are disabled (deactivated) and require unlocking.

Fields

Field Type Default Notes
ImplantTypeId INTEGER required

Hand-authored primary key for this implant.
Hand-authored primary key. Used as the WHERE key for UPDATE/DELETE.

Class INTEGER 0

The implant class controlling which slots it can fill.
SQL column: ImplantClass

Level INTEGER 0

The implant level controlling its power tier.
SQL column: ImplantLevel

Slot INTEGER 0

The implant slot this implant occupies.
SQL column: ImplantSlot

Conflict INTEGER 0

An implant ID that cannot be equipped simultaneously with this implant.
SQL column: ImplantConflictId

Stress INTEGER 0

Stress applied to the character when this implant is installed.
SQL column: ImplantStress

DVMult INTEGER 0

DV (damage vulnerability) multiplier applied.
SQL column: ImplantDVMult

DVScore INTEGER 0

DV score contribution.
SQL column: ImplantDVScore

Deactivated INTEGER 0

If set, this implant starts deactivated and must be reactivated.

Effect INTEGER 0

An effect applied while this implant is active.
SQL column: ImplantEffectId

TraitGroup INTEGER 0

A trait group applied when this implant is installed.
SQL column: ImplantTraitGroup

MatrixEffect INTEGER 0

A MatrixEffect applied while this implant is active.
SQL column: MatrixEffectId

TriggerType INTEGER 0

The trigger type that activates this implant's effect.
SQL column: EffectTriggerType

Trigger INTEGER 0

The effect triggered when the trigger condition is met.
SQL column: TriggerEffectId

Wound INTEGER 0

A wound trait applied when this implant is damaged.
SQL column: WoundTraitId

Armor INTEGER 0

An armor restriction imposed by this implant.
SQL column: ArmorRestriction

InstallTime INTEGER 0

Turns required to install this implant.

Backstory INTEGER 0

A backstory group associated with characters that have this implant.
SQL column: BackstoryGroup

InstallJob INTEGER 0

The job required to install this implant.
SQL column: InstallJobId

Talent INTEGER 0

A talent granted by this implant.
SQL column: ImplantTalentId

Service INTEGER 0

The ContactService that installs or sells this implant.
SQL column: ServiceOptionId

Rarity INTEGER 0

The rarity tier of this implant.
See Value Mappings: Rarity.

PowerLevel INTEGER 0

The power level of this implant.

Cost INTEGER 0

Credit cost.

Faction INTEGER 0

The faction this implant is associated with.
SQL column: FactionId

Icon TEXT ""

Asset path for this implant's icon.
SQL column: PngPath

Name TEXT ""

The implant's display name.
Written to localization JSON as Implant.Name.{ImplantTypeId}.
JSON output only — not written to SQL.

Value Mappings

Rarity[edit | edit source]

The rarity tier of this implant.

Authored Value SQL Value Meaning
Common 1 Common — lowest tier
Rare 2 Rare — second tier
Epic 3 Epic — third tier
Legendary 4 Legendary — highest tier

Talent[edit | edit source]

A Talent defines an active or passive ability available to characters through their job node tree. Talents can deal damage, apply effects, consume action points, spawn tokens, and interact with weapons, drones, and other game systems.

Fields

Field Type Default Notes
TalentId INTEGER required

Hand-authored primary key for this talent.
Hand-authored primary key. Used as the WHERE key for UPDATE/DELETE.

Type INTEGER 0

The talent type ID grouping related talent variants.
SQL column: TalentTypeId

AltAdjust INTEGER 0

An alternate adjustment ID applied to this talent.
SQL column: AlternateAdjustment

AltOverride INTEGER 0

If set, overrides the alternate behavior.

Level INTEGER 0

The upgrade level of this talent.
SQL column: TalentLevel

Cost INTEGER 0

The level-up credit cost for this talent.
SQL column: LevelCost

IsCyber INTEGER 0

If set, this talent requires a cybernetic implant to use.
SQL column: TalentIsCyber

ReqCyber INTEGER 0

The specific cybernetic class required.
SQL column: TalentReqCyber

IsFace INTEGER 0

If set, this is a face (social) talent.
SQL column: TalentIsFace

MatrixOnly INTEGER 0

If set, this talent only functions in Matrix combat.
SQL column: TalentIsMatrixOnly

IsActive INTEGER 0

If set, this is an active talent that must be triggered by the player.
SQL column: TalentIsActive

Trigger INTEGER 0

The game event that triggers this passive talent.
SQL column: GameEventTrigger

Range INTEGER 0

Effective range in tiles.

AoE INTEGER 0

Area of effect radius in tiles.
SQL column: RangeAoE

Action INTEGER 0

The action ID performed by this talent.
SQL column: ActionId

PetProxy INTEGER 0

If set to 1, this allows this talent to use the location of any pet as its center point for range

AP INTEGER 0

Action point cost to activate this talent.
SQL column: ApCost

Stress INTEGER 0

Stress applied when this talent is used.
SQL column: StressChance

Weapon INTEGER 0

A weapon ID required or used by this talent.

WeaponMode INTEGER 0

The weapon firing mode used by this talent.

TargetEffect INTEGER 0

An effect applied to the target.

TargetDuration INTEGER 0

Duration of the target effect in turns.
SQL column: TargetEffectDuration

SelfEffect INTEGER 0

An effect applied to the user.

SelfDuration INTEGER 0

Duration of the self effect.

MatrixEffect INTEGER 0

A MatrixEffect applied by this talent.

MatrixDuration INTEGER 0

Duration of the MatrixEffect.

Token INTEGER 0

The type of token created by this talent.

TokenCount INTEGER 0

Number of tokens created.

TokenDuration INTEGER 0

Duration of created tokens.

Volume INTEGER 0

Audio volume level for this talent's sounds.

PureDamage INTEGER 0

Pure (untyped) damage dealt.

PhysicalDamage INTEGER 0

Physical damage dealt.

BallisticDamage INTEGER 0

Ballistic damage dealt.

DroneDamage INTEGER 0

Damage dealt to drones.

DroneRule INTEGER 0

A drone behavior rule applied by this talent where 1 is only drones, -1 is all biological targets and 0 is anyone

PreReq INTEGER 0

A prerequisite talent that must be learned first.

ExtraAsset INTEGER 0

An additional asset ID used by this talent.

AlternateCharge INTEGER 0

An alternate charge cost for this talent.

Filter INTEGER 0

A filter type applied to target selection.
SQL column: FilterTypeId

AltRule INTEGER 0

An alternate rule type.
SQL column: AltRuleType

Animation INTEGER 0

The animation key played when this talent is used.
SQL column: AnimationKey

KeepSelected INTEGER 0

If set, the talent keeps the target selected after firing.

Counter INTEGER 0

A counter ID incremented when this talent is used.

TeamMaxUses INTEGER 0

Maximum uses per turn shared across the whole team.
SQL column: TeamTurnMaxUses

MaxUses INTEGER 0

Maximum uses per turn for this character.
SQL column: TurnMaxUses

Charges INTEGER 0

Maximum charge count.
SQL column: MaxCharges

Recharge INTEGER 0

Turns required to recharge.
SQL column: RechargeTurns

TargetType TEXT ""

The target selection type for this talent.

Vfx TEXT ""

Visual effect asset for the talent activation.

SelfVfx TEXT ""

Visual effect asset applied to the user.

TokenVfx TEXT ""

Visual effect asset for spawned tokens.

Icon TEXT ""

Asset path for this talent's icon.
SQL column: IconPng

StringKey TEXT ""

A localization key reference for additional text lookup.
SQL column: TalentStringKey

EventSFX TEXT ""

Sound effect asset for the talent event.

GroupSFX TEXT ""

Sound effect asset for the talent group.
SQL column: GroupNameSFX

TypeSFX TEXT ""

Sound effect asset for the talent type.

Name TEXT ""

The talent's display name.
Written to localization JSON as Talent.Name.{TalentId}.
JSON output only — not written to SQL.


Trait[edit | edit source]

A Trait is a persistent modifier attached to a character that affects their stats, abilities, or story eligibility. Traits exist in upgrade chains of up to four levels sharing a TraitGroup. Level 1 is the root (ProcGenRoot) and levels 2–4 are upgrades (ProcGenLevel).

{
    "Trait": [
        { "Class": "ProcGenRoot",  "Level": 1, "Effect": 8118, "Score": 1, "TagMatch": "Trait_ReinforcedSpine", "Name": "Reinforced Spine", "Desc": "..." },
        { "Group": 3096, "Class": "ProcGenLevel", "Level": 2, "Effect": 8119, "Score": 2, "Name": "Reinforced Spine II", "Desc": "..." }
    ]
}

Fields

Field Type Default Notes
TraitId INTEGER Auto

Auto-assigned ID for this Trait record. The Level 1 root TraitId becomes the TraitGroup for levels 2–4.
Auto-assigned from StartingId if omitted. Hand-author to reserve a specific ID. Used as the WHERE key for UPDATE/DELETE.

Group INTEGER 0

The upgrade chain this trait belongs to. All four levels share the same TraitGroup. Defaults to TraitId if omitted.
Defaults to the same value as the auto-assigned ID field if omitted.
SQL column: TraitGroup

Class INTEGER required

The category of this trait.
See Value Mappings: Class.
SQL column: TraitClass

Effect INTEGER 0

The EffectTypeId applied when this trait is active.
SQL column: EffectTypeId

MatrixEffect INTEGER 0

The MatrixEffectTypeId applied when this trait is active in the Matrix.
SQL column: MatrixEffectTypeId

Level INTEGER 0

The upgrade level of this trait within its chain (1–4).
SQL column: TraitLevel

HealTime INTEGER 0

Turns required to heal this trait if it is a wound.

HealCost INTEGER 0

Credit cost to heal this trait.

Score INTEGER 0

Numeric score used for weighted selection and power level calculations.
SQL column: TraitScore

TagMatch TEXT ""

A tag required on a character for this trait to be eligible during proc-gen.

Name TEXT ""

Display name written to the localization JSON.
Written to localization JSON as Trait.Name.{TraitId}.
Always gender-split into _Male and _Female keys with pronoun substitution: {3}=he/she, {4}=him/her, {5}=his/her.
JSON output only — not written to SQL.

Desc TEXT ""

Description written to the localization JSON.
Written to localization JSON as Trait.Desc.{TraitId}.
Always gender-split into _Male and _Female keys with pronoun substitution: {3}=he/she, {4}=him/her, {5}=his/her.
JSON output only — not written to SQL.

Value Mappings

Class[edit | edit source]

The category of this trait, controlling how it is assigned and displayed.

Authored Value SQL Value Meaning
ProcGenRoot 1 Level 1 root of a proc-gen trait upgrade chain
ProcGenLevel 2 Level 2, 3, or 4 upgrade in a proc-gen chain
SpecialStory 3 A story-specific trait granted by a narrative event
Wound 4 A wound trait that degrades a character's capabilities until healed
Backstory 5 A trait granted by a character backstory record
MutationTemp 6 A temporary mutation trait


Modding: Home · Quick Start Guide · Modkit Uploader · Example Project · Data Modding · Data Parser Schema · Use Cases · Download Modding Resources