Star Traders Wiki
Advertisement

_id Values for Modders

It is recommend to use _id values for your modded data that are an order of magnitude higher than the existing data in the game data database. For example, if the highest _id in the ShipComponent table is currently 626, considering using _id=1000 or _id=2000 for your new ShipComponents as this will make your mod (and the saved games players create with it) more update-ready.

A mod creator does not need to update their mod's game data database to match the latest version shipped with the baseline of the game. However, if you do decide to update your data database, you may find that we have added a ShipComponent with _id=627. Starting at a higher order _id for your mods would remove any chance of a conflict in this case.

data.db Schema

The game's data dabase (data.db) is a SQLite database that contains all of the read-only run-time data used by Star Traders: Frontiers during gameplay and contains the following tables and schemas.

Version PRAGMA

The game's data database is version-stamped using a SQLite3 PRAGMA called 'version' which must match the current mod build. To extract the version, run the command '.pragma user_version' and to write the version, run the command '.pragma user_version = XXXX' where XXXX is your version ID number (a large six or seven digit number.)

https://sqlite.org/pragma.html#pragma_user_version

Table CharacterType

CREATE TABLE CharacterType (_id INTEGER PRIMARY KEY, tech INTEGER, name TEXT, HPFactor REAL, HPFactor2 REAL, MPFactor REAL, MPFactor2 REAL, resistanceFactor REAL, toughnessFactor REAL, dodgeFactor REAL, enabled INTEGER, sku INTEGER, shortDesc TEXT, longDesc TEXT);
Column Usage Min / Max Reference
_id
tech integer,
name text,
HPFactor floating point,
HPFactor2 floating point,
MPFactor floating point,
MPFactor2 floating point,
resistanceFactor floating point,
toughnessFactor floating point,
dodgeFactor floating point,
enabled integer,
sku integer,
shortDesc text,
longDesc text,

Table CharacterLevel

CREATE TABLE CharacterLevel (_id INTEGER PRIMARY KEY, xp INTEGER, level INTEGER, skill INTEGER, job INTEGER, talent INTEGER, levelType INTEGER);
Column Usage Min / Max Reference
_id
xp integer,
level integer,
skill integer,
job integer,
talent integer,
levelType integer,

Table ShipType

For details on modding ships, see Modding Ships.

CREATE TABLE ShipType (_id INTEGER PRIMARY KEY,shipTypeName TEXT, startShipCost INTEGER, shipCost INTEGER,skeletonDataFile TEXT,atlasFile TEXT, skinName TEXT, skinGroup TEXT, hullPoints INTEGER,baseArmor INTEGER, baseDeflection INTEGER, baseMass INTEGER, baseFuel INTEGER, maxOfficer INTEGER, maxLifeSupport INTEGER, maxCraft INTEGER, maxCraftDefense INTEGER, startingShip INTEGER, factionId INTEGER, gameState INTEGER, unlockId INTEGER, smallSlots INTEGER, mediumSlots INTEGER, largeSlots INTEGER);
Column Usage Min / Max Reference
_id
shipTypeName text,
startShipCost integer, the price of a ship when it is purchased as a starting ship
shipCost integer, the price of a ship when it is purchased through the starport
skeletonDataFile text,
atlasFile text,
skinName text,
skinGroup text,
hullPoints integer,
baseArmor integer,
baseDeflection integer,
baseMass integer,
baseFuel integer,
maxOfficer integer,
maxLifeSupport integer,
maxCraft integer,
maxCraftDefense integer,
startingShip 1 = Starting Ship

2 = For purchase in Staport

-1 = Not available for players (xeno)

-1, 1, 2
factionId integer, if set to non-zero this component is faction specific. See Modding Enums for Factions
gameState integer,
unlockId integer,
smallSlots integer, convenience field used to cache number of smallslots as defined for this ship type in data.ShipDataCompartment. Changing this will not grand additional slots. Must be kept in sync with data.ShipDataCompartment
mediumSlots integer, convenience field used to cache number of medium slots as defined for this ship type in data.ShipDataCompartment. Changing this will not grand additional slots. Must be kept in sync with data.ShipDataCompartment
largeSlots integer, convenience field used to cache number of large slots as defined for this ship type in data.ShipDataCompartment. Changing this will not grand additional slots. Must be kept in sync with data.ShipDataCompartment

Table ShipComponent

CREATE TABLE ShipComponent (_id INTEGER PRIMARY KEY AUTOINCREMENT, componentSize INTEGER, componentType INTEGER, componentName TEXT, componentDesc TEXT, componentPng TEXT, componentLevel INTEGER, shipWeaponId INTEGER, skPilot INTEGER, skShipOps INTEGER, skGunnery INTEGER, skElectronics INTEGER, skNavigation INTEGER, skExplorer INTEGER, holdsCargo INTEGER, holdsCrew INTEGER, holdsOfficer INTEGER, jumpCost INTEGER, armorBonus INTEGER, fuelBonus INTEGER, holdsGuest INTEGER, holdsPrisoner INTEGER, holdsCraft INTEGER, medicalRating INTEGER, shipEffectId INTEGER, deflectionBonus INTEGER, mass INTEGER, shipEngineId INTEGER, driveMass INTEGER, installCost INTEGER, installValue INTEGER, installTime INTEGER, subType INTEGER, signature INTEGER, sortPriority INTEGER, factionId INTEGER, gameState INTEGER, minEcon INTEGER, minMil INTEGER, minStar INTEGER, unlockId INTEGER);
Column Usage Min / Max Reference
_id
componentSize integer, must be 1=Small, 2=Medium or 3=Large 1-3
componentType Determines gameplay function of the component, see Modding Enums Ship Component Types
componentName text,
componentDesc text,
componentPng text,
componentLevel integer,
shipWeaponId integer, references ShipWeapon._id if the componentType = 4 (WEAPON)


If the componentType = 10 (WEAPONSLOCKER) then shipWeaponId is used to indicate the groupId of weapons and armor that the component grants

All weapons and armor where shipWeaponid = Weapon.groupId and shipWeaponId = Armor.groupId are granted

data.ShipWeapon._id

OR

data.Weapon.groupId and data.Armor.groupId

skPilot integer,
skShipOps integer,
skGunnery integer,
skElectronics integer,
skNavigation integer,
skExplorer integer,
holdsCargo integer,
holdsCrew integer,
holdsOfficer integer,
jumpCost integer, positive values increase jump cost where negative values decrease
armorBonus integer,
fuelBonus integer,
holdsGuest integer,
holdsPrisoner integer,
holdsCraft integer,
medicalRating integer,
shipEffectId integer, data.ShipEffect._id
deflectionBonus integer,
mass integer,
shipEngineId integer, references ShipEngine._id if the componentType = 3 (ENGINE) data.ShipEngine._id
driveMass integer,
installCost integer,
installValue integer,
installTime integer, the number of turns required to install this component
subType Determine grouping for sale in starport but has no impact on actual gameplay function of component see Modding Enums for Ship Component Sub Types
signature integer,
sortPriority integer,
factionId integer, if set to non-zero this component is faction specific. See Modding Enums for Factions
gameState integer,
minEcon integer,
minMil integer,
minStar integer, minimum Starport rating to sell this component
unlockId integer,

Table ShipWeapon

CREATE TABLE ShipWeapon (_id INTEGER PRIMARY KEY AUTOINCREMENT,weaponType INTEGER,damage INTEGER,damageDice INTEGER,winTies INTEGER, baseToHitCraft INTEGER, range INTEGER, attackType INTEGER, pngPath TEXT,hudPngPath TEXT,sound2 INTEGER,ap INTEGER,sound INTEGER,accuracy INTEGER,priority INTEGER, weaponName TEXT, level INTEGER, critChance INTEGER, effectChance INTEGER, radDamage INTEGER, voidDamage INTEGER);
Column Usage Min / Max Reference
_id
weaponType integer,
damage integer,
damageDice integer,
winTies integer,
baseToHitCraft integer,
range integer,
attackType integer,
pngPath text,
hudPngPath text,
sound2 integer,
ap integer,
sound integer,
accuracy integer,
priority integer,
weaponName text,
level integer,
critChance integer,
effectChance integer,
radDamage integer,
voidDamage integer,

Table ShipEngine

CREATE TABLE ShipEngine(_id INTEGER PRIMARY KEY AUTOINCREMENT, actionPoints INTEGER, moveCost INTEGER, shipSpeed INTEGER, shipAgile INTEGER, mapFuelCost INTEGER, combatFuelCost INTEGER, designMass INTEGER, safetyRating INTEGER, pngPath TEXT, description TEXT, name TEXT);
Column Usage Min / Max Reference
_id
actionPoints integer,
moveCost integer,
shipSpeed integer,
shipAgile integer,
mapFuelCost integer,
combatFuelCost integer,
designMass integer,
safetyRating integer,
pngPath text,
description text,
name text,

Table ShipEffect

CREATE TABLE ShipEffect (_id INTEGER PRIMARY KEY AUTOINCREMENT,effectType INTEGER,boardingBonus INTEGER, rangedAttackBonus INTEGER, damageBonus INTEGER, craftDamageBonus INTEGER,critBonus INTEGER,defensiveBonus INTEGER,armorBonus INTEGER,deflectionBonus INTEGER,reactorBonus INTEGER,moveBonus INTEGER, craftAttackBonus INTEGER, craftDefenseBonus INTEGER, craftMoveStatus INTEGER, radDamage INTEGER, voidDamage INTEGER, dotComponent INTEGER, dotCrew INTEGER, dotMorale INTEGER,radRes INTEGER, voidRes INTEGER,initBonus INTEGER,targetRule INTEGER,escapeBonus INTEGER, cloakBonus INTEGER, hullPoints INTEGER, jumpTime INTEGER, engineSafety INTEGER, patrol INTEGER, blockade INTEGER, spy INTEGER, salvage INTEGER, explorer INTEGER, effectName TEXT,effectDesc TEXT,pngPath TEXT);
Column Usage Min / Max Reference
_id
effectType integer, 1= Crew Crippling Effects, 2 = Ship Crippling Effects, 3 = Boarding, 4 = ShipComponent Buff,

5= Ship Combat Talent Buffs, 6 = Ship Combat Talent Debuffs, 7 = Captain Traits, 8 = Small Craft, 9 = ,10 =

1-10
boardingBonus integer,
rangedAttackBonus integer,
damageBonus integer,
craftDamageBonus integer,
critBonus integer,
defensiveBonus integer,
armorBonus integer,
deflectionBonus integer,
reactorBonus integer,
moveBonus integer,
craftAttackBonus integer,
craftDefenseBonus integer,
craftMoveStatus integer,
radDamage integer,
voidDamage integer,
dotComponent integer,
dotCrew integer,
dotMorale integer,
radRes integer,
voidRes integer,
initBonus integer,
targetRule integer,
escapeBonus integer,
cloakBonus integer, Increases or decreases ship encounter rate.
hullPoints integer,
jumpTime integer,
engineSafety integer,
patrol integer, not currently used
blockade integer, not currently used
spy integer, not currently used
salvage integer, not currently used
explorer integer, not currently used
effectName text,
effectDesc text,
pngPath text, this PNG must be in the combatbatch sprite sheet and should be 42x42px

Table SmallCraft

CREATE TABLE SmallCraft (_id INTEGER PRIMARY KEY AUTOINCREMENT, maxHull INTEGER, cost INTEGER, craftTypeId INTEGER, shipWeaponId INTEGER, craftArmor INTEGER, craftDeflection INTEGER, launchFuelCost INTEGER, skPilot INTEGER, skElectronics INTEGER, skGunnery INTEGER, baseActionPoints INTEGER, craftAgile INTEGER, craftSpeed INTEGER, repairCost INTEGER, maintCost INTEGER, baseToHitShip INTEGER, baseToHitCraft INTEGER, baseToDodgeHit INTEGER, factionId INTEGER, gameState INTEGER, minRank INTEGER, minEcon INTEGER, minMil INTEGER, minStar INTEGER, unlockId INTEGER, level INTEGER, skeletonDataFile TEXT, atlasFile TEXT, skinName TEXT, pngPath TEXT,description TEXT, craftName TEXT);
Column Usage Min / Max Reference
_id
maxHull integer,
cost integer,
craftTypeId integer,
shipWeaponId integer,
craftArmor integer,
craftDeflection integer,
launchFuelCost integer,
skPilot integer,
skElectronics integer,
skGunnery integer,
baseActionPoints integer,
craftAgile integer,
craftSpeed integer,
repairCost integer,
maintCost integer,
baseToHitShip integer,
baseToHitCraft integer,
baseToDodgeHit integer,
factionId integer, if set to non-zero this component is faction specific. See Modding Enums for Factions
gameState integer,
minRank integer,
minEcon integer,
minMil integer,
minStar integer,
unlockId integer,
level integer,
skeletonDataFile text,
atlasFile text,
skinName text,
pngPath text,
description text,
craftName text,

Table Weapon

CREATE TABLE Weapon (_id INTEGER PRIMARY KEY,weaponType INTEGER,damage INTEGER,damageDice INTEGER,parry INTEGER,penetration INTEGER,initScore INTEGER, range INTEGER,cost INTEGER,autoBlock INTEGER, mass INTEGER, pngPath TEXT,projectilePngPath TEXT,sound2 INTEGER,groupId INTEGER,sound INTEGER,accuracy INTEGER,effectId INTEGER, weaponName TEXT, level INTEGER, factionId INTEGER);
Column Usage Min / Max Reference
_id
weaponType integer,
damage integer,
damageDice integer,
parry integer,
penetration integer,
initScore integer,
range integer,
cost integer,
autoBlock integer,
mass integer,
pngPath text,
projectilePngPath text,
sound2 integer,
groupId integer which determines how the weapon is made available.

groupId 1-10 indicate the weapon will appear in the Weapon Lockers Levels 1-10


groupId 100 indicates this weapon is for sale by Contacts


groupId 2000 indicates this weapon is a story reward


groupId 102 indicates a weapon that can be Salvaged while 103 is Salvage but only through the Relic cards

sound integer,
accuracy integer,
effectId integer,
weaponName text,
level integer,
factionId integer,

Table Armor

CREATE TABLE Armor( _id INTEGER PRIMARY KEY, armorType INTEGER,protection INTEGER, absorption INTEGER, hardness INTEGER,dodge INTEGER, initScore INTEGER, effectId INTEGER,cost INTEGER, groupId INTEGER, gearLevel INTEGER, factionId INTEGER, pngPath TEXT,armorName TEXT);
Column Usage Min / Max Reference
_id
armorType integer,
protection integer,
absorption integer,
hardness integer,
dodge integer,
initScore integer,
effectId integer,
cost integer,
groupId integer which determines how the armor is made available.

groupId 1-10 indicate the armor will appear in the Weapon Lockers Levels 1-10


groupId 100 indicates this armor is for sale by Contacts


groupId 2000 indicates this armor is a story reward


groupId 102 indicates a armor that can be Salvaged while 103 is Salvage but only through the Relic cards

gearLevel integer,
factionId integer,
pngPath text,
armorName text,

Table Gear

CREATE TABLE Gear ( _id INTEGER PRIMARY KEY, level INTEGER, gearType INTEGER, effectId INTEGER, cost INTEGER, factionId INTEGER, groupId INTEGER, pngPath TEXT, gearName TEXT);
Column Usage Min / Max Reference
_id
level integer,
gearType integer, must be 1 = Weapon Enhancement, 2 = Defensive Improvement or 3 = Personal Buff
effectId integer, references Effect._id
cost integer,
factionId integer,
groupId integer, which determines how the armor is made available.


groupId 100 is for sale by Contacts with Military Gear, 101 is for sale by Contacts with Specialist Gear service and 109 is for Contacts with Wing Specialist Gear


groupId 102 indicates this armor is a story reward


groupId 103 indicates a Gear that can be Salvaged and 104 is for Salvaged but only thorugh the Relic cards

groupId 105 indicates Gear that can only be salvaged a Medical Salvage sites, and 106 is for Medical Relic

groupId 107 is for Military Salvage and 108 for Military Relic

pngPath text,
gearName text,

Table Job

CREATE TABLE Job (_id INTEGER PRIMARY KEY AUTOINCREMENT, jobName TEXT, jobType INTEGER, jobLevel INTEGER, skLightFirearms INTEGER, skHeavyFirearms INTEGER, skMelee INTEGER, skEvasion INTEGER, skTactics INTEGER, skStealth INTEGER, skGunnery INTEGER, skPilot INTEGER, skShipOps INTEGER, skRepair INTEGER, skElectronics INTEGER, skNavigation INTEGER, skDoctor INTEGER, skCommand INTEGER, skNegotiate INTEGER, skIntimidate INTEGER, skExplorer INTEGER, enabled INTEGER, sortBy INTEGER);

Each Job needs 36 entries, all with the same JobType key and covering jobLevel 1 to 36. Each row indicates the Skill granted by that row.

Column Usage Min / Max Reference
_id
jobName text,
jobType integer,
jobLevel integer, Level
skLightFirearms integer, Pistol Skill
skHeavyFirearms integer, Rifle Skill
skMelee integer, Blades Skill
skEvasion integer, Evasion Skill
skTactics integer, Tactics Skill
skStealth integer, Stealth Skill
skGunnery integer, Gunnery Skill
skPilot integer, Pilot Skill
skShipOps integer, Ship Ops Skill
skRepair integer, Repair Skill
skElectronics integer, Electronics Skill
skNavigation integer, Navigation Skill
skDoctor integer, Doctor Skill
skCommand integer, Command Skill
skNegotiate integer, Negotiate Skill
skIntimidate integer, Intimidate Skill
skExplorer integer, Explore Skill
enabled integer, if set to 1 this job can be trained
sortBy integer,

Table Trait

CREATE TABLE Trait ( _id INTEGER PRIMARY KEY, traitName TEXT, traitDesc TEXT, characterEffectId INTEGER, traitScore INTEGER, actionType INTEGER, resultType INTEGER, traitGroupId INTEGER, traitGroupId2 INTEGER);
Column Usage Min / Max Reference
_id
traitName text,
traitDesc text,
characterEffectId integer, references Effect._id.

If it is negative it is a ShipEffect where data.ShipEffect._id = abs(data.characterEffectId.effect._id)

traitScore integer, a meta score indicating relative value of Trait
actionType integer,
resultType integer,
traitGroupId integer,
traitGroupId2 integer,

Table Talent

CREATE TABLE Talent (_id INTEGER PRIMARY KEY,talentType INTEGER,talentLevel INTEGER,useMinPos INTEGER, useMaxPos INTEGER,targetType TEXT,targets INTEGER, minPos INTEGER, maxPos INTEGER, skillType TEXT,actionType INTEGER, resultType INTEGER, reqCraftType INTEGER, talentAccuracy INTEGER,weapon INTEGER,targetEffect INTEGER,targetDuration INTEGER,effect INTEGER,duration INTEGER, posChange INTEGER, targetPosChange INTEGER, heals INTEGER,healsType TEXT, jobType INTEGER, jobLevel INTEGER, sfx INTEGER, cooldown INTEGER, pngPath TEXT, projectilePngPath TEXT, partEffect TEXT,partEffect2 TEXT,talentName2 TEXT,talentName TEXT);
Column Usage Min / Max Reference
_id
talentType integer, duplicates _id = data.talent._id
talentLevel integer, Most values are 0, 4 non-0 values. Probably deprecated. 0-2
useMinPos integer, 0 for non-combat talents. For Combat this is the minimum valid position for talent use. In Ship Combat this is distance. In Crew Combat this distance from enemy (0 - adjacent to enemy, 3 = farthest away). 0-5
useMaxPos integer, 0 for non-combat talents. For Combat this is the maximum valid position for talent use. In Ship Combat this is distance. In Crew Combat this distance from enemy (0 - adjacent to enemy, 3 = farthest away). 0-5
targetType text,

ENEMY_CREW, TARGET_NONE, SELF_SHIP, FRIEND_CREW, ENEMY_SHIP, TARGET_SELF, FRIEND_CRAFT, ENEMY_CRAFT

targets integer, Number of effected targets. 0-5
minPos integer, 0 for non-combat talents. For Combat this is the minimum valid position for a target. In Ship Combat this is distance. In Crew Combat this distance from enemy (0 - adjacent to enemy, 3 = farthest away). 0-5
maxPos integer, 0 for non-combat talents. For Combat this is the maximum valid position for a target. In Ship Combat this is distance. In Crew Combat this distance from enemy (0 - adjacent to enemy, 3 = farthest away). 0-5
skillType text,

SKILLS_MELEE, SKILLS_LIGHT_FIREARMS, SKILLS_HEAVY_FIREARMS, SKILLS_COMMAND, SKILLS_INTIMIDATE, SKILLS_PILOT, SKILLS_NAVIGATION, SKILLS_NEGOTIATE, SKILLS_STEALTH, SKILLS_GUNNERY, SKILLS_GRENADES, SKILLS_TACTICS, SKILLS_EXPLORER, SKILLS_ELECTRONICS, SKILLS_REPAIR, SKILLS_SHIPOPS, SKILLS_EVASION, SKILLS_DOCTOR, SKILLS_NONE

actionType integer, Action that triggers the talent. -1 = crew combat talents, -2 =ship talents, 1:9 = skill saves, 10 = mission start, 11 = mission step, 13 = recruiting, 15 = landing, 18 = spice hall, 19 = xeno ship encounter, 20 = Radiation Storms, 21 = pay crew, and many more
resultType integer, Result of the talent triggering. Often linked to special hard coded behaviors.

42 different values.

32 = Ripcord's retreat from Crew Combat

reqCraftType integer, 0 = No Craft, 1 = Interdictor, 2 = Bomber, 3 = Shuttle 0-3
talentAccuracy integer, Bonus to accuracy (converted to percentage).
weapon integer, 0 except for grenades where reference data.Weapon._id =data.weapon.id for grenade talents
targetEffect integer, id of the effect applied to the target. = data.effect_id
targetDuration integer, length of the target effect in combat.
effect integer, id of the effect. = data.effect_id
duration integer, length of effect in combat. -1, 0, 1 current values.
posChange integer, talent moves the character. -1, 0, 1 current values.
targetPosChange integer, talent moves the targeted charcater.
heals integer, heals target this amount.
healsType text, HEALS_NONE, HEALS_MP, HEALS_BOTH, HEALS_HP
jobType integer, job that is required for this talent, = data.job._id
jobLevel integer, job level required for this talent.
sfx integer,
cooldown integer, Number of turns for a talent to become available after use. No effect on combat talents.
pngPath text, Icon Graphic
projectilePngPath text, Projectile Graphic used in combat animation
partEffect text, Particle Effect 1 used in combat animation
partEffect2 text, Particle Effect 2
talentName2 text, Description
talentName text, Talent Name

Table Effect

CREATE TABLE Effect (_id INTEGER PRIMARY KEY AUTOINCREMENT,effectType INTEGER,attackBonus INTEGER, rangedAttackBonus INTEGER, damageBonus INTEGER, damageMelee INTEGER, critBonus INTEGER,defensiveBonus INTEGER,armorBonus INTEGER,dodgeBonus INTEGER,stealthBonus INTEGER,initBonus INTEGER,fire INTEGER, plasma INTEGER, rad INTEGER, poison INTEGER, bleed INTEGER, fireRes INTEGER, plasmaRes INTEGER, radRes INTEGER, poisonRes INTEGER, bleedRes INTEGER, stunned INTEGER, pinned INTEGER, attQuickness INTEGER, attStrength INTEGER, attFortitude INTEGER, attWisdom INTEGER, attCharisma INTEGER, attResilience INTEGER, penBonus INTEGER, hardBonus INTEGER, purgeChance INTEGER, maintPointAvoid INTEGER, craftAttackBonus INTEGER, craftDefenseBonus INTEGER, moraleCode INTEGER, effectName TEXT,effectDesc TEXT,pngPath TEXT);
Column Usage Min / Max Reference
_id
effectType integer,
attackBonus integer,
rangedAttackBonus integer,
damageBonus integer,
damageMelee integer,
critBonus integer,
defensiveBonus integer,
armorBonus integer,
dodgeBonus integer,
stealthBonus integer, 0 for no bonus.

1 = counter-attack

10 = stealth mode

99 = auto-block

initBonus integer,
fire integer,
plasma integer,
rad integer,
poison integer,
bleed integer,
fireRes integer,
plasmaRes integer,
radRes integer,
poisonRes integer,
bleedRes integer,
stunned integer, must be multiple of 25
pinned integer,
attQuickness integer,
attStrength integer,
attFortitude integer,
attWisdom integer,
attCharisma integer,
attResilience integer,
penBonus integer,
hardBonus integer,
purgeChance integer,
maintPointAvoid integer,
craftAttackBonus integer,
craftDefenseBonus integer,
moraleCode integer,
effectName text,
effectDesc text,
pngPath text, this PNG must be in the crewcombatbatch sprite sheet and should be 42x42px

Table QuestLog2

CREATE TABLE QuestLog2(_id INTEGER PRIMARY KEY AUTOINCREMENT, preState INTEGER, storyTypeId INTEGER, storyId INTEGER, title TEXT, desc TEXT);
Column Usage Min / Max Reference
_id
preState integer,
storyTypeId integer,
storyId integer,
title text,
desc text,

Table Block2

CREATE TABLE Block2 (_id INTEGER PRIMARY KEY AUTOINCREMENT, blockName TEXT, preState1 INTEGER, preState2 INTEGER, preState3 INTEGER, preHasCharacter INTEGER, preHasContact INTEGER, preHasOfficerSpace INTEGER, preHasGold INTEGER, preItem1 INTEGER, preItem1Type INTEGER, preItem1Num INTEGER, preCode1 INTEGER, preCodeArg1 INTEGER, preFactionRep INTEGER, preContactRep INTEGER, preContactInfluence INTEGER, preRank INTEGER, preEdict INTEGER, preHasSKU INTEGER, preDevOnly INTEGER, preDialogId INTEGER, preOnFailDelete INTEGER, eventType TEXT, eventId INTEGER, postState1 INTEGER, postState2 INTEGER, postState3 INTEGER, postCode1 INTEGER, postCodeArg1 INTEGER, postCode2 INTEGER, postCodeArg2 INTEGER, postItem1 INTEGER, postItem1Type INTEGER, postItem1Num INTEGER, postItem2 INTEGER, postItem2Type INTEGER, postItem2Num INTEGER, postGrantExp INTEGER, postGold INTEGER, postDeleteChar INTEGER, postDeleteContact INTEGER, postKnowContact INTEGER, postFactionRep INTEGER, postContactRep INTEGER, postContactInfluence INTEGER, postBlock1Type INTEGER, postBlock1Turns INTEGER, postBlock1Id INTEGER, postBlock1StoryId INTEGER, postUseTurns INTEGER, postDeleteGameBlock INTEGER, postQuestState1 INTEGER, postQuestState2 INTEGER, postQuestState3 INTEGER, postSetScore INTEGER, postLogEntry TEXT);
Column Usage Min / Max Reference
_id
blockName text,
preState1 integer,
preState2 integer,
preState3 integer,
preHasCharacter integer,
preHasContact integer,
preHasOfficerSpace integer,
preHasGold integer,
preItem1 integer,
preItem1Type integer,
preItem1Num integer,
preCode1 integer,
preCodeArg1 integer,
preFactionRep integer,
preContactRep integer,
preContactInfluence integer,
preRank integer,
preEdict integer,
preHasSKU integer,
preDevOnly integer,
preDialogId integer,
preOnFailDelete integer,
eventType text,
eventId integer,
postState1 integer,
postState2 integer,
postState3 integer,
postCode1 integer,
postCodeArg1 integer,
postCode2 integer,
postCodeArg2 integer,
postItem1 integer,
postItem1Type integer,
postItem1Num integer,
postItem2 integer,
postItem2Type integer,
postItem2Num integer,
postGrantExp integer,
postGold integer,
postDeleteChar integer,
postDeleteContact integer,
postKnowContact integer,
postFactionRep integer,
postContactRep integer,
postContactInfluence integer,
postBlock1Type integer,
postBlock1Turns integer,
postBlock1Id integer,
postBlock1StoryId integer,
postUseTurns integer,
postDeleteGameBlock integer,
postQuestState1 integer,
postQuestState2 integer,
postQuestState3 integer,
postSetScore integer,
postLogEntry text,

Table Dialog2

CREATE TABLE Dialog2(_id INTEGER PRIMARY KEY, groupId INTEGER, useContactFace INTEGER, useCharacterFace INTEGER, useCrewFace INTEGER, useDefaultFace INTEGER, stateRequired INTEGER, stateExcluded INTEGER, font INTEGER, charRequiredFlag INTEGER, pngPath TEXT, pngTitle TEXT, diagText TEXT);
Column Usage Min / Max Reference
_id
groupId integer,
useContactFace integer,
useCharacterFace integer,
useCrewFace integer,
useDefaultFace integer,
stateRequired integer,
stateExcluded integer,
font integer,
charRequiredFlag integer,
pngPath text,
pngTitle text,
diagText text,

Table BlockCrewCombat

CREATE TABLE BlockCrewCombat (_id INTEGER PRIMARY KEY AUTOINCREMENT, crewTypeId INTEGER, factionId INTEGER, challengeLevelBonus INTEGER, storyId INTEGER, preBlockId INTEGER, winBlockId INTEGER, lossBlockId INTEGER);
Column Usage Min / Max Reference
_id
crewTypeId integer,
factionId integer,
challengeLevelBonus integer,
storyId integer,
preBlockId integer,
winBlockId integer,
lossBlockId integer,

Table BlockShipCombat

CREATE TABLE BlockShipCombat(_id INTEGER PRIMARY KEY AUTOINCREMENT, shipAiType INTEGER, factionId INTEGER, challengeLevelBonus INTEGER, preBlockId INTEGER, winBlockId INTEGER, lossBlockId INTEGER, drawBlockId INTEGER, storyId INTEGER, immediateCombat INTEGER, captainGender INTEGER, shipName TEXT, captainName TEXT);
Column Usage Min / Max Reference
_id
shipAiType integer,
factionId integer,
challengeLevelBonus integer,
preBlockId integer,
winBlockId integer,
lossBlockId integer,
drawBlockId integer,
storyId integer,
immediateCombat integer,
captainGender integer,
shipName text,
captainName text,

Table Contact

CREATE TABLE Contact (_id INTEGER PRIMARY KEY AUTOINCREMENT, typeName TEXT, description TEXT, defaultFaceId INTEGER, offerMission INTEGER, offerRank INTEGER, offerPermit INTEGER, offerEdict INTEGER, offerMarket INTEGER, offerRecruit INTEGER, offerService INTEGER, offerBuyRumor INTEGER, offerBuyData INTEGER, offerPardon INTEGER, offerDiscount INTEGER, minRep INTEGER, notWanted INTEGER, startingContact INTEGER, zoneTypeHint INTEGER, baseInfluence INTEGER, unlockId INTEGER, powerLevel INTEGER);
Column Usage Min / Max Reference
_id
typeName text,
description text,
defaultFaceId integer,
offerMission integer,
offerRank integer,
offerPermit integer,
offerEdict integer,
offerMarket integer,
offerRecruit integer,
offerService integer,
offerBuyRumor integer,
offerBuyData integer,
offerPardon integer,
offerDiscount integer,
minRep integer,
notWanted integer,
startingContact integer,
zoneTypeHint integer,
baseInfluence integer,
unlockId integer,
powerLevel integer,

Table ContactTrait

CREATE TABLE ContactTrait ( _id INTEGER PRIMARY KEY, name TEXT, traitDesc TEXT, traitIcon TEXT, traitGroupId INTEGER, traitScore INTEGER);
Column Usage Min / Max Reference
_id
name text,
traitDesc text,
traitIcon text,
traitGroupId integer ranging from 1 to 4 that separates all Contact Traits into groups.

A Contact will have 1 Trait for each group.

Only Traits in traitGroupId 4 should offer recruits.

1-4
traitScore integer, if this Trait offers a special type of recruit, the Job ID can be added here

Only Traits in traitGroupId 4 should offer recruits.

See data.JobConfig._id

Table ResourcesByResource

CREATE TABLE ResourcesByResource (_id INTEGER PRIMARY KEY AUTOINCREMENT, popEcon INTEGER, farmEcon INTEGER, mineEcon INTEGER, refineEcon INTEGER, industEcon INTEGER, orbitalEcon INTEGER, luxEcon INTEGER, SmuggEcon INTEGER, legal INTEGER, permit INTEGER);
Column Usage Min / Max Reference
_id
popEcon integer,
farmEcon integer,
mineEcon integer,
refineEcon integer,
industEcon integer,
orbitalEcon integer,
luxEcon integer,
SmuggEcon integer,
legal integer,
permit integer,

Table Backer

CREATE TABLE Backer (_id INTEGER PRIMARY KEY, displayName TEXT, accountcode TEXT, featurecode INTEGER);
Column Usage Min / Max Reference
_id
displayName text,
accountcode text,
featurecode integer,

Table ShipDataCompartment

CREATE TABLE ShipDataCompartment(_id INTEGER PRIMARY KEY AUTOINCREMENT, shipId INTEGER, tmxId INTEGER, size INTEGER, componentType INTEGER, defaultComponent INTEGER, typeLocked INTEGER);
Column Usage Min / Max Reference
_id
shipId integer,
tmxId integer,
size integer,
componentType integer,
defaultComponent integer,
typeLocked integer,

Table ShipTypeAiRoller

CREATE TABLE ShipTypeAiRoller (_id INTEGER PRIMARY KEY AUTOINCREMENT, aiTypeId INTEGER, shipTypeId INTEGER, minChallengeLevel INTEGER, rollerWeight INTEGER, factionId INTEGER, patternTypeId INTEGER);
Column Usage Min / Max Reference
_id
aiTypeId integer,
shipTypeId integer,
minChallengeLevel integer,
rollerWeight integer,
factionId integer,
patternTypeId integer,


Generated Tables

Some tables contain data that must be generated from other assets:

  • RegionMapData
  • RegionMapGate
  • RegionMapWorld
Advertisement