_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)
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
|
||
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
|
||
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 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