forked from GitHub-Mirrors/foundry-sw5e
Update Starship Data with new structure
Updated to bring actor data inline with the starship class. Still need to do derived data for starship
This commit is contained in:
parent
a3d4bc69b0
commit
40641aed95
4 changed files with 62 additions and 22 deletions
|
@ -357,6 +357,7 @@ export default class Actor5e extends Actor {
|
|||
* @private
|
||||
*/
|
||||
_prepareStarshipData(actorData) {
|
||||
|
||||
const data = actorData.data;
|
||||
|
||||
// Proficiency
|
||||
|
@ -367,24 +368,49 @@ export default class Actor5e extends Actor {
|
|||
if (size.length === 0) return;
|
||||
const sizeData = size[0].data;
|
||||
const tiers = parseInt(sizeData.tier) || 0;
|
||||
data.traits.size = sizeData.size; // needs to be the short code
|
||||
data.details.tier = tiers;
|
||||
data.traits.size = sizeData.size;
|
||||
data.attributes.cargcap = (parseInt(sizeData.cargoCap) || 0);
|
||||
data.attributes.crewcap = (parseInt(sizeData.minCrew) || 1);
|
||||
data.attributes.fuel.cap = (parseInt(sizeData.fuelCap) || 5);
|
||||
data.attributes.fuel.cost = sizeData.fuelCost;
|
||||
data.attributes.hsm = sizeData.hardpointSizeMod;
|
||||
data.attributes.hull.die = sizeData.hullDice;
|
||||
data.attributes.hull.dicemax = sizeData.hullDiceStart + tiers;
|
||||
data.attributes.hull.dice = sizeData.hullDiceStart + tiers - (parseInt(sizeData.hullDiceUsed) || 0);
|
||||
// if hull.value .max = null then calculate them out
|
||||
// push to derived since based on attributes
|
||||
// data.attributes.hp.max = sizeData.hullDiceRolled[].reduce((a, b) => a + b, 0) + con.mod * hull.diceMax;
|
||||
// if (data.attributes.hp.value === null) data.attributes.hp.value = data.attributes.hp.max;
|
||||
data.attributes.shld.die = sizeData.shldDice;
|
||||
data.attributes.shld.dicemax = sizeData.shldDiceStart + tiers;
|
||||
data.attributes.shld.dice = sizeData.shldDiceStart + tiers - (parseInt(sizeData.shldDiceUsed) || 0);
|
||||
// if shld.value .max = null then calculate them out
|
||||
data.attributes.mods.max = sizeData.modBaseCap;
|
||||
// push to derived since based on attributes
|
||||
// data.attributes.hp.tempmax = sizeData.shldDiceRolled[].reduce((a, b) => a + b, 0) + str.mod * shld.diceMax;
|
||||
// if (data.attributes.hp.temp === null) data.attributes.hp.temp = data.attributes.hp.tempmax;
|
||||
data.attributes.pwrdice.die = SW5E.powerDieTypes[tiers];
|
||||
data.attributes.cost.baseBuild = sizeData.buildBaseCost;
|
||||
data.attributes.workforce.minBuild = sizeData.buildMinWorkforce;
|
||||
data.attributes.workforce.max = data.attributes.workforce.minBuild * 5;
|
||||
data.attributes.cost.baseUpgrade = SW5E.upgradeBaseCost[tiers];
|
||||
data.attributes.cost.multUpgrade = sizeData.upgrdCostMult;
|
||||
data.attributes.workforce.minUpgrade = sizeData.upgrdMinWorkforce;
|
||||
// push to derived since based on attributes
|
||||
// data.attributes. = sizeData.baseSpaceSpeed;
|
||||
// data.attributes. = sizeData.baseTurnSpeed;
|
||||
data.attributes.equip.crewMinWorkforce = (parseInt(sizeData.crewMinWorkforce) || 1);
|
||||
data.attributes.mods.capLimit = sizeData.modBaseCap;
|
||||
// push to derived since based on attributes
|
||||
// data.attributes. = sizeData.modMaxSuitesBase;
|
||||
// data.attributes. = sizeData.modMaxSuitesMult;
|
||||
data.attributes.mods.suites.cap = sizeData.modMaxSuiteCap;
|
||||
data.attributes.cost.multModification = sizeData.modCostMult;
|
||||
data.attributes.workforce.minModification = sizeData.modMinWorkforce;
|
||||
// push to derived since based on attributes
|
||||
// data.attributes. = sizeData.hardpointMult;
|
||||
data.attributes.cost.multEquip = sizeData.equipCostMult;
|
||||
data.attributes.workforce.minEquip = sizeData.equipMinWorkforce;
|
||||
data.attributes.equip.cargoCap = sizeData.cargoCap;
|
||||
data.attributes.fuel.cost = sizeData.fuelCost;
|
||||
data.attributes.fuel.value = sizeData.fuelCap;
|
||||
data.attributes.equip.foodCap = sizeData.foodCap;
|
||||
|
||||
|
||||
// push to derived since based on attributes
|
||||
// Link hull to hp and shields to temp hp
|
||||
//data.attributes.hull.value = data.attributes.hp.value;
|
||||
//data.attributes.hull.max = data.attributes.hp.max;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{"_id":"6BN8l5E8QtYt103T","name":"Small Starship","permission":{"default":0,"yXqD5rPwgjXHtqeZ":3},"type":"starship","data":{"description":{"value":null},"size":"Small","tier":0,"hullDice":"d6","hullDiceStart":3,"hullDiceRolled":[6,4,4],"hullDiceUsed":0,"shldDice":"d6","shldDiceStart":3,"shldDiceRolled":[6,4,4],"shldDiceUsed":0,"pwrDice":"1","constBaseCost":50000,"constMinWorkforce":5,"upgrdCostMult":1,"upgrdMinWorkforce":1,"baseSpaceSpeed":300,"baseTurnSpeed":250,"crewMinWorkforce":1,"modBaseCap":20,"modMaxSuitesBase":-1,"modMaxSuitesMult":1,"modMaxSuiteCap":1,"modCostMult":1,"modMinWorkforce":2,"hardpointMult":2,"equipCostMult":1,"equipMinWorkforce":1,"cargoCap":2,"fuelCost":50,"fuelCap":10,"foodCap":10,"source":"SotG"},"flags":{},"img":"systems/sw5e/packs/Icons/Starship%20Features/Small.webp","effects":[]}
|
||||
{"_id":"6liD1m4hqKSeS5sp","name":"Medium Starship","permission":{"default":0,"yXqD5rPwgjXHtqeZ":3},"type":"starship","data":{"description":{"value":null},"size":"Medium","tier":0,"hullDice":"d8","hullDiceStart":5,"hullDiceRolled":[8,5,5,5,5],"hullDiceUsed":0,"shldDice":"d8","shldDiceStart":5,"shldDiceRolled":[8,5,5,5,5],"shldDiceUsed":0,"pwrDice":"1","constBaseCost":100000,"constMinWorkforce":10,"upgrdCostMult":2,"upgrdMinWorkforce":5,"baseSpaceSpeed":300,"baseTurnSpeed":200,"crewMinWorkforce":1,"modBaseCap":30,"modMaxSuitesBase":3,"modMaxSuitesMult":1,"modMaxSuiteCap":4,"modCostMult":2,"modMinWorkforce":4,"hardpointMult":3,"equipCostMult":2,"equipMinWorkforce":2,"cargoCap":25,"fuelCost":100,"fuelCap":30,"foodCap":120,"source":"SotG"},"flags":{},"img":"systems/sw5e/packs/Icons/Starship%20Features/Medium.webp","effects":[]}
|
||||
{"_id":"FH8iBT4uujRUR0j7","name":"Gargantuan Starship","permission":{"default":0,"yXqD5rPwgjXHtqeZ":3},"type":"starship","data":{"description":{"value":null},"size":"Gargantuan","tier":0,"hullDice":"d20","hullDiceStart":11,"hullDiceRolled":[20,11,11,11,11,11,11,11,11,11,11],"hullDiceUsed":0,"shldDice":"d20","shldDiceStart":11,"shldDiceRolled":[20,11,11,11,11,11,11,11,11,11,11],"shldDiceUsed":0,"pwrDice":"1","constBaseCost":1000000000,"constMinWorkforce":10000,"upgrdCostMult":1000,"upgrdMinWorkforce":5000,"baseSpaceSpeed":300,"baseTurnSpeed":50,"crewMinWorkforce":80000,"modBaseCap":70,"modMaxSuitesBase":10,"modMaxSuitesMult":4,"modMaxSuiteCap":40000,"modCostMult":500,"modMinWorkforce":1000,"hardpointMult":3,"equipCostMult":500,"equipMinWorkforce":500,"cargoCap":200000,"fuelCost":100000,"fuelCap":1800,"foodCap":576000000,"source":"SotG"},"flags":{},"img":"systems/sw5e/packs/Icons/Starship%20Features/Gargantuan.webp","effects":[]}
|
||||
{"_id":"RFKvLuqE13INBxqd","name":"Large Starship","permission":{"default":0,"yXqD5rPwgjXHtqeZ":3},"type":"starship","data":{"description":{"value":null},"size":"Large","tier":0,"hullDice":"d10","hullDiceStart":7,"hullDiceRolled":[10,6,6,6,6,6,6],"hullDiceUsed":0,"shldDice":"d10","shldDiceStart":7,"shldDiceRolled":[10,6,6,6,6,6,6],"shldDiceUsed":0,"pwrDice":"1","constBaseCost":1000000,"constMinWorkforce":100,"upgrdCostMult":10,"upgrdMinWorkforce":50,"baseSpaceSpeed":300,"baseTurnSpeed":150,"crewMinWorkforce":200,"modBaseCap":50,"modMaxSuitesBase":3,"modMaxSuitesMult":2,"modMaxSuiteCap":400,"modCostMult":5,"modMinWorkforce":10,"hardpointMult":4,"equipCostMult":5,"equipMinWorkforce":5,"cargoCap":500,"fuelCost":1000,"fuelCap":300,"foodCap":240000,"source":"SotG"},"flags":{},"img":"systems/sw5e/packs/Icons/Starship%20Features/Large.webp","effects":[]}
|
||||
{"_id":"pgmf0rMYLt4LQtfN","name":"Huge Starship","permission":{"default":0,"yXqD5rPwgjXHtqeZ":3},"type":"starship","data":{"description":{"value":null},"size":"Huge","tier":0,"hullDice":"d12","hullDiceStart":9,"hullDiceRolled":[12,7,7,7,7,7,7,7,7],"hullDiceUsed":0,"shldDice":"d12","shldDiceStart":9,"shldDiceRolled":[12,7,7,7,7,7,7,7,7],"shldDiceUsed":0,"pwrDice":"1","constBaseCost":100000000,"constMinWorkforce":1000,"upgrdCostMult":100,"upgrdMinWorkforce":500,"baseSpaceSpeed":300,"baseTurnSpeed":100,"crewMinWorkforce":4000,"modBaseCap":60,"modMaxSuitesBase":6,"modMaxSuitesMult":3,"modMaxSuiteCap":4000,"modCostMult":50,"modMinWorkforce":100,"hardpointMult":2,"equipCostMult":50,"equipMinWorkforce":50,"cargoCap":10000,"fuelCost":10000,"fuelCap":600,"foodCap":9600000,"source":"SotG"},"flags":{},"img":"systems/sw5e/packs/Icons/Starship%20Features/Huge.webp","effects":[]}
|
||||
{"_id":"zC4qM8JMmMzCjMJK","name":"Tiny Starship","permission":{"default":0,"yXqD5rPwgjXHtqeZ":3},"type":"starship","data":{"description":{"value":null},"size":"Tiny","tier":0,"hullDice":"d4","hullDiceStart":1,"hullDiceRolled":[4],"hullDiceUsed":0,"shldDice":"d4","shldDiceStart":1,"shldDiceRolled":[4],"shldDiceUsed":0,"pwrDice":"1","constBaseCost":10000,"constMinWorkforce":3,"upgrdCostMult":0.5,"upgrdMinWorkforce":1,"baseSpaceSpeed":300,"baseTurnSpeed":300,"crewMinWorkforce":0,"modBaseCap":10,"modMaxSuitesBase":0,"modMaxSuitesMult":0,"modMaxSuiteCap":0,"modCostMult":0.5,"modMinWorkforce":1,"hardpointMult":1,"equipCostMult":0.5,"equipMinWorkforce":1,"cargoCap":0,"fuelCost":25,"fuelCap":5,"foodCap":0,"source":"SotG"},"flags":{},"img":"systems/sw5e/packs/Icons/Starship%20Features/Tiny.webp","effects":[]}
|
||||
{"_id":"6BN8l5E8QtYt103T","name":"Small Starship","permission":{"default":0,"yXqD5rPwgjXHtqeZ":3},"type":"starship","data":{"description":{"value":null},"size":"Small","tier":0,"hullDice":"d6","hullDiceStart":3,"hullDiceRolled":[6,4,4],"hullDiceUsed":0,"shldDice":"d6","shldDiceStart":3,"shldDiceRolled":[6,4,4],"shldDiceUsed":0,"pwrDice":"1","buildBaseCost":50000,"buildMinWorkforce":5,"upgrdCostMult":1,"upgrdMinWorkforce":1,"baseSpaceSpeed":300,"baseTurnSpeed":250,"crewMinWorkforce":1,"modBaseCap":20,"modMaxSuitesBase":-1,"modMaxSuitesMult":1,"modMaxSuiteCap":1,"modCostMult":1,"modMinWorkforce":2,"hardpointMult":2,"equipCostMult":1,"equipMinWorkforce":1,"cargoCap":2,"fuelCost":50,"fuelCap":10,"foodCap":10,"source":"SotG"},"flags":{},"img":"systems/sw5e/packs/Icons/Starship%20Features/Small.webp","effects":[]}
|
||||
{"_id":"6liD1m4hqKSeS5sp","name":"Medium Starship","permission":{"default":0,"yXqD5rPwgjXHtqeZ":3},"type":"starship","data":{"description":{"value":null},"size":"Medium","tier":0,"hullDice":"d8","hullDiceStart":5,"hullDiceRolled":[8,5,5,5,5],"hullDiceUsed":0,"shldDice":"d8","shldDiceStart":5,"shldDiceRolled":[8,5,5,5,5],"shldDiceUsed":0,"pwrDice":"1","buildBaseCost":100000,"buildMinWorkforce":10,"upgrdCostMult":2,"upgrdMinWorkforce":5,"baseSpaceSpeed":300,"baseTurnSpeed":200,"crewMinWorkforce":1,"modBaseCap":30,"modMaxSuitesBase":3,"modMaxSuitesMult":1,"modMaxSuiteCap":4,"modCostMult":2,"modMinWorkforce":4,"hardpointMult":3,"equipCostMult":2,"equipMinWorkforce":2,"cargoCap":25,"fuelCost":100,"fuelCap":30,"foodCap":120,"source":"SotG"},"flags":{},"img":"systems/sw5e/packs/Icons/Starship%20Features/Medium.webp","effects":[]}
|
||||
{"_id":"FH8iBT4uujRUR0j7","name":"Gargantuan Starship","permission":{"default":0,"yXqD5rPwgjXHtqeZ":3},"type":"starship","data":{"description":{"value":null},"size":"Gargantuan","tier":0,"hullDice":"d20","hullDiceStart":11,"hullDiceRolled":[20,11,11,11,11,11,11,11,11,11,11],"hullDiceUsed":0,"shldDice":"d20","shldDiceStart":11,"shldDiceRolled":[20,11,11,11,11,11,11,11,11,11,11],"shldDiceUsed":0,"pwrDice":"1","buildBaseCost":1000000000,"buildMinWorkforce":10000,"upgrdCostMult":1000,"upgrdMinWorkforce":5000,"baseSpaceSpeed":300,"baseTurnSpeed":50,"crewMinWorkforce":80000,"modBaseCap":70,"modMaxSuitesBase":10,"modMaxSuitesMult":4,"modMaxSuiteCap":40000,"modCostMult":500,"modMinWorkforce":1000,"hardpointMult":3,"equipCostMult":500,"equipMinWorkforce":500,"cargoCap":200000,"fuelCost":100000,"fuelCap":1800,"foodCap":576000000,"source":"SotG"},"flags":{},"img":"systems/sw5e/packs/Icons/Starship%20Features/Gargantuan.webp","effects":[]}
|
||||
{"_id":"RFKvLuqE13INBxqd","name":"Large Starship","permission":{"default":0,"yXqD5rPwgjXHtqeZ":3},"type":"starship","data":{"description":{"value":null},"size":"Large","tier":0,"hullDice":"d10","hullDiceStart":7,"hullDiceRolled":[10,6,6,6,6,6,6],"hullDiceUsed":0,"shldDice":"d10","shldDiceStart":7,"shldDiceRolled":[10,6,6,6,6,6,6],"shldDiceUsed":0,"pwrDice":"1","buildBaseCost":1000000,"buildMinWorkforce":100,"upgrdCostMult":10,"upgrdMinWorkforce":50,"baseSpaceSpeed":300,"baseTurnSpeed":150,"crewMinWorkforce":200,"modBaseCap":50,"modMaxSuitesBase":3,"modMaxSuitesMult":2,"modMaxSuiteCap":400,"modCostMult":5,"modMinWorkforce":10,"hardpointMult":4,"equipCostMult":5,"equipMinWorkforce":5,"cargoCap":500,"fuelCost":1000,"fuelCap":300,"foodCap":240000,"source":"SotG"},"flags":{},"img":"systems/sw5e/packs/Icons/Starship%20Features/Large.webp","effects":[]}
|
||||
{"_id":"pgmf0rMYLt4LQtfN","name":"Huge Starship","permission":{"default":0,"yXqD5rPwgjXHtqeZ":3},"type":"starship","data":{"description":{"value":null},"size":"Huge","tier":0,"hullDice":"d12","hullDiceStart":9,"hullDiceRolled":[12,7,7,7,7,7,7,7,7],"hullDiceUsed":0,"shldDice":"d12","shldDiceStart":9,"shldDiceRolled":[12,7,7,7,7,7,7,7,7],"shldDiceUsed":0,"pwrDice":"1","buildBaseCost":100000000,"buildMinWorkforce":1000,"upgrdCostMult":100,"upgrdMinWorkforce":500,"baseSpaceSpeed":300,"baseTurnSpeed":100,"crewMinWorkforce":4000,"modBaseCap":60,"modMaxSuitesBase":6,"modMaxSuitesMult":3,"modMaxSuiteCap":4000,"modCostMult":50,"modMinWorkforce":100,"hardpointMult":2,"equipCostMult":50,"equipMinWorkforce":50,"cargoCap":10000,"fuelCost":10000,"fuelCap":600,"foodCap":9600000,"source":"SotG"},"flags":{},"img":"systems/sw5e/packs/Icons/Starship%20Features/Huge.webp","effects":[]}
|
||||
{"_id":"zC4qM8JMmMzCjMJK","name":"Tiny Starship","permission":{"default":0,"yXqD5rPwgjXHtqeZ":3},"type":"starship","data":{"description":{"value":null},"size":"Tiny","tier":0,"hullDice":"d4","hullDiceStart":1,"hullDiceRolled":[4],"hullDiceUsed":0,"shldDice":"d4","shldDiceStart":1,"shldDiceRolled":[4],"shldDiceUsed":0,"pwrDice":"1","buildBaseCost":10000,"buildMinWorkforce":3,"upgrdCostMult":0.5,"upgrdMinWorkforce":1,"baseSpaceSpeed":300,"baseTurnSpeed":300,"crewMinWorkforce":0,"modBaseCap":10,"modMaxSuitesBase":0,"modMaxSuitesMult":0,"modMaxSuiteCap":0,"modCostMult":0.5,"modMinWorkforce":1,"hardpointMult":1,"equipCostMult":0.5,"equipMinWorkforce":1,"cargoCap":0,"fuelCost":25,"fuelCap":5,"foodCap":0,"source":"SotG"},"flags":{},"img":"systems/sw5e/packs/Icons/Starship%20Features/Tiny.webp","effects":[]}
|
||||
|
|
|
@ -37,8 +37,8 @@
|
|||
"value": 10,
|
||||
"min": 0,
|
||||
"max": 10,
|
||||
"temp": 0,
|
||||
"tempmax": 0
|
||||
"temp": null,
|
||||
"tempmax": null
|
||||
},
|
||||
"init": {
|
||||
"value": 0,
|
||||
|
@ -416,6 +416,13 @@
|
|||
"starship": {
|
||||
"templates": ["common"],
|
||||
"attributes": {
|
||||
"cost": {
|
||||
"baseBuild": 0,
|
||||
"baseUpgrade": 0,
|
||||
"multEquip": 0,
|
||||
"multModification": 0,
|
||||
"multUpgrade": 0
|
||||
},
|
||||
"death": {
|
||||
"failure": 0,
|
||||
"success": 0
|
||||
|
@ -514,7 +521,14 @@
|
|||
"value": null,
|
||||
"max": null
|
||||
},
|
||||
"used": false
|
||||
"used": false,
|
||||
"workforce": {
|
||||
"max": 0,
|
||||
"minBuild": 0,
|
||||
"minEquip": 0,
|
||||
"minModification": 0,
|
||||
"minUpgrade": 0
|
||||
}
|
||||
},
|
||||
"details": {
|
||||
"tier": 0,
|
||||
|
@ -1058,8 +1072,8 @@
|
|||
"shldDiceRolled":[6,4,4],
|
||||
"shldDiceUsed": 0,
|
||||
"pwrDice": "1",
|
||||
"constBaseCost": 50000,
|
||||
"constMinWorkforce": 5,
|
||||
"buildBaseCost": 50000,
|
||||
"buildMinWorkforce": 5,
|
||||
"upgrdCostMult": 1,
|
||||
"upgrdMinWorkforce": 1,
|
||||
"baseSpaceSpeed": 300,
|
||||
|
|
|
@ -122,14 +122,14 @@
|
|||
<div class="form-group">
|
||||
<label>{{localize "SW5E.StockCost"}}</label>
|
||||
<div class="form-fields">
|
||||
<input type="text" placeholder="0" name="data.constBaseCost" value="{{data.constBaseCost}}" data-dtype="Number"/>
|
||||
<input type="text" placeholder="0" name="data.buildBaseCost" value="{{data.buildBaseCost}}" data-dtype="Number"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label>{{localize "SW5E.MinConstWorkforce"}}</label>
|
||||
<div class="form-fields">
|
||||
<input type="text" placeholder="0" name="data.constMinWorkforce" value="{{data.constMinWorkforce}}" data-dtype="Number"/>
|
||||
<input type="text" placeholder="0" name="data.buildMinWorkforce" value="{{data.buildMinWorkforce}}" data-dtype="Number"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue