Foundry V10 Support - 0.3.0

-Fixes for Foundry V10
-Adjustable bonus when rolling weapons
This commit is contained in:
Martin Jencka
2022-09-13 09:58:14 -06:00
parent eff344c77e
commit 434c57f990
20 changed files with 419 additions and 398 deletions
+39 -37
View File
@@ -23,24 +23,24 @@ export class MothershipActorSheet extends ActorSheet {
data.dtypes = ["String", "Number", "Boolean"];
const superData = data.data.data;
for (let attr of Object.values(data.data.data.attributes)) {
const superData = data.data.system;
for (let attr of Object.values(data.data.system.attributes)) {
attr.isCheckbox = attr.dtype === "Boolean";
}
// Prepare items.
if (this.actor.data.type == 'character') {
if (this.actor.type == 'character') {
this._prepareCharacterItems(data);
}
if (data.data.data.settings == null) {
data.data.data.settings = {};
if (data.data.system.settings == null) {
data.data.system.settings = {};
}
data.data.data.settings.useCalm = game.settings.get("mosh", "useCalm");
data.data.data.settings.hideWeight = game.settings.get("mosh", "hideWeight");
data.data.data.settings.firstEdition = game.settings.get("mosh", "firstEdition");
data.data.system.settings.useCalm = game.settings.get("mosh", "useCalm");
data.data.system.settings.hideWeight = game.settings.get("mosh", "hideWeight");
data.data.system.settings.firstEdition = game.settings.get("mosh", "firstEdition");
//SKILL XP BUTTONS
@@ -86,6 +86,8 @@ export class MothershipActorSheet extends ActorSheet {
*/
_prepareCharacterItems(sheetData) {
const actorData = sheetData.data;
console.log(sheetData);
console.log("sheetdata Above");
// Initialize containers.
const gear = [];
const skills = [];
@@ -96,8 +98,8 @@ export class MothershipActorSheet extends ActorSheet {
let curWeight = 0;
// Iterate through items, allocating to containers
// let totalWeight = 0;
for (let i of sheetData.data.items) {
let item = i.data;
for (let i of sheetData.items) {
let item = i.system;
i.img = i.img || DEFAULT_TOKEN;
if (i.type === 'item') {
@@ -141,20 +143,20 @@ export class MothershipActorSheet extends ActorSheet {
}
}
if(actorData.data.weight == undefined){
actorData.data.weight = {
if(actorData.system.weight == undefined){
actorData.system.weight = {
"current" : 0,
"capacity" : 0
};
}
if(actorData.data.credits == undefined){
actorData.data.credits = {
if(actorData.system.credits == undefined){
actorData.system.credits = {
"value" : 0,
};
}
actorData.data.weight.capacity = Math.ceil((actorData.data.stats.strength.value/10) + 3);
actorData.data.weight.current = curWeight;
actorData.system.weight.capacity = Math.ceil((actorData.system.stats.strength.value/10) + 3);
actorData.system.weight.current = curWeight;
//console.log("Current Weight: " + curWeight + " Capacity: " + actorData.data.weight.capacity);
// Assign and return
@@ -208,15 +210,15 @@ export class MothershipActorSheet extends ActorSheet {
const li = ev.currentTarget.closest(".item");
const item = duplicate(this.actor.getEmbeddedDocument("Item", li.dataset.itemId))
let amount = item.data.treatment.value;
let amount = item.system.treatment.value;
if (event.button == 0) {
if (amount < 3) {
item.data.treatment.value = Number(amount) + 1;
item.system.treatment.value = Number(amount) + 1;
}
} else if (event.button == 2) {
if (amount > 0) {
item.data.treatment.value = Number(amount) - 1;
item.system.treatment.value = Number(amount) - 1;
}
}
@@ -229,7 +231,7 @@ export class MothershipActorSheet extends ActorSheet {
const li = ev.currentTarget.closest(".item");
const item = duplicate(this.actor.getEmbeddedDocument("Item", li.dataset.itemId))
item.data.equipped = !item.data.equipped;
item.system.equipped = !item.system.equipped;
this.actor.updateEmbeddedDocuments('Item', [item]);
});
@@ -247,12 +249,12 @@ export class MothershipActorSheet extends ActorSheet {
html.on('mousedown', '.item-quantity', ev => {
const li = ev.currentTarget.closest(".item");
const item = duplicate(this.actor.getEmbeddedDocument("Item", li.dataset.itemId))
let amount = item.data.quantity;
let amount = item.system.quantity;
if (event.button == 0) {
item.data.quantity = Number(amount) + 1;
item.system.quantity = Number(amount) + 1;
} else if (event.button == 2) {
item.data.quantity = Number(amount) - 1;
item.system.quantity = Number(amount) - 1;
}
this.actor.updateEmbeddedDocuments('Item', [item]);
@@ -292,7 +294,7 @@ export class MothershipActorSheet extends ActorSheet {
html.find('.stat-roll').click(ev => {
const div = $(ev.currentTarget);
const statName = div.data("key");
const attribute = this.actor.data.data.stats[statName];
const attribute = this.actor.system.stats[statName];
var shifted = false;
if (ev.shiftKey) shifted = true;
this.actor.rollStat(attribute, shifted);
@@ -326,15 +328,15 @@ export class MothershipActorSheet extends ActorSheet {
html.on('mousedown', '.weapon-ammo', ev => {
const li = ev.currentTarget.closest(".item");
const item = duplicate(this.actor.getEmbeddedDocument("Item", li.dataset.itemId))
let amount = item.data.ammo;
let amount = item.system.ammo;
if (event.button == 0) {
if (amount >= 0) {
item.data.ammo = Number(amount) + 1;
item.system.ammo = Number(amount) + 1;
}
} else if (event.button == 2) {
if (amount > 0) {
item.data.ammo = Number(amount) - 1;
item.system.ammo = Number(amount) - 1;
}
}
@@ -346,14 +348,14 @@ export class MothershipActorSheet extends ActorSheet {
const li = ev.currentTarget.closest(".item");
const item = duplicate(this.actor.getEmbeddedDocument("Item", li.dataset.itemId))
if (!item.data.useAmmo) {
item.data.curShots = item.data.shots;
if (!item.system.useAmmo) {
item.system.curShots = item.system.shots;
} else {
item.data.ammo += item.data.curShots;
let reloadAmount = Math.min(item.data.ammo, item.data.shots);
item.data.curShots = reloadAmount;
item.system.ammo += item.system.curShots;
let reloadAmount = Math.min(item.system.ammo, item.system.shots);
item.system.curShots = reloadAmount;
item.data.ammo -= reloadAmount;
item.system.ammo -= reloadAmount;
}
this.actor.updateEmbeddedDocuments('Item', [item]);
@@ -370,13 +372,13 @@ export class MothershipActorSheet extends ActorSheet {
// Rollable Item/Anything with a description that we want to click on.
html.find('.calm-roll').click(ev => {
const attribute = this.actor.data.data.other.stress;
const attribute = this.actor.system.other.stress;
attribute.label = "Calm";
this.actor.rollStress(attribute);
});
// Rollable Item/Anything with a description that we want to click on.
html.find('.stress-roll').click(ev => {
const attribute = this.actor.data.data.other.stress;
const attribute = this.actor.system.other.stress;
attribute.label = "Stress";
this.actor.rollStress(attribute);
});
@@ -502,7 +504,7 @@ export class MothershipActorSheet extends ActorSheet {
const dataset = element.dataset;
if (dataset.roll) {
let roll = new Roll(dataset.roll, this.actor.data.data);
let roll = new Roll(dataset.roll, this.actor.system);
let label = dataset.label ? `Rolling ${dataset.label} to score under ${dataset.target}` : '';
roll.roll().toMessage({
speaker: ChatMessage.getSpeaker({ actor: this.actor }),
+38 -35
View File
@@ -10,8 +10,8 @@ export class MothershipActor extends Actor {
prepareData() {
super.prepareData();
const actorData = this.data;
const data = actorData.data;
const actorData = this;
const data = actorData.system;
const flags = actorData.flags;
// Make separate methods for each Actor type (character, npc, etc.) to keep
@@ -25,14 +25,14 @@ export class MothershipActor extends Actor {
* Prepare Character type specific data
*/
_prepareCharacterData(actorData) {
const data = actorData.data;
const data = actorData.system;
let armorBonus = 0;
const armors = this.getEmbeddedCollection("Item").filter(e => "armor" === e.type);
for (let armor of armors) {
if (armor.data.data.equipped) {
armorBonus += armor.data.data.bonus;
if (armor.system.equipped) {
armorBonus += armor.system.bonus;
}
}
data.stats.armor.mod = armorBonus;
@@ -44,11 +44,11 @@ export class MothershipActor extends Actor {
* Prepare Character type specific data
*/
_prepareCreatureData(actorData) {
const data = actorData.data;
const data = actorData;
}
_prepareShipData(actorData) {
const data = actorData.data;
const data = actorData;
}
rollStatSelect(statList) {
@@ -67,7 +67,7 @@ export class MothershipActor extends Actor {
roll: {
icon: '<i class="fas fa-check"></i>',
label: "Roll",
callback: (html) => this.rollStat(this.data.data.stats[html.find('[id=\"stat\"]')[0].value])
callback: (html) => this.rollStat(this.system.stats[html.find('[id=\"stat\"]')[0].value])
},
cancel: {
icon: '<i class="fas fa-times"></i>',
@@ -152,10 +152,10 @@ export class MothershipActor extends Actor {
console.log(item);
if (item.data.useAmmo == true || item.data.shots > 0) {
if (item.data.shots == 0) {
if (item.data.ammo > 0) {
item.data.ammo -= 1;
if (item.system.useAmmo == true || item.system.shots > 0) {
if (item.system.shots == 0) {
if (item.system.ammo > 0) {
item.system.ammo -= 1;
this.updateEmbeddedDocuments('Item', [item]);
} else {
@@ -177,14 +177,14 @@ export class MothershipActor extends Actor {
return;
}
} else {
if (item.data.curShots > 0) {
let subAmount = Math.max(item.data.shotsPerFire, 1);
item.data.curShots = Math.max(item.data.curShots - subAmount, 0);
if (item.system.curShots > 0) {
let subAmount = Math.max(item.system.shotsPerFire, 1);
item.system.curShots = Math.max(item.system.curShots - subAmount, 0);
console.log("Unloading Shots");
this.updateEmbeddedDocuments('Item', [item]);
}
else {
if (item.data.ammo > 0 || !item.data.useAmmo) {
if (item.system.ammo > 0 || !item.system.useAmmo) {
//Select the stat of the roll.
let t = new Dialog({
title: "Reload",
@@ -227,7 +227,7 @@ export class MothershipActor extends Actor {
// let speaker = ChatMessage.getSpeaker({ actor });
// ChatMessage.create({
// speaker,
// content: item.data.ammo > 0 ? `I need to reload my ` + item.name + "!" : "I'm out of ammo!",
// content: item.system.ammo > 0 ? `I need to reload my ` + item.name + "!" : "I'm out of ammo!",
// type: CHAT_MESSAGE_TYPES.EMOTE
// },
// { chatBubble: true });
@@ -242,12 +242,14 @@ export class MothershipActor extends Actor {
content: "<h2> Advantage/Disadvantage </h2> <select style='margin-bottom:10px;'name='advantage' id='advantage'>\
<option value='none'>None</option>\
<option value='advantage'>Advantage/Disadvantage</option>\
</select> <br/>",
</select> <br/>\
\
<h2> Skill Bonus </h2> <input style='margin-bottom:10px;' name='bonus' id='bonus' value='"+item.system.bonus+"'></input><br/>",
buttons: {
roll: {
icon: '<i class="fas fa-check"></i>',
label: "Roll",
callback: (html) => this.rollAttribute(this.data.data.stats["combat"], html.find('[id=\"advantage\"]')[0].value, item)
callback: (html) => this.rollAttribute(this.system.stats["combat"], html.find('[id=\"advantage\"]')[0].value, item, false, html.find('[id=\"bonus\"]')[0].value)
},
cancel: {
icon: '<i class="fas fa-times"></i>',
@@ -265,14 +267,14 @@ export class MothershipActor extends Actor {
let item = duplicate(this.getEmbeddedDocument("Item",itemId));
if (event.button == 0) {
if (!item.data.useAmmo) {
item.data.curShots = item.data.shots;
if (!item.system.useAmmo) {
item.system.curShots = item.system.shots;
} else {
item.data.ammo += item.data.curShots;
let reloadAmount = Math.min(item.data.ammo, item.data.shots);
item.data.curShots = reloadAmount;
item.system.ammo += item.system.curShots;
let reloadAmount = Math.min(item.system.ammo, item.system.shots);
item.system.curShots = reloadAmount;
item.data.ammo -= reloadAmount;
item.system.ammo -= reloadAmount;
}
}
@@ -311,7 +313,7 @@ export class MothershipActor extends Actor {
roll: {
icon: '<i class="fas fa-check"></i>',
label: "Roll",
callback: (html) => this.rollAttribute(this.data.data.stats[html.find('[id=\"stat\"]')[0].value], html.find('[id=\"advantage\"]')[0].value, item)
callback: (html) => this.rollAttribute(this.system.stats[html.find('[id=\"stat\"]')[0].value], html.find('[id=\"advantage\"]')[0].value, item)
},
cancel: {
icon: '<i class="fas fa-times"></i>',
@@ -325,7 +327,7 @@ export class MothershipActor extends Actor {
t.render(true);
}
async rollAttribute(attribute, advantage, item = "", rollOver = false) {
async rollAttribute(attribute, advantage, item = "", rollOver = false, bonus = 0) {
let attributeName = attribute.label?.charAt(0).toUpperCase() + attribute.label?.toLowerCase().slice(1);
if (!attribute.label && isNaN(attributeName))
attributeName = attribute.charAt(0)?.toUpperCase() + attribute.toLowerCase().slice(1);
@@ -361,7 +363,7 @@ export class MothershipActor extends Actor {
let damageRoll = 0;
if (item.type == "weapon") {
damageRoll = new Roll(item.data.damage);
damageRoll = new Roll(item.system.damage);
damageRoll.evaluate({async: false});
console.log(damageRoll);
}
@@ -370,9 +372,9 @@ export class MothershipActor extends Actor {
const diceData = this.formatDice(r);
let mod = 0;
if (attribute.mod > 0) mod = attribute.mod;
let targetValue = attribute.value + mod + (item == "" ? 0 : item.data.bonus);
if (attribute.mod > 0) mod += attribute.mod;
console.log("Bonus: " + mod);
let targetValue = attribute.value + mod + (item == "" ? 0 : parseInt(bonus));
let critical = false;
@@ -428,7 +430,7 @@ export class MothershipActor extends Actor {
value: resultText
},
isCreature: {
value: this.data.type == "creature" ? true : false
value: this.type == "creature" ? true : false
},
panic: panic,
panicText : panicText
@@ -441,6 +443,7 @@ export class MothershipActor extends Actor {
isWeapon: item.type == "weapon" ? true : false,
critical: critical,
advantage: advantage == "advantage" ? true : false,
bonus: bonus,
diceData
};
@@ -553,12 +556,12 @@ export class MothershipActor extends Actor {
var rollInsert = '';
if(item.data.roll){
let r = new Roll(item.data.roll, {});
if(item.system.roll){
let r = new Roll(item.system.roll, {});
r.evaluate({async: false});
rollInsert = '\
<div class="rollh2" style="text-transform: lowercase;">'+item.data.roll+'</div>\
<div class="rollh2" style="text-transform: lowercase;">'+item.system.roll+'</div>\
<div class="roll-grid">\
<div class="roll-result">'+r._total+'</div>\
</div>';
+15 -15
View File
@@ -66,7 +66,7 @@ export class MothershipCreatureSheet extends ActorSheet {
// }
// Prepare items.
if (this.actor.data.type == 'creature') {
if (this.actor.type == 'creature') {
this._prepareCreatureItems(data);
}
@@ -82,15 +82,15 @@ export class MothershipCreatureSheet extends ActorSheet {
*/
_prepareCreatureItems(sheetData) {
const actorData = sheetData.data;
// Initialize containers.
const abilities = [];
const weapons = [];
// Iterate through items, allocating to containers
// let totalWeight = 0;
for (let i of sheetData.data.items) {
let item = i.data;
for (let i of sheetData.items) {
let item = i.system;
i.img = i.img || DEFAULT_TOKEN;
if (i.type === 'ability') {
@@ -136,7 +136,7 @@ export class MothershipCreatureSheet extends ActorSheet {
html.find('.stat-roll').click(ev => {
const div = $(ev.currentTarget);
const statName = div.data("key");
const attribute = this.actor.data.data.stats[statName];
const attribute = this.actor.system.stats[statName];
var shifted = false;
if (ev.shiftKey) shifted = true;
@@ -169,15 +169,15 @@ export class MothershipCreatureSheet extends ActorSheet {
html.on('mousedown', '.weapon-ammo', ev => {
const li = ev.currentTarget.closest(".item");
const item = duplicate(this.actor.getEmbeddedDocument("Item", li.dataset.itemId))
let amount = item.data.ammo;
let amount = item.system.ammo;
if (event.button == 0) {
if (amount >= 0) {
item.data.ammo = Number(amount) + 1;
item.system.ammo = Number(amount) + 1;
}
} else if (event.button == 2) {
if (amount > 0) {
item.data.ammo = Number(amount) - 1;
item.system.ammo = Number(amount) - 1;
}
}
@@ -190,14 +190,14 @@ export class MothershipCreatureSheet extends ActorSheet {
const item = duplicate(this.actor.getEmbeddedDocument("Item", li.dataset.itemId))
if (event.button == 0) {
if (!item.data.useAmmo) {
item.data.curShots = item.data.shots;
if (!item.system.useAmmo) {
item.system.curShots = item.system.shots;
} else {
item.data.ammo += item.data.curShots;
let reloadAmount = Math.min(item.data.ammo, item.data.shots);
item.data.curShots = reloadAmount;
item.system.ammo += item.system.curShots;
let reloadAmount = Math.min(item.system.ammo, item.system.shots);
item.system.curShots = reloadAmount;
item.data.ammo -= reloadAmount;
item.system.ammo -= reloadAmount;
}
}
@@ -276,7 +276,7 @@ export class MothershipCreatureSheet extends ActorSheet {
console.log(super.getData());
if (dataset.roll) {
let roll = new Roll(dataset.roll, this.actor.data.data);
let roll = new Roll(dataset.roll, this.actor.system);
let label = dataset.label ? `Rolling ${dataset.label} to score under ${dataset.target}` : '';
roll.roll().toMessage({
speaker: ChatMessage.getSpeaker({ actor: this.actor }),
+33 -28
View File
@@ -20,26 +20,31 @@ export class MothershipShipSheet extends ActorSheet {
/** @override */
getData() {
const data = super.getData();
data.dtypes = ["String", "Number", "Boolean"];
// for (let attr of Object.values(data.data.attributes)) {
// for (let attr of Object.values(data.data.system.attributes)) {
// attr.isCheckbox = attr.dtype === "Boolean";
// }
console.log(data);
// }
const superData = data.data.system;
// Prepare items.
if (this.actor.data.type == 'ship') {
if (this.actor.type == 'ship') {
this._prepareShipItems(data);
}
if (data.data.settings == null) {
data.data.settings = {};
if (superData.settings == null) {
superData.settings = {};
}
data.data.settings.useCalm = game.settings.get("mosh", "useCalm");
data.data.settings.hideWeight = game.settings.get("mosh", "hideWeight");
superData.settings.useCalm = game.settings.get("mosh", "useCalm");
superData.settings.hideWeight = game.settings.get("mosh", "hideWeight");
superData.settings.firstEdition = game.settings.get("mosh", "firstEdition");
let maxHull = data.data.data.supplies.hull.max;
let maxHull = superData.supplies.hull.max;
data.data.data.supplies.hull.percentage = " [ "+Math.round(maxHull * 0.25)+" | "+Math.round(maxHull * 0.5)+" | "+Math.round(maxHull * 0.75)+" ]";
superData.supplies.hull.percentage = " [ "+Math.round(maxHull * 0.25)+" | "+Math.round(maxHull * 0.5)+" | "+Math.round(maxHull * 0.75)+" ]";
return data.data;
}
@@ -62,8 +67,8 @@ export class MothershipShipSheet extends ActorSheet {
// Iterate through items, allocating to containers
// let totalWeight = 0;
for (let i of sheetData.data.items) {
let item = i.data;
for (let i of sheetData.items) {
let item = i.system;
i.img = i.img || DEFAULT_TOKEN;
if (i.type === 'ability') {
@@ -107,10 +112,10 @@ export class MothershipShipSheet extends ActorSheet {
const item = this.actor.getEmbeddedDocument("Item", li.data("itemId"));
item.sheet.render(true);
let amount = item.data.quantity;
let amount = item.system.quantity;
if (item.type == "module") {
item.data.totalHull = amount * item.data.hull;
item.system.totalHull = amount * item.system.hull;
}
});
@@ -118,16 +123,16 @@ export class MothershipShipSheet extends ActorSheet {
html.on('mousedown', '.item-quantity', ev => {
const li = ev.currentTarget.closest(".item");
const item = duplicate(this.actor.getEmbeddedDocument("Item", li.dataset.itemId))
let amount = item.data.quantity;
let amount = item.system.quantity;
if (event.button == 0) {
item.data.quantity = Number(amount) + 1;
item.system.quantity = Number(amount) + 1;
} else if (event.button == 2) {
item.data.quantity = Number(amount) - 1;
item.system.quantity = Number(amount) - 1;
}
if (item.type == "module") {
item.data.totalHull = item.data.quantity * item.data.hull;
item.system.totalHull = item.system.quantity * item.system.hull;
}
this.actor.updateEmbeddedDocuments('Item', [item]);
@@ -137,7 +142,7 @@ export class MothershipShipSheet extends ActorSheet {
html.find('.stat-roll').click(ev => {
const div = $(ev.currentTarget);
const statName = div.data("key");
const attribute = this.actor.data.data.stats[statName];
const attribute = this.actor.system.stats[statName];
this.actor.rollStat(attribute);
});
@@ -161,15 +166,15 @@ export class MothershipShipSheet extends ActorSheet {
html.on('mousedown', '.weapon-ammo', ev => {
const li = ev.currentTarget.closest(".item");
const item = duplicate(this.actor.getEmbeddedDocument("Item", li.dataset.itemId))
let amount = item.data.ammo;
let amount = item.system.ammo;
if (event.button == 0) {
if (amount >= 0) {
item.data.ammo = Number(amount) + 1;
item.system.ammo = Number(amount) + 1;
}
} else if (event.button == 2) {
if (amount > 0) {
item.data.ammo = Number(amount) - 1;
item.system.ammo = Number(amount) - 1;
}
}
@@ -182,14 +187,14 @@ export class MothershipShipSheet extends ActorSheet {
const item = duplicate(this.actor.getEmbeddedDocument("Item", li.dataset.itemId))
if (event.button == 0) {
if (!item.data.useAmmo) {
item.data.curShots = item.data.shots;
if (!item.system.useAmmo) {
item.system.curShots = item.system.shots;
} else {
item.data.ammo += item.data.curShots;
let reloadAmount = Math.min(item.data.ammo, item.data.shots);
item.data.curShots = reloadAmount;
item.system.ammo += item.system.curShots;
let reloadAmount = Math.min(item.system.ammo, item.system.shots);
item.system.curShots = reloadAmount;
item.data.ammo -= reloadAmount;
item.system.ammo -= reloadAmount;
}
}
+4 -4
View File
@@ -18,11 +18,11 @@ export class MothershipItemSheet extends ItemSheet {
get template() {
const path = "systems/mosh/templates/item";
// Return a single sheet for all item types.
return `${path}/item-${this.item.data.type}-sheet.html`;
return `${path}/item-${this.item.type}-sheet.html`;
// Alternatively, you could use the following return statement to do a
// unique item sheet by type, like `weapon-sheet.html`.
// return `${path}/${this.item.data.type}-sheet.html`;
// return `${path}/${this.item.system.type}-sheet.html`;
}
/* -------------------------------------------- */
@@ -30,9 +30,9 @@ export class MothershipItemSheet extends ItemSheet {
/** @override */
getData() {
const data = super.getData();
const superData = data.data.data;
const superData = data.system;
if(data.data.type == "weapon"){
if(data.type == "weapon"){
if(superData.ranges.value == "" && superData.ranges.medium > 0){
superData.ranges.value = superData.ranges.short + "/" + superData.ranges.medium + "/" + superData.ranges.long;
superData.ranges.medium = 0;
+3 -3
View File
@@ -10,9 +10,9 @@ export class MothershipItem extends Item {
super.prepareData();
// Get the Item's data
const itemData = this.data;
const actorData = this.actor ? this.actor.data : {};
const data = itemData.data;
const itemData = this;
const actorData = this.actor ? this.actor.system : {};
const data = itemData.system;
}
static chatListeners(html) {
+1 -1
View File
@@ -188,7 +188,7 @@ function rollStatMacro() {
let actor;
if (speaker.token) actor = game.actors.tokens[speaker.token];
if (!actor) actor = game.actors.get(speaker.actor);
const stat = actor ? Object.entries(actor.data.data.stats) : null;
const stat = actor ? Object.entries(actor.system.stats) : null;
// if (stat == null) {
+25 -13
View File
@@ -1,29 +1,30 @@
{
"name": "mosh",
"title": "MoSh - Unofficial Mothership",
"description": "The unofficial Mothership system for FoundryVTT.",
"version": "0.2.3",
"minimumCoreVersion": "0.8.6",
"compatibleCoreVersion": "V9",
"templateVersion": 2,
"author": "Futilrevenge",
"esmodules": ["module/mosh.js"],
"styles": ["css/mosh.css"],
"scripts": [],
"version": "0.3.0",
"esmodules": [
"module/mosh.js"
],
"styles": [
"css/mosh.css"
],
"packs": [
{
"name": "tables",
"label": "Tables",
"system": "mosh",
"path": "packs/tables.db",
"entity": "RollTable"
"type": "RollTable",
"private": false,
"flags": {}
}
],
"languages": [
{
"lang": "en",
"name": "English",
"path": "lang/en.json"
"path": "lang/en.json",
"flags": {}
}
],
"gridDistance": 1,
@@ -33,5 +34,16 @@
"url": "https://github.com/Futil/foundry-mothership",
"manifest": "https://raw.githubusercontent.com/Futil/foundry-mothership/master/system.json",
"download": "https://github.com/Futil/foundry-mothership/archive/master.zip",
"license": "LICENSE.txt"
}
"license": "LICENSE.txt",
"id": "mosh",
"authors": [
{
"name": "Futilrevenge",
"flags": {}
}
],
"compatibility": {
"minimum": "V10",
"verified": "V10"
}
}
+108 -108
View File
@@ -26,45 +26,45 @@
</div>
<div class="">
<div class="headerinputtext">Credits</div>
<div class="headerinputfield charname"><input name="data.credits.value" class="noborder" type="text"
value="{{data.credits.value}}" placeholder="" /></div>
<div class="headerinputfield charname"><input name="system.credits.value" class="noborder" type="text"
value="{{system.credits.value}}" placeholder="" /></div>
</div>
<!-- CLASS -->
<div class="">
<div class="headerinputtext">CLASS</div>
<div class="headerinputfield charname"><input name="data.class.value" class="noborder" type="text"
value="{{data.class.value}}" placeholder="" /></div>
<div class="headerinputfield charname"><input name="system.class.value" class="noborder" type="text"
value="{{system.class.value}}" placeholder="" /></div>
</div>
<!-- RANK -->
<div class="">
<div class="headerinputtext">RANK</div>
<div class="headerinputfield charname"><input name="data.rank.value" class="noborder" type="text"
value="{{data.rank.value}}" placeholder="" /></div>
<div class="headerinputfield charname"><input name="system.rank.value" class="noborder" type="text"
value="{{system.rank.value}}" placeholder="" /></div>
</div>
{{#if data.settings.firstEdition}}
{{#if system.settings.firstEdition}}
<!-- Pronouns -->
<div class="">
<div class="headerinputtext">Pronouns</div>
<div class="headerinputfield charname"><input name="data.pronouns.value" class="noborder" type="text"
value="{{data.pronouns.value}}" placeholder="" /></div>
<div class="headerinputfield charname"><input name="system.pronouns.value" class="noborder" type="text"
value="{{system.pronouns.value}}" placeholder="" /></div>
</div>
{{else}}
<!-- XP -->
<div class="">
<div class="headerinputtext">XP</div>
<div class="headerinputfield charname"><input name="data.xp.value" class="noborder" type="text"
value="{{data.xp.value}}" placeholder="" /></div>
<div class="headerinputfield charname"><input name="system.xp.value" class="noborder" type="text"
value="{{system.xp.value}}" placeholder="" /></div>
</div>
{{/if}}
<!-- LEVEL -->
<div class="">
<div class="headerinputtext">{{#if data.settings.firstEdition}}High Score{{else}}LEVEL{{/if}}</div>
<div class="headerinputfield charname"><input name="data.attributes.level.value" class="noborder"
type="text" value="{{data.attributes.level.value}}" placeholder="" /></div>
<div class="headerinputtext">{{#if system.settings.firstEdition}}High Score{{else}}LEVEL{{/if}}</div>
<div class="headerinputfield charname"><input name="system.attributes.level.value" class="noborder"
type="text" value="{{system.attributes.level.value}}" placeholder="" /></div>
</div>
</div>
@@ -73,14 +73,14 @@
<div class="health grid grid-2col" style="margin-top: 0; grid-template-rows: 76px 77px 72px;">
<!-- Health -->
<div class="resource healthspread minmaxtopstat">
<label for="data.health.value" class="resource-label minmaxtext">Health</label>
<label for="system.health.value" class="resource-label minmaxtext">Health</label>
<div class="minmaxwrapper">
<input class="maxhealth-input darkGreyText" type="text" name="data.health.value" value="{{data.health.value}}"
<input class="maxhealth-input darkGreyText" type="text" name="system.health.value" value="{{system.health.value}}"
data-dtype="Number" />
<div class="slant"></div>
<input class="maxhealth-input darkGreyText" type="text" name="data.health.max"
value="{{data.health.max}}" data-dtype="Number" />
<input class="maxhealth-input darkGreyText" type="text" name="system.health.max"
value="{{system.health.max}}" data-dtype="Number" />
</div>
<div class="healthmaxtext">Current</div>
@@ -89,8 +89,8 @@
<!-- Hits -->
<div class="resource healthspread minmaxtopstat">
<label for="data.hits.value" class="resource-label minmaxtext">
{{#if data.settings.firstEdition}}
<label for="system.hits.value" class="resource-label minmaxtext">
{{#if system.settings.firstEdition}}
Wounds
{{else}}
Hits
@@ -98,28 +98,28 @@
</label>
<div class="minmaxwrapper">
<input class="maxhealth-input darkGreyText" type="text" name="data.hits.value" value="{{data.hits.value}}"
<input class="maxhealth-input darkGreyText" type="text" name="system.hits.value" value="{{system.hits.value}}"
data-dtype="Number" />
<div class="slant"></div>
<input class="maxhealth-input darkGreyText" type="text" name="data.hits.max"
value="{{data.hits.max}}" data-dtype="Number" />
<input class="maxhealth-input darkGreyText" type="text" name="system.hits.max"
value="{{system.hits.max}}" data-dtype="Number" />
</div>
<div class="healthmaxtext">Current</div>
<div class="healthmaxtext">Maximum</div>
</div>
{{#if data.settings.useCalm}}
{{#if system.settings.useCalm}}
<!-- Calm -->
<div class="resource healthspread minmaxtopstat">
<label for="data.other.stress.value" class="resource-label minmaxtext rollable calm-roll">Calm</label>
<label for="system.other.stress.value" class="resource-label minmaxtext rollable calm-roll">Calm</label>
<div class="minmaxwrapper">
<input class="maxhealth-input darkGreyText" type="text" name="data.other.stress.value" value="{{data.other.stress.value}}"
<input class="maxhealth-input darkGreyText" type="text" name="system.other.stress.value" value="{{system.other.stress.value}}"
data-dtype="Number" />
<div class="slant" style="transform: skewX(0deg);"></div>
<input class="maxhealth-input darkGreyText" type="text" name="data.other.stress.min"
value="{{data.other.stress.min}}" data-dtype="Number" />
<input class="maxhealth-input darkGreyText" type="text" name="system.other.stress.min"
value="{{system.other.stress.min}}" data-dtype="Number" />
</div>
<div class="healthmaxtext">Current</div>
@@ -128,14 +128,14 @@
{{else}}
<!-- Stress -->
<div class="resource healthspread minmaxtopstat">
<label for="data.other.stress.value" class="resource-label minmaxtext rollable stress-roll">Stress</label>
<label for="system.other.stress.value" class="resource-label minmaxtext rollable stress-roll">Stress</label>
<div class="minmaxwrapper">
<input class="maxhealth-input darkGreyText" type="text" name="data.other.stress.value" value="{{data.other.stress.value}}"
<input class="maxhealth-input darkGreyText" type="text" name="system.other.stress.value" value="{{system.other.stress.value}}"
data-dtype="Number" />
<div class="slant" style="transform: skewX(0deg);"></div>
<input class="maxhealth-input darkGreyText" type="text" name="data.other.stress.min"
value="{{data.other.stress.min}}" data-dtype="Number" />
<input class="maxhealth-input darkGreyText" type="text" name="system.other.stress.min"
value="{{system.other.stress.min}}" data-dtype="Number" />
</div>
<div class="healthmaxtext">Current</div>
@@ -143,50 +143,50 @@
</div>
{{/if}}
{{#if data.settings.firstEdition}}
{{#if system.settings.firstEdition}}
{{else}}
<!-- Resolve -->
<div class="resource healthspread minmaxtopstat">
<label for="data.other.stress.value" class="resource-label minmaxtext">Resolve</label>
<label for="system.other.stress.value" class="resource-label minmaxtext">Resolve</label>
<div class="valuewrapper">
<input class="maxhealth-input darkGreyText" type="text" name="data.other.resolve.value" value="{{data.other.resolve.value}}"
<input class="maxhealth-input darkGreyText" type="text" name="system.other.resolve.value" value="{{system.other.resolve.value}}"
data-dtype="Number" />
</div>
</div>
{{/if}}
{{#if data.settings.firstEdition}}
{{#if system.settings.firstEdition}}
<!-- Armor -->
<div class="resource healthspread minmaxtopstat" style="grid-column-start: 2; grid-column-end: 3;">
<label for="data.stats.armor.value" class="resource-label minmaxtext">Armor Points</label>
<label for="system.stats.armor.value" class="resource-label minmaxtext">Armor Points</label>
<div class="armorWrapper" style=" width: 100%;">
<div class="maxhealth-input whiteText" type="text"
data-dtype="Number" >{{data.stats.armor.mod}}</div>
data-dtype="Number" >{{system.stats.armor.mod}}</div>
</div>
</div>
{{/if}}
<!-- CLASS -->
<div class="" style="margin-left: 6px; margin-right: 0px; flex: 0; grid-column-start: 1; grid-column-end: 3;">
{{#if data.settings.firstEdition}}
{{#if system.settings.firstEdition}}
<div class="resource-label">TRAUMA RESPONSE</div>
{{else}}
<div class="resource-label">STRESS RESPONSE</div>
{{/if}}
{{#if data.settings.firstEdition}}
<textarea name="data.stressdesc.value" rows="2" class="textarea-input" type="text"
data-target="data.stressdesc.value" placeholder="" style="height: 50px;">{{data.stressdesc.value}}</textarea>
{{#if system.settings.firstEdition}}
<textarea name="system.stressdesc.value" rows="2" class="textarea-input" type="text"
data-target="system.stressdesc.value" placeholder="" style="height: 50px;">{{system.stressdesc.value}}</textarea>
{{else}}
<textarea name="data.stressdesc.value" rows="2" class="textarea-input" type="text"
data-target="data.stressdesc.value" placeholder="" style="height: 90px;">{{data.stressdesc.value}}</textarea>
<textarea name="system.stressdesc.value" rows="2" class="textarea-input" type="text"
data-target="system.stressdesc.value" placeholder="" style="height: 90px;">{{system.stressdesc.value}}</textarea>
{{/if}}
</div>
<!-- XP -->
<!-- <div class="char-pip-button list-roll flex" data-key="xp" data-label="XP" data-max="8" data-min="0">
{{{data.xp.html}}}
{{{system.xp.html}}}
</div> -->
</div>
@@ -198,8 +198,8 @@
<div class="stresslabel">
<div class="ability-mod stresstext">STRESS</div>
</div>
<input class="smallcircle-input" type="text" name="data.other.stress.value"
value="{{data.other.stress.value}}" data-dtype="Number" />
<input class="smallcircle-input" type="text" name="system.other.stress.value"
value="{{system.other.stress.value}}" data-dtype="Number" />
</div> -->
<!-- RESOLVE -->
@@ -207,12 +207,12 @@
<div class="stresslabel">
<div class="ability-mod stresstext">RESOLVE</div>
</div>
<input class="smallcircle-input" type="text" name="data.other.resolve.value"
value="{{data.other.resolve.value}}" data-dtype="Number" />
<input class="smallcircle-input" type="text" name="system.other.resolve.value"
value="{{system.other.resolve.value}}" data-dtype="Number" />
</div> -->
<!-- </div> -->
{{#if data.settings.firstEdition}}
{{#if system.settings.firstEdition}}
<div class="grid grid-1col widegap">
{{else}}
<div class="grid grid-1col widegap" style="gap: 24px">
@@ -225,11 +225,11 @@
<span class="ability-mod stat-roll rollable mainstattext" data-key="strength"
data-label="Strength">STRENGTH</span>
</div>
<input class="circle-input" type="text" name="data.stats.strength.value"
value="{{data.stats.strength.value}}" data-dtype="Number" />
<input class="circle-input" type="text" name="system.stats.strength.value"
value="{{system.stats.strength.value}}" data-dtype="Number" />
</div>
<input class="mainstatmod-input" type="text" name="data.stats.strength.mod"
value="{{data.stats.strength.mod}}" data-dtype="Number" />
<input class="mainstatmod-input" type="text" name="system.stats.strength.mod"
value="{{system.stats.strength.mod}}" data-dtype="Number" />
<div class="mainstatmod-title">+</div>
</div>
@@ -240,10 +240,10 @@
<span class="ability-mod stat-roll rollable mainstattext" data-key="speed" data-roll="d100"
data-label="Speed">SPEED</span>
</div>
<input class="circle-input" type="text" name="data.stats.speed.value" value="{{data.stats.speed.value}}"
<input class="circle-input" type="text" name="system.stats.speed.value" value="{{system.stats.speed.value}}"
data-dtype="Number" />
</div>
<input class="mainstatmod-input" type="text" name="data.stats.speed.mod" value="{{data.stats.speed.mod}}"
<input class="mainstatmod-input" type="text" name="system.stats.speed.mod" value="{{system.stats.speed.mod}}"
data-dtype="Number" />
<div class="mainstatmod-title">+</div>
</div>
@@ -255,11 +255,11 @@
<span class="ability-mod stat-roll rollable mainstattext" data-key="intellect" data-roll="d100"
data-label="Intellect">INTELLECT</span>
</div>
<input class="circle-input" type="text" name="data.stats.intellect.value"
value="{{data.stats.intellect.value}}" data-dtype="Number" />
<input class="circle-input" type="text" name="system.stats.intellect.value"
value="{{system.stats.intellect.value}}" data-dtype="Number" />
</div>
<input class="mainstatmod-input" type="text" name="data.stats.intellect.mod"
value="{{data.stats.intellect.mod}}" data-dtype="Number" />
<input class="mainstatmod-input" type="text" name="system.stats.intellect.mod"
value="{{system.stats.intellect.mod}}" data-dtype="Number" />
<div class="mainstatmod-title">+</div>
</div>
@@ -270,17 +270,17 @@
<span class="ability-mod stat-roll rollable mainstattext" data-key="combat" data-roll="d100"
data-label="Combat">COMBAT</span>
</div>
<input class="circle-input" type="text" name="data.stats.combat.value" value="{{data.stats.combat.value}}"
<input class="circle-input" type="text" name="system.stats.combat.value" value="{{system.stats.combat.value}}"
data-dtype="Number" />
</div>
<input class="mainstatmod-input" type="text" name="data.stats.combat.mod" value="{{data.stats.combat.mod}}"
<input class="mainstatmod-input" type="text" name="system.stats.combat.mod" value="{{system.stats.combat.mod}}"
data-dtype="Number" />
<div class="mainstatmod-title">+</div>
</div>
</div>
</div>
<!-- SAVES -->
{{#if data.settings.firstEdition}}
{{#if system.settings.firstEdition}}
<div class="saves grid grid-1col savebackground">
{{else}}
<div class="saves grid grid-1col savebackground" style = "height: 264px;">
@@ -288,34 +288,34 @@
<!-- Sanity -->
<div class="resource flex-group-center">
<span class="ability-mod stat-roll rollable savetext" data-roll="d100" data-label="Sanity" data-key="sanity"
data-target="{{data.stats.sanity.value}}">SANITY</span>
<input class="square-input" type="text" name="data.stats.sanity.value" value="{{data.stats.sanity.value}}"
data-target="{{system.stats.sanity.value}}">SANITY</span>
<input class="square-input" type="text" name="system.stats.sanity.value" value="{{system.stats.sanity.value}}"
data-dtype="Number" />
</div>
<!-- Fear -->
<div class="resource flex-group-center">
<span class="ability-mod stat-roll rollable savetext" data-roll="d100" data-key="fear"
data-target="{{data.stats.fear.value}}" data-label="Fear">FEAR</span>
<input class="square-input" type="text" name="data.stats.fear.value" value="{{data.stats.fear.value}}"
data-target="{{system.stats.fear.value}}" data-label="Fear">FEAR</span>
<input class="square-input" type="text" name="system.stats.fear.value" value="{{system.stats.fear.value}}"
data-dtype="Number" />
</div>
<!-- Body -->
<div class="resource flex-group-center">
<span class="ability-mod stat-roll rollable savetext" data-roll="d100" data-key="body"
data-target="{{data.stats.body.value}}" data-label="Body">BODY</span>
<input class="square-input" type="text" name="data.stats.body.value" value="{{data.stats.body.value}}"
data-target="{{system.stats.body.value}}" data-label="Body">BODY</span>
<input class="square-input" type="text" name="system.stats.body.value" value="{{system.stats.body.value}}"
data-dtype="Number" />
</div>
{{#unless data.settings.firstEdition}}
{{#unless system.settings.firstEdition}}
<!-- Armor -->
<div class="resource flex-group-center">
<span class="ability-mod stat-roll rollable savetext" data-roll="d100" data-key="armor"
data-target="{{data.stats.armor.value}}" data-label="Armor">ARMOR</span>
<input class="square-input" type="text" name="data.stats.armor.value" value="{{data.stats.armor.value}}"
data-target="{{system.stats.armor.value}}" data-label="Armor">ARMOR</span>
<input class="square-input" type="text" name="system.stats.armor.value" value="{{system.stats.armor.value}}"
data-dtype="Number" />
<div class="armor-mod" type="text" name="data.stats.armor.total" value=""
data-dtype="Number" >{{data.stats.armor.total}}</div>
<div class="armor-mod" type="text" name="system.stats.armor.total" value=""
data-dtype="Number" >{{system.stats.armor.total}}</div>
</div>
{{/unless}}
@@ -342,11 +342,11 @@
{{!-- Biography Tab --}}
<div class="tab biography" data-group="primary" data-tab="description">
{{editor content=data.biography target="data.biography" button=true owner=owner editable=true}}
{{editor target="system.biography" button=true owner=owner editable=true}}
</div>
{{!-- Notes Tab --}}
<div class="tab biography" data-group="primary" data-tab="notes">
{{editor content=data.notes target="data.notes" button=true owner=owner editable=true}}
{{editor target="system.notes" button=true owner=owner editable=true}}
</div>
{{!-- Owned Items Tab --}}
<div class="tab items" data-group="primary" data-tab="items">
@@ -355,7 +355,7 @@
<li class="item flexrow item-header">
<div class="item-image"></div>
<div class="skill-stat">Armor Name</div>
{{#if data.settings.firstEdition}}
{{#if system.settings.firstEdition}}
<div class="skill-stat" style="flex-grow: 0.5;">Armor Points</div>
{{else}}
<div class="skill-stat" style="flex-grow: 0.5;">Save Bonus</div>
@@ -371,10 +371,10 @@
<li class="item flexrow dropitem" data-item-id="{{armor._id}}">
<div class="item-image"><img src="{{armor.img}}" title="{{armor.name}}" width="24" height="24" /></div>
<h4 class="skill-name list-roll description-roll">{{armor.name}}</h4>
<div class="skill-stat" style="flex-grow: 0.5;">{{armor.data.bonus}}</div>
<div class="skill-stat">{{armor.data.features}}</div>
<div class="skill-stat item-equip" style="flex-grow: 0.5;"><input type="checkbox" name="armor.data.equipped" data-dtype="Boolean"
{{checked armor.data.equipped}} /></div>
<div class="skill-stat" style="flex-grow: 0.5;">{{armor.system.bonus}}</div>
<div class="skill-stat">{{armor.system.features}}</div>
<div class="skill-stat item-equip" style="flex-grow: 0.5;"><input type="checkbox" name="armor.system.equipped" data-dtype="Boolean"
{{checked armor.system.equipped}} /></div>
<div class="item-controls">
<a class="item-control item-edit" title="Edit Armor"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="Delete Armor"><i class="fas fa-trash"></i></a>
@@ -388,7 +388,7 @@
<div class="item-image"></div>
<div class="skill-stat" style="flex-grow: 1.5;">Item Name</div>
<div class="skill-stat">Quantity</div>
{{#if data.settings.hideWeight}}
{{#if system.settings.hideWeight}}
{{else}}
<div class="skill-stat">Weight</div>
{{/if}}
@@ -398,13 +398,13 @@
Item</a>
</div>
</li>
{{#if data.settings.hideWeight}}
{{#if system.settings.hideWeight}}
{{#each gear as |item id|}}
<li class="item flexrow dropitem" data-item-id="{{item._id}}">
<div class="item-image"><img src="{{item.img}}" title="{{item.name}}" width="24" height="24" /></div>
<h4 class="skill-name list-roll description-roll" style="flex-grow: 1.5;">{{item.name}}</h4>
<div class="skill-stat list-roll item-quantity">{{item.data.quantity}}</div>
<div class="skill-stat">{{item.data.cost}}</div>
<div class="skill-stat list-roll item-quantity">{{item.system.quantity}}</div>
<div class="skill-stat">{{item.system.cost}}</div>
<div class="item-controls">
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
@@ -416,9 +416,9 @@
<li class="item flexrow dropitem" data-item-id="{{item._id}}">
<div class="item-image"><img src="{{item.img}}" title="{{item.name}}" width="24" height="24" /></div>
<h4 class="skill-name list-roll description-roll" style="flex-grow: 1.5;">{{item.name}}</h4>
<div class="skill-stat list-roll item-quantity">{{item.data.quantity}}</div>
<div class="skill-stat">{{item.data.weight}}</div>
<div class="skill-stat">{{item.data.cost}}</div>
<div class="skill-stat list-roll item-quantity">{{item.system.quantity}}</div>
<div class="skill-stat">{{item.system.weight}}</div>
<div class="skill-stat">{{item.system.cost}}</div>
<div class="item-controls">
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
@@ -427,10 +427,10 @@
{{/each}}
{{/if}}
</ol>
{{#unless data.settings.hideWeight}}
{{#unless system.settings.hideWeight}}
<div class="item flex-group-left item-header">
<div class="skill-stat" style="flex-grow: 1.5;">Carrying Capacity: {{data.weight.capacity}}</div>
<div class="skill-stat">Current Weight: {{data.weight.current}}</div>
<div class="skill-stat" style="flex-grow: 1.5;">Carrying Capacity: {{system.weight.capacity}}</div>
<div class="skill-stat">Current Weight: {{system.weight.current}}</div>
</div>
{{/unless}}
@@ -453,8 +453,8 @@
<li class="item flexrow dropitem" data-item-id="{{skill._id}}">
<!-- <div class="item-image"><img src="{{skill.img}}" title="{{skill.name}}" width="24" height="24"/></div> -->
<div class="skill-name skill-roll list-roll">{{skill.name}}</div>
<div class="skill-stat">{{skill.data.rank}}</div>
<div class="skill-stat">{{skill.data.bonus}}</div>
<div class="skill-stat">{{skill.system.rank}}</div>
<div class="skill-stat">{{skill.system.bonus}}</div>
<div class="item-controls">
<a class="item-control skill-edit" title="Edit Skill"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="Delete Skill"><i class="fas fa-trash"></i></a>
@@ -463,17 +463,17 @@
{{/each}}
</ol>
{{#if data.settings.firstEdition}}
{{#if system.settings.firstEdition}}
<!-- XP -->
<div class="minmaxtext" style="line-height: 1.5; text-transform: none; font-weight: 500;">Skill Training</div>
<div class ="skill_training_frame">
<div class="grid grid-2col" style="grid-template-columns: 283px auto;">
<div class="char-pip-button list-roll flex" style="position: relative; top: -7px;" data-key="xp" data-label="XP" data-max="16" data-min="0">
{{{data.xp.html}}}
{{{system.xp.html}}}
</div>
<textarea name="data.xp.selectedSkill" rows="2" class="textarea-input-grey" type="text"
data-target="data.xp.selectedSkill" placeholder="" style="height: 32px;">{{data.xp.selectedSkill}}</textarea>
<textarea name="system.xp.selectedSkill" rows="2" class="textarea-input-grey" type="text"
data-target="system.xp.selectedSkill" placeholder="" style="height: 32px;">{{system.xp.selectedSkill}}</textarea>
</div>
</div>
@@ -491,11 +491,11 @@
</li>
{{#each conditions as |condition id|}}
<li class="item flexrow dropitem" data-item-id="{{condition._id}}">
<div class="skill-name description-roll list-roll" style = "background: #1b0000;">{{condition.data.description}}</div>
<div class="skill-name description-roll list-roll" style = "background: #1b0000;">{{condition.system.description}}</div>
{{#if condition.data.treatment.html}}
{{#if condition.system.treatment.html}}
<div class="treatment-button list-roll flex" style="position: relative; flex: 0.2;" data-key="condition" data-label="condition" data-max="3" data-min="0">
{{{condition.data.treatment.html}}}
{{{condition.system.treatment.html}}}
</div>
{{else}}
<div class="treatment-button list-roll flex" style="position: relative; flex: 0.2;" data-key="condition" data-label="condition" data-max="3" data-min="0">
@@ -537,23 +537,23 @@
<!-- <div class="item-image"><img src="{{skill.img}}" title="{{skill.name}}" width="24" height="24"/></div> -->
<div class="item-image"><img src="{{weapon.img}}" title="{{weapon.name}}" width="24" height="24" /></div>
<div class="skill-name weapon-roll list-roll" style="flex-grow: 2;">{{weapon.name}}</div>
<div class="skill-stat">{{weapon.data.damage}}</div>
{{#if weapon.data.useAmmo}}
<div class="skill-stat weapon-ammo list-roll">{{weapon.data.ammo}}</div>
<div class="skill-stat">{{weapon.system.damage}}</div>
{{#if weapon.system.useAmmo}}
<div class="skill-stat weapon-ammo list-roll">{{weapon.system.ammo}}</div>
{{else}}
<div class="skill-stat">N/A</div>
{{/if}}
{{#if weapon.data.shots}}
<div class="skill-stat">{{weapon.data.curShots}}/{{weapon.data.shots}} <i
{{#if weapon.system.shots}}
<div class="skill-stat">{{weapon.system.curShots}}/{{weapon.system.shots}} <i
class="fas fa-sync weapon-reload list-roll"></i></div>
{{else}}
<div class="skill-stat">N/A</div>
{{/if}}
{{#if weapon.data.ranges.value}}
<!-- <div class="skill-stat">{{weapon.data.ranges.short}}/{{weapon.data.ranges.medium}}/{{weapon.data.ranges.long}} -->
{{#if weapon.system.ranges.value}}
<!-- <div class="skill-stat">{{weapon.system.ranges.short}}/{{weapon.system.ranges.medium}}/{{weapon.system.ranges.long}} -->
<!-- </div> -->
<div class="skill-stat">{{weapon.data.ranges.value}}</div>
<div class="skill-stat">{{weapon.system.ranges.value}}</div>
{{else}}
<div class="skill-stat">CQC</div>
{{/if}}
+39 -40
View File
@@ -5,80 +5,80 @@
<!-- Creature NAME -->
<input name="name" class="noborder creaturename" style="grid-area:'name';" type="text" value="{{name}}" placeholder="Name" />
<div class="creature-header">
{{#if data.stats.combat.enabled}}
{{#if system.stats.combat.enabled}}
<!-- Combat -->
<div class="mainstatwrapper">
<div class="resource creature-mainstat">
<span class="ability-mod stat-roll rollable creaturestat" data-key="combat" data-roll="d100"
data-label="Combat">COMBAT</span>
<input class="creaturestat noborder" style="width: 30px;" type="text" name="data.stats.combat.value"
value="{{data.stats.combat.value}}" data-dtype="Number" />
<input class="creaturestat noborder" style="width: 30px;" type="text" name="system.stats.combat.value"
value="{{system.stats.combat.value}}" data-dtype="Number" />
</div>
</div>
{{/if}}
{{#if data.stats.instinct.enabled}}
{{#if system.stats.instinct.enabled}}
<!-- Instinct -->
<div class="mainstatwrapper">
<div class="resource creature-mainstat">
<span class="ability-mod stat-roll rollable creaturestat" data-key="instinct" data-roll="d100"
data-label="Instinct">Instinct</span>
<input class="creaturestat noborder" style="width: 30px;" type="text" name="data.stats.instinct.value"
value="{{data.stats.instinct.value}}" data-dtype="Number" />
<input class="creaturestat noborder" style="width: 30px;" type="text" name="system.stats.instinct.value"
value="{{system.stats.instinct.value}}" data-dtype="Number" />
</div>
</div>
{{/if}}
{{#if data.stats.speed.enabled}}
{{#if system.stats.speed.enabled}}
<!-- Speed -->
<div class="mainstatwrapper">
<div class="resource creature-mainstat">
<span class="ability-mod stat-roll rollable creaturestat" data-key="speed" data-roll="d100"
data-label="Speed">Speed</span>
<input class="creaturestat noborder" style="width: 30px;" type="text" name="data.stats.speed.value"
value="{{data.stats.speed.value}}" data-dtype="Number" />
<input class="creaturestat noborder" style="width: 30px;" type="text" name="system.stats.speed.value"
value="{{system.stats.speed.value}}" data-dtype="Number" />
</div>
</div>
{{/if}}
{{#if data.stats.loyalty.enabled}}
{{#if system.stats.loyalty.enabled}}
<!-- Loyalty -->
<div class="mainstatwrapper">
<div class="resource creature-mainstat">
<span class="ability-mod stat-roll rollable creaturestat" data-key="loyalty" data-roll="d100"
data-label="Speed">Loyalty</span>
<input class="creaturestat noborder" style="width: 30px;" type="text" name="data.stats.loyalty.value"
value="{{data.stats.loyalty.value}}" data-dtype="Number" />
<input class="creaturestat noborder" style="width: 30px;" type="text" name="system.stats.loyalty.value"
value="{{system.stats.loyalty.value}}" data-dtype="Number" />
</div>
</div>
{{/if}}
{{#if data.stats.armor.enabled}}
{{#if system.stats.armor.enabled}}
<!-- Armor -->
<div class="mainstatwrapper">
<div class="resource creature-mainstat">
<span class="ability-mod stat-roll rollable creaturestat" data-key="armor" data-roll="d100"
data-label="Speed">Armor</span>
<input class="creaturestat noborder" style="width: 30px;" type="text" name="data.stats.armor.value"
value="{{data.stats.armor.value}}" data-dtype="Number" />
<input class="creaturestat noborder" style="width: 30px;" type="text" name="system.stats.armor.value"
value="{{system.stats.armor.value}}" data-dtype="Number" />
</div>
</div>
{{/if}}
{{#if data.stats.sanity.enabled}}
{{#if system.stats.sanity.enabled}}
<!-- Sanity -->
<div class="mainstatwrapper">
<div class="resource creature-mainstat">
<span class="ability-mod stat-roll rollable creaturestat" data-key="sanity" data-roll="d100"
data-label="Speed">Sanity</span>
<input class="creaturestat noborder" style="width: 30px;" type="text" name="data.stats.sanity.value"
value="{{data.stats.sanity.value}}" data-dtype="Number" />
<input class="creaturestat noborder" style="width: 30px;" type="text" name="system.stats.sanity.value"
value="{{system.stats.sanity.value}}" data-dtype="Number" />
</div>
</div>
{{/if}}
<!-- <div class="health grid grid-1col">
<div class="resource healthspread minmaxtopstat">
<label for="data.health.value" class="resource-label minmaxtext">Health</label>
<label for="system.health.value" class="resource-label minmaxtext">Health</label>
<div class="minmaxwrapper">
<input class="sizelarge circle-input greyText" type="text" name="data.health.value"
value="{{data.health.value}}" data-dtype="Number" />
<input class="maxhealth-input darkGreyText" type="text" name="data.health.max" value="{{data.health.max}}"
<input class="sizelarge circle-input greyText" type="text" name="system.health.value"
value="{{system.health.value}}" data-dtype="Number" />
<input class="maxhealth-input darkGreyText" type="text" name="system.health.max" value="{{system.health.max}}"
data-dtype="Number" />
</div>
<div class="healthmaxtext">MAX</div>
@@ -94,13 +94,13 @@
<div class="grid">
<!-- Health -->
<div class="resource healthspread minmaxtopstat">
<label for="data.health.value" class="resource-label minmaxtext">Health</label>
<label for="system.health.value" class="resource-label minmaxtext">Health</label>
<div class="minmaxwrapper">
<input class="maxhealth-input darkGreyText" type="text" name="data.health.value" value="{{data.health.value}}"
<input class="maxhealth-input darkGreyText" type="text" name="system.health.value" value="{{system.health.value}}"
data-dtype="Number" />
<div class="slant"></div>
<input class="maxhealth-input darkGreyText" type="text" name="data.health.max" value="{{data.health.max}}"
<input class="maxhealth-input darkGreyText" type="text" name="system.health.max" value="{{system.health.max}}"
data-dtype="Number" />
</div>
@@ -110,13 +110,13 @@
<!-- Hits -->
<div class="resource healthspread minmaxtopstat">
<label for="data.hits.value" class="resource-label minmaxtext">Hits</label>
<label for="system.hits.value" class="resource-label minmaxtext">Hits</label>
<div class="minmaxwrapper">
<input class="maxhealth-input darkGreyText" type="text" name="data.hits.value" value="{{data.hits.value}}"
<input class="maxhealth-input darkGreyText" type="text" name="system.hits.value" value="{{system.hits.value}}"
data-dtype="Number" />
<div class="slant"></div>
<input class="maxhealth-input darkGreyText" type="text" name="data.hits.max" value="{{data.hits.max}}"
<input class="maxhealth-input darkGreyText" type="text" name="system.hits.max" value="{{system.hits.max}}"
data-dtype="Number" />
</div>
@@ -124,7 +124,7 @@
<div class="healthmaxtext">Maximum</div>
</div>
</div>
{{editor content=data.description target="data.description" button=true owner=owner editable=true}}
{{editor target="system.description" button=true owner=owner editable=true}}
</div>
<div class="creature-abilities">
<img class="img profile noborder" src="{{img}}" data-edit="img" title="{{name}}" style="height:auto; width:100%;" />
@@ -133,13 +133,12 @@
{{#each abilities as |ability id|}}
<li style="margin-top: -12px" class="creature-ability-container item dropitem" data-item-id="{{ability._id}}">
<div class="creature-ability-title list-roll description-roll">{{ability.name}}</div>
<div class="creature-ability-text itemtext">{{{ability.data.description}}}</div>
<div class="creature-ability-text itemtext">{{{ability.system.description}}}</div>
<div class="item-controls" style="margin-left: 3px; font-size: 0.7rem;">
<a class="item-control item-edit darkgrey" title="Edit Ability"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete darkgrey" title="Delete Ability"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
<a class="item-control weapon-create darkgrey " style="margin-left: 5px;" title="Create Ability"
data-type="ability"><i class="fas fa-plus"></i>
@@ -158,7 +157,7 @@
{{!-- Biography Tab --}}
<div class="tab biography" data-group="primary" data-tab="description">
{{editor content=data.biography target="data.biography" button=true owner=owner editable=true}}
{{editor target="system.biography" button=true owner=owner editable=true}}
</div>
{{!-- Owned Weapons Tab --}}
<div class="tab items" data-group="primary" data-tab="weapons">
@@ -181,23 +180,23 @@
<!-- <div class="item-image"><img src="{{skill.img}}" title="{{skill.name}}" width="24" height="24"/></div> -->
<div class="item-image"><img src="{{weapon.img}}" title="{{weapon.name}}" width="24" height="24" /></div>
<div class="skill-name weapon-roll list-roll" style="flex-grow: 2;">{{weapon.name}}</div>
<div class="skill-stat">{{weapon.data.damage}}</div>
{{#if weapon.data.useAmmo}}
<div class="skill-stat weapon-ammo list-roll">{{weapon.data.ammo}}</div>
<div class="skill-stat">{{weapon.system.damage}}</div>
{{#if weapon.system.useAmmo}}
<div class="skill-stat weapon-ammo list-roll">{{weapon.system.ammo}}</div>
{{else}}
<div class="skill-stat">N/A</div>
{{/if}}
{{#if weapon.data.shots}}
<div class="skill-stat">{{weapon.data.curShots}}/{{weapon.data.shots}} <i
{{#if weapon.system.shots}}
<div class="skill-stat">{{weapon.system.curShots}}/{{weapon.system.shots}} <i
class="fas fa-sync weapon-reload list-roll"></i></div>
{{else}}
<div class="skill-stat">N/A</div>
{{/if}}
{{#if weapon.data.ranges.value}}
<!-- <div class="skill-stat">{{weapon.data.ranges.short}}/{{weapon.data.ranges.medium}}/{{weapon.data.ranges.long}} -->
{{#if weapon.system.ranges.value}}
<!-- <div class="skill-stat">{{weapon.system.ranges.short}}/{{weapon.system.ranges.medium}}/{{weapon.system.ranges.long}} -->
<!-- </div> -->
<div class="skill-stat">{{weapon.data.ranges.value}}</div>
<div class="skill-stat">{{weapon.system.ranges.value}}</div>
{{else}}
<div class="skill-stat">CQC</div>
{{/if}}
+55 -55
View File
@@ -16,29 +16,29 @@
<!-- CLASS -->
<div class="">
<div class="headerinputtext">CLASS</div>
<div class="headerinputfield charname"><input name="data.class" class="noborder" type="text"
value="{{data.class}}" placeholder="" /></div>
<div class="headerinputfield charname"><input name="system.class" class="noborder" type="text"
value="{{system.class}}" placeholder="" /></div>
</div>
<!-- RANK -->
<div class="">
<div class="headerinputtext">Type</div>
<div class="headerinputfield charname"><input name="data.type" class="noborder" type="text"
value="{{data.type}}" placeholder="" /></div>
<div class="headerinputfield charname"><input name="system.type" class="noborder" type="text"
value="{{system.type}}" placeholder="" /></div>
</div>
<!-- Cost -->
<div class="">
<div class="headerinputtext">Cost</div>
<div class="headerinputfield charname"><input name="data.cost" class="noborder" type="text"
value="{{data.cost}}" placeholder="" /></div>
<div class="headerinputfield charname"><input name="system.cost" class="noborder" type="text"
value="{{system.cost}}" placeholder="" /></div>
</div>
<!-- Owed -->
<div class="">
<div class="headerinputtext">Owed</div>
<div class="headerinputfield charname"><input name="data.owed" class="noborder" type="text"
value="{{data.owed}}" placeholder="" /></div>
<div class="headerinputfield charname"><input name="system.owed" class="noborder" type="text"
value="{{system.owed}}" placeholder="" /></div>
</div>
</div>
</div>
@@ -54,11 +54,11 @@
<span class="ability-mod stat-roll rollable mainstattext" data-key="armor"
data-label="Armor">Armor</span>
</div>
<input class="circle-input" type="text" name="data.stats.armor.value"
value="{{data.stats.armor.value}}" data-dtype="Number" />
<input class="circle-input" type="text" name="system.stats.armor.value"
value="{{system.stats.armor.value}}" data-dtype="Number" />
</div>
<input class="mainstatmod-input" type="text" name="data.stats.armor.mod"
value="{{data.stats.armor.mod}}" data-dtype="Number" />
<input class="mainstatmod-input" type="text" name="system.stats.armor.mod"
value="{{system.stats.armor.mod}}" data-dtype="Number" />
<div class="mainstatmod-title">+</div>
</div>
@@ -69,11 +69,11 @@
<span class="ability-mod stat-roll rollable mainstattext" data-key="speed" data-roll="d100"
data-label="Speed">SPEED</span>
</div>
<input class="circle-input" type="text" name="data.stats.speed.value"
value="{{data.stats.speed.value}}" data-dtype="Number" />
<input class="circle-input" type="text" name="system.stats.speed.value"
value="{{system.stats.speed.value}}" data-dtype="Number" />
</div>
<input class="mainstatmod-input" type="text" name="data.stats.speed.mod"
value="{{data.stats.speed.mod}}" data-dtype="Number" />
<input class="mainstatmod-input" type="text" name="system.stats.speed.mod"
value="{{system.stats.speed.mod}}" data-dtype="Number" />
<div class="mainstatmod-title">+</div>
</div>
@@ -84,11 +84,11 @@
<span class="ability-mod stat-roll rollable mainstattext" data-key="intellect" data-roll="d100"
data-label="Intellect">INTELLECT</span>
</div>
<input class="circle-input" type="text" name="data.stats.intellect.value"
value="{{data.stats.intellect.value}}" data-dtype="Number" />
<input class="circle-input" type="text" name="system.stats.intellect.value"
value="{{system.stats.intellect.value}}" data-dtype="Number" />
</div>
<input class="mainstatmod-input" type="text" name="data.stats.intellect.mod"
value="{{data.stats.intellect.mod}}" data-dtype="Number" />
<input class="mainstatmod-input" type="text" name="system.stats.intellect.mod"
value="{{system.stats.intellect.mod}}" data-dtype="Number" />
<div class="mainstatmod-title">+</div>
</div>
@@ -99,11 +99,11 @@
<span class="ability-mod stat-roll rollable mainstattext" data-key="combat" data-roll="d100"
data-label="Combat">COMBAT</span>
</div>
<input class="circle-input" type="text" name="data.stats.combat.value"
value="{{data.stats.combat.value}}" data-dtype="Number" />
<input class="circle-input" type="text" name="system.stats.combat.value"
value="{{system.stats.combat.value}}" data-dtype="Number" />
</div>
<input class="mainstatmod-input" type="text" name="data.stats.combat.mod"
value="{{data.stats.combat.mod}}" data-dtype="Number" />
<input class="mainstatmod-input" type="text" name="system.stats.combat.mod"
value="{{system.stats.combat.mod}}" data-dtype="Number" />
<div class="mainstatmod-title">+</div>
</div>
</div>
@@ -111,15 +111,15 @@
<div class="grid grid-1col">
<!-- Hull -->
<div class="resource healthspread minmaxtopstat flex-center" style="grid-template-rows: 12px 19px;">
<label for="data.supplies.hull.value" class="resource-label minmaxtext">Hull</label>
<div class="faded-label">{{data.supplies.hull.percentage}}</div>
<label for="system.supplies.hull.value" class="resource-label minmaxtext">Hull</label>
<div class="faded-label">{{system.supplies.hull.percentage}}</div>
<div class="minmaxwrapper">
<input class="maxhealth-input darkGreyText" type="text" name="data.supplies.hull.value"
value="{{data.supplies.hull.value}}" data-dtype="Number" />
<input class="maxhealth-input darkGreyText" type="text" name="system.supplies.hull.value"
value="{{system.supplies.hull.value}}" data-dtype="Number" />
<div class="slant"></div>
<input class="maxhealth-input darkGreyText" type="text" name="data.supplies.hull.max"
value="{{data.supplies.hull.max}}" data-dtype="Number" />
<input class="maxhealth-input darkGreyText" type="text" name="system.supplies.hull.max"
value="{{system.supplies.hull.max}}" data-dtype="Number" />
</div>
<div class="healthmaxtext">Current</div>
@@ -129,28 +129,28 @@
<!-- Fuel -->
<div class="resource healthspread minmaxtopstat flex-center">
<label for="data.supplies.fuel.value" class="resource-label minmaxtext">Fuel</label>
<label for="system.supplies.fuel.value" class="resource-label minmaxtext">Fuel</label>
<div class="minmaxwrapper">
<input class="maxhealth-input darkGreyText" type="text" name="data.supplies.fuel.value"
value="{{data.supplies.fuel.value}}" data-dtype="Number" />
<input class="maxhealth-input darkGreyText" type="text" name="system.supplies.fuel.value"
value="{{system.supplies.fuel.value}}" data-dtype="Number" />
<div class="slant"></div>
<input class="maxhealth-input darkGreyText" type="text" name="data.supplies.fuel.max"
value="{{data.supplies.fuel.max}}" data-dtype="Number" />
<input class="maxhealth-input darkGreyText" type="text" name="system.supplies.fuel.max"
value="{{system.supplies.fuel.max}}" data-dtype="Number" />
</div>
<div class="healthmaxtext">Current</div>
<div class="healthmaxtext">Maximum</div>
</div>
<div class="resource healthspread minmaxtopstat flex-center">
<label for="data.supplies.stock.value" class="resource-label minmaxtext">Stock</label>
<label for="system.supplies.stock.value" class="resource-label minmaxtext">Stock</label>
<div class="minmaxwrapper">
<input class="maxhealth-input darkGreyText" type="text" name="data.supplies.stock.value"
value="{{data.supplies.stock.value}}" data-dtype="Number" />
<input class="maxhealth-input darkGreyText" type="text" name="system.supplies.stock.value"
value="{{system.supplies.stock.value}}" data-dtype="Number" />
<div class="slant"></div>
<input class="maxhealth-input darkGreyText" type="text" name="data.supplies.stock.max"
value="{{data.supplies.stock.max}}" data-dtype="Number" />
<input class="maxhealth-input darkGreyText" type="text" name="system.supplies.stock.max"
value="{{system.supplies.stock.max}}" data-dtype="Number" />
</div>
<div class="healthmaxtext">Current</div>
@@ -164,7 +164,7 @@
{{#each abilities as |ability id|}}
<div class="creature-ability-container item" data-item-id="{{ability._id}}">
<div class="creature-ability-title">{{ability.name}}</div>
<div class="creature-ability-text itemtext">{{{ability.data.description}}}</div>
<div class="creature-ability-text itemtext">{{{ability.system.description}}}</div>
<div class="item-controls" style="margin-left: 3px; font-size: 0.7rem;">
<a class="item-control item-edit darkgrey" title="Edit Ability"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete darkgrey" title="Delete Ability"><i class="fas fa-trash"></i></a>
@@ -192,13 +192,13 @@
{{!-- Biography Tab --}}
<div class="tab biography" data-group="primary" data-tab="description">
{{editor content=data.biography target="data.biography" button=true owner=owner editable=true}}
{{editor target="system.biography" button=true owner=owner editable=true}}
</div>
{{!-- Layout Tab --}}
<div class="tab biography" data-group="primary" data-tab="layout">
<img class="img" style="width: 100%; height: auto;" src="{{data.images.layout}}"
data-edit="data.images.layout" title="{{data.images.layout}}" />
<img class="img" style="width: 100%; height: auto;" src="{{system.images.layout}}"
data-edit="system.images.layout" title="{{system.images.layout}}" />
</div>
{{!-- Owned Weapons Tab --}}
<div class="tab items" data-group="primary" data-tab="weapons">
@@ -221,14 +221,14 @@
<!-- <div class="item-image"><img src="{{skill.img}}" title="{{skill.name}}" width="24" height="24"/></div> -->
<div class="item-image"><img src="{{weapon.img}}" title="{{weapon.name}}" width="24" height="24" /></div>
<div class="skill-name weapon-roll list-roll" style="flex-grow: 2;">{{weapon.name}}</div>
<div class="skill-stat">{{weapon.data.damage}}</div>
{{#if weapon.data.useAmmo}}
<div class="skill-stat weapon-ammo list-roll">{{weapon.data.ammo}}</div>
<div class="skill-stat">{{weapon.system.damage}}</div>
{{#if weapon.system.useAmmo}}
<div class="skill-stat weapon-ammo list-roll">{{weapon.system.ammo}}</div>
{{else}}
<div class="skill-stat">N/A</div>
{{/if}}
{{#if weapon.data.shots}}
<div class="skill-stat">{{weapon.data.curShots}}/{{weapon.data.shots}} <i
{{#if weapon.system.shots}}
<div class="skill-stat">{{weapon.system.curShots}}/{{weapon.system.shots}} <i
class="fas fa-sync weapon-reload list-roll"></i></div>
{{else}}
<div class="skill-stat">N/A</div>
@@ -262,9 +262,9 @@
<div class="item-image"><img src="{{module.img}}" title="{{module.name}}" width="24" height="24" />
</div>
<h4 class="skill-name list-roll description-roll" style="flex-grow: 2;">{{module.name}}</h4>
<div class="skill-stat list-roll item-quantity">{{module.data.quantity}}</div>
<div class="skill-stat">{{module.data.hull}}</div>
<div class="skill-stat" style="flex-grow: 2;">{{module.data.feature}}</div>
<div class="skill-stat list-roll item-quantity">{{module.system.quantity}}</div>
<div class="skill-stat">{{module.system.hull}}</div>
<div class="skill-stat" style="flex-grow: 2;">{{module.system.feature}}</div>
<div class="item-controls">
<a class="item-control item-edit" title="Edit Module"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="Delete Module"><i class="fas fa-trash"></i></a>
@@ -293,9 +293,9 @@
<div class="item-image"><img src="{{item.img}}" title="{{item.name}}" width="24" height="24" />
</div>
<h4 class="skill-name list-roll description-roll" style="flex-grow: 2;">{{item.name}}</h4>
<div class="skill-stat list-roll item-quantity">{{item.data.quantity}}</div>
<div class="skill-stat">{{item.data.weight}}</div>
<div class="skill-stat">{{item.data.cost}}</div>
<div class="skill-stat list-roll item-quantity">{{item.system.quantity}}</div>
<div class="skill-stat">{{item.system.weight}}</div>
<div class="skill-stat">{{item.system.cost}}</div>
<div class="item-controls">
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
+15 -15
View File
@@ -12,7 +12,7 @@
</div>
{{{insert}}}
<div class="description">
<div class="body">{{{item.data.description}}}</div>
<div class="body">{{{item.system.description}}}</div>
<br />
</div>
{{else}}
@@ -49,10 +49,10 @@
<div class="valuetext">{{stat.name}} ({{this.target}})</div>
<div class="valuetext">Mod ({{this.mod}})</div>
{{#if useSkill}}
<div class="valuetext">{{item.name}} ({{item.data.bonus}})</div>
<div class="valuetext">{{item.name}} ({{item.system.bonus}})</div>
{{/if}}
{{#if isWeapon}}
<div class="valuetext">{{item.name}} ({{item.data.bonus}})</div>
<div class="valuetext">{{item.name}} ({{bonus}})</div>
{{/if}}
</div>
<!-- Damage Roll -->
@@ -63,20 +63,20 @@
<div class="value">{{data.diceTotal.damageValue}}</div>
</div>
</div>
<div class="rollmods" style="margin-top: 0px;">({{item.data.damage}})</div>
<div class="rollmods" style="margin-top: 0px;">({{item.system.damage}})</div>
<br/>
{{#if item.data.ranges.medium}}
<div class="rollmods">Range: {{item.data.ranges.short}}/{{item.data.ranges.medium}}/{{item.data.ranges.long}}
{{#if item.system.ranges.medium}}
<div class="rollmods">Range: {{item.system.ranges.short}}/{{item.system.ranges.medium}}/{{item.system.ranges.long}}
</div>
{{else}}
<div class="rollmods">Range: CQC</div>
{{/if}}
{{#if item.data.shots}}
<div class="rollmods">Shots: {{item.data.curShots}}/{{item.data.shots}}</div>
{{#if item.system.shots}}
<div class="rollmods">Shots: {{item.system.curShots}}/{{item.system.shots}}</div>
{{else}}
{{#if item.data.useAmmo}}
<div class="rollmods">Ammo: {{item.data.ammo}}</div>
{{#if item.system.useAmmo}}
<div class="rollmods">Ammo: {{item.system.ammo}}</div>
{{/if}}
{{/if}}
@@ -84,16 +84,16 @@
<div class="description">
<div class="header padding" style = "grid: none;">Critical</div>
<br/>
<div class="body">Crit Damage: [[/r {{item.data.critDmg}}]]</div>
<div class="body">Crit Effect: {{item.data.critEffect}}</div>
<div class="body">Crit Damage: [[/r {{item.system.critDmg}}]]</div>
<div class="body">Crit Effect: {{item.system.critEffect}}</div>
</div>
<br/>
{{/if}}
{{#if item.data.description}}
{{#if item.system.description}}
<div class="description">
<div class="header padding" style = "grid: none;">Description</div>
<div class="body">{{{item.data.description}}}</div>
<div class="body">{{{item.system.description}}}</div>
</div>
{{/if}}
{{/if}}
@@ -101,7 +101,7 @@
{{#if useSkill}}
<div class="description">
<div class="header padding" style = "grid: none;">Description</div>
<div class="body">{{{item.data.description}}}</div>
<div class="body">{{{item.system.description}}}</div>
</div>
{{/if}}
{{#if data.panic}}
@@ -4,27 +4,27 @@
<div class="grid grid-3col">
<div class="resource">
<label class="resource-label">Combat</label>
<input type="checkbox" name="actor.data.stats.combat.enabled" id="data.stats.combat.enabled" value="{{data.stats.combat.enabled}}" {{#if actor.data.stats.combat.enabled}}checked{{/if}} data-dtype="Boolean" />
<input type="checkbox" name="actor.system.stats.combat.enabled" id="system.stats.combat.enabled" value="{{system.stats.combat.enabled}}" {{#if actor.system.stats.combat.enabled}}checked{{/if}} data-dtype="Boolean" />
</div>
<div class="resource">
<label class="resource-label">Instinct</label>
<input type="checkbox" name="actor.data.stats.instinct.enabled" id="data.stats.instinct.enabled" value="{{data.stats.instinct.enabled}}" {{#if actor.data.stats.instinct.enabled}}checked{{/if}} data-dtype="Boolean" />
<input type="checkbox" name="actor.system.stats.instinct.enabled" id="system.stats.instinct.enabled" value="{{system.stats.instinct.enabled}}" {{#if actor.system.stats.instinct.enabled}}checked{{/if}} data-dtype="Boolean" />
</div>
<div class="resource">
<label class="resource-label">Loyalty</label>
<input type="checkbox" name="actor.data.stats.loyalty.enabled" id="data.stats.loyalty.enabled" value="{{data.stats.loyalty.enabled}}" {{#if actor.data.stats.loyalty.enabled}}checked{{/if}} data-dtype="Boolean" />
<input type="checkbox" name="actor.system.stats.loyalty.enabled" id="system.stats.loyalty.enabled" value="{{system.stats.loyalty.enabled}}" {{#if actor.system.stats.loyalty.enabled}}checked{{/if}} data-dtype="Boolean" />
</div>
<div class="resource">
<label class="resource-label">Speed</label>
<input type="checkbox" name="actor.data.stats.speed.enabled" id="data.stats.speed.enabled" value="{{data.stats.speed.enabled}}" {{#if actor.data.stats.speed.enabled}}checked{{/if}} data-dtype="Boolean" />
<input type="checkbox" name="actor.system.stats.speed.enabled" id="system.stats.speed.enabled" value="{{system.stats.speed.enabled}}" {{#if actor.system.stats.speed.enabled}}checked{{/if}} data-dtype="Boolean" />
</div>
<div class="resource">
<label class="resource-label">Armor</label>
<input type="checkbox" name="actor.data.stats.armor.enabled" id="data.stats.armor.enabled" value="{{data.stats.armor.enabled}}" {{#if actor.data.stats.armor.enabled}}checked{{/if}} data-dtype="Boolean" />
<input type="checkbox" name="actor.system.stats.armor.enabled" id="system.stats.armor.enabled" value="{{system.stats.armor.enabled}}" {{#if actor.system.stats.armor.enabled}}checked{{/if}} data-dtype="Boolean" />
</div>
<div class="resource">
<label class="resource-label">Sanity</label>
<input type="checkbox" name="actor.data.stats.sanity.enabled" id="data.stats.sanity.enabled" value="{{data.stats.sanity.enabled}}" {{#if actor.data.stats.sanity.enabled}}checked{{/if}} data-dtype="Boolean" />
<input type="checkbox" name="actor.system.stats.sanity.enabled" id="system.stats.sanity.enabled" value="{{system.stats.sanity.enabled}}" {{#if actor.system.stats.sanity.enabled}}checked{{/if}} data-dtype="Boolean" />
</div>
</div>
</div>
+2 -2
View File
@@ -6,7 +6,7 @@
<div class="grid grid-2col">
<div class="resource">
<label class="resource-label">Roll</label>
<input type="text" name="data.roll" value="{{data.roll}}" data-dtype="String"/>
<input type="text" name="system.roll" value="{{system.roll}}" data-dtype="String"/>
</div>
</div>
</div>
@@ -22,7 +22,7 @@
{{!-- Description Tab --}}
<div class="tab" data-group="primary" data-tab="description">
{{editor content=data.description target="data.description" button=true owner=owner editable=true}}
{{editor target="system.description" button=true owner=owner editable=true}}
</div>
</section>
</form>
+6 -6
View File
@@ -6,15 +6,15 @@
<div class="grid grid-2col">
<div class="resource">
<label class="resource-label">Save Bonus</label>
<input type="text" name="data.bonus" value="{{data.bonus}}" data-dtype="Number"/>
<input type="text" name="system.bonus" value="{{system.bonus}}" data-dtype="Number"/>
</div>
<div class="resource">
<label class="resource-label">Features</label>
<input type="text" name="data.features" value="{{data.features}}" data-dtype="String"/>
<input type="text" name="system.features" value="{{system.features}}" data-dtype="String"/>
</div>
<div class="resource">
<label class="resource-label">Equipped</label>
<input type="checkbox" name="data.equipped" data-dtype="Boolean" {{checked data.equipped}}/>
<input type="checkbox" name="system.equipped" data-dtype="Boolean" {{checked system.equipped}}/>
</div>
</div>
</div>
@@ -31,7 +31,7 @@
{{!-- Description Tab --}}
<div class="tab" data-group="primary" data-tab="description">
{{editor content=data.description target="data.description" button=true owner=owner editable=true}}
{{editor target="system.description" button=true owner=owner editable=true}}
</div>
{{!-- Item Tab --}}
@@ -39,11 +39,11 @@
<div class="grid grid-3col">
<div class="resource">
<label class="resource-label">Value</label>
<input type="text" name="data.cost" value="{{data.cost}}" data-dtype="Number" />
<input type="text" name="system.cost" value="{{system.cost}}" data-dtype="Number" />
</div>
<div class="resource">
<label class="resource-label">Weight</label>
<input type="text" name="data.weight" value="{{data.weight}}" data-dtype="Number" />
<input type="text" name="system.weight" value="{{system.weight}}" data-dtype="Number" />
</div>
</div>
</div>
+2 -2
View File
@@ -5,7 +5,7 @@
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name"/></h1>
<div class="resource">
<label class="resource-label">Description</label>
<input type="text" name="data.description" value="{{data.description}}" data-dtype="Text"/>
<input type="text" name="system.description" value="{{system.description}}" data-dtype="Text"/>
</div>
</div>
</header>
@@ -20,7 +20,7 @@
{{!-- Description Tab --}}
<div class="tab" data-group="primary" data-tab="description">
{{editor content=data.description target="data.description" button=true owner=owner editable=true}}
{{editor content=system.description target="system.description" button=true owner=owner editable=true}}
</div>
</section> -->
</form>
+4 -4
View File
@@ -6,15 +6,15 @@
<div class="grid grid-3col">
<div class="resource">
<label class="resource-label">Quantity</label>
<input type="text" name="data.quantity" value="{{data.quantity}}" data-dtype="Number"/>
<input type="text" name="system.quantity" value="{{system.quantity}}" data-dtype="Number"/>
</div>
<div class="resource">
<label class="resource-label">Weight</label>
<input type="text" name="data.weight" value="{{data.weight}}" data-dtype="Number"/>
<input type="text" name="system.weight" value="{{system.weight}}" data-dtype="Number"/>
</div>
<div class="resource">
<label class="resource-label">Value</label>
<input type="text" name="data.cost" value="{{data.cost}}" data-dtype="Number"/>
<input type="text" name="system.cost" value="{{system.cost}}" data-dtype="Number"/>
</div>
</div>
</div>
@@ -31,7 +31,7 @@
{{!-- Description Tab --}}
<div class="tab" data-group="primary" data-tab="description">
{{editor content=data.description target="data.description" button=true owner=owner editable=true}}
{{editor target="system.description" button=true owner=owner editable=true}}
</div>
{{!-- Attributes Tab --}}
+4 -4
View File
@@ -6,15 +6,15 @@
<div class="grid grid-2col">
<div class="resource">
<label class="resource-label">Quantity</label>
<input type="text" name="data.quantity" value="{{data.quantity}}" data-dtype="Number" />
<input type="text" name="system.quantity" value="{{system.quantity}}" data-dtype="Number" />
</div>
<div class="resource">
<label class="resource-label">Hull</label>
<input type="text" name="data.hull" value="{{data.hull}}" data-dtype="Number" />
<input type="text" name="system.hull" value="{{system.hull}}" data-dtype="Number" />
</div>
<div class="resource">
<label class="resource-label">Feature</label>
<input type="text" name="data.feature" value="{{data.feature}}" data-dtype="String" />
<input type="text" name="system.feature" value="{{system.feature}}" data-dtype="String" />
</div>
</div>
</div>
@@ -30,7 +30,7 @@
{{!-- Description Tab --}}
<div class="tab" data-group="primary" data-tab="description">
{{editor content=data.description target="data.description" button=true owner=owner editable=true}}
{{editor target="system.description" button=true owner=owner editable=true}}
</div>
</section>
</form>
+3 -3
View File
@@ -6,11 +6,11 @@
<div class="grid grid-2col">
<div class="resource">
<label class="resource-label">Bonus</label>
<input type="text" name="data.bonus" value="{{data.bonus}}" data-dtype="Number"/>
<input type="text" name="system.bonus" value="{{system.bonus}}" data-dtype="Number"/>
</div>
<div class="resource">
<label class="resource-label">Rank</label>
<input type="text" name="data.rank" value="{{data.rank}}" data-dtype="Text"/>
<input type="text" name="system.rank" value="{{system.rank}}" data-dtype="Text"/>
</div>
</div>
</div>
@@ -26,7 +26,7 @@
{{!-- Description Tab --}}
<div class="tab" data-group="primary" data-tab="description">
{{editor content=data.description target="data.description" button=true owner=owner editable=true}}
{{editor target="system.description" button=true owner=owner editable=true}}
</div>
</section>
</form>
+17 -17
View File
@@ -6,47 +6,47 @@
<div class="grid grid-3col">
<div class="resource">
<label class="resource-label">Damage</label>
<input type="text" name="data.damage" value="{{data.damage}}" data-dtype="String" />
<input type="text" name="system.damage" value="{{system.damage}}" data-dtype="String" />
</div>
<div class="resource">
<label class="resource-label">Max Shots</label>
<input type="text" name="data.shots" value="{{data.shots}}" data-dtype="Number" />
<input type="text" name="system.shots" value="{{system.shots}}" data-dtype="Number" />
</div>
<div class="resource">
<label class="resource-label">Current Shots</label>
<input type="text" name="data.curShots" value="{{data.curShots}}" data-dtype="Number" />
<input type="text" name="system.curShots" value="{{system.curShots}}" data-dtype="Number" />
</div>
<div class="resource">
<label class="resource-label">Shots Per Firing</label>
<input type="text" name="data.shotsPerFire" value="{{data.shotsPerFire}}" data-dtype="String" />
<input type="text" name="system.shotsPerFire" value="{{system.shotsPerFire}}" data-dtype="String" />
</div>
<div class="resource">
<label class="resource-label">Use Ammo</label>
<input type="checkbox" name="data.useAmmo" value="{{data.useAmmo}}" {{#if data.useAmmo}}checked{{/if}} data-dtype="Boolean" />
<input type="checkbox" name="system.useAmmo" value="{{system.useAmmo}}" {{#if system.useAmmo}}checked{{/if}} data-dtype="Boolean" />
</div>
<div class="resource">
<label class="resource-label">Ammunition</label>
<input type="text" name="data.ammo" value="{{data.ammo}}" data-dtype="Number" />
<input type="text" name="system.ammo" value="{{system.ammo}}" data-dtype="Number" />
</div>
<div class="resource">
<label class="resource-label">Ammo Type</label>
<input type="text" name="data.ammoType" value="{{data.ammoType}}" data-dtype="String" />
<input type="text" name="system.ammoType" value="{{system.ammoType}}" data-dtype="String" />
</div>
<div class="resource">
<label class="resource-label">Critical Damage</label>
<input type="text" name="data.critDmg" value="{{data.critDmg}}" data-dtype="String" />
<input type="text" name="system.critDmg" value="{{system.critDmg}}" data-dtype="String" />
</div>
<div class="resource">
<label class="resource-label">Critical Effect</label>
<input type="text" name="data.critEffect" value="{{data.critEffect}}" data-dtype="String" />
<input type="text" name="system.critEffect" value="{{system.critEffect}}" data-dtype="String" />
</div>
<div class="resource">
<label class="resource-label">Skill Bonus</label>
<input type="text" name="data.bonus" value="{{data.bonus}}" data-dtype="Number" />
<input type="text" name="system.bonus" value="{{system.bonus}}" data-dtype="Number" />
</div>
<div class="resource">
<label class="resource-label">Range</label>
<input type="text" name="data.ranges.value" value="{{data.ranges.value}}" data-dtype="String" />
<input type="text" name="system.ranges.value" value="{{system.ranges.value}}" data-dtype="String" />
</div>
<hr />
</div>
@@ -65,7 +65,7 @@
{{!-- Description Tab --}}
<div class="tab" data-group="primary" data-tab="description">
{{editor content=data.description target="data.description" button=true owner=owner editable=true}}
{{editor target="system.description" button=true owner=owner editable=true}}
</div>
{{!-- Ranges Tab --}}
@@ -73,15 +73,15 @@
<div class="grid grid-3col">
<div class="resource">
<label class="resource-label">Short Range</label>
<input type="text" name="data.ranges.short" value="{{data.ranges.short}}" data-dtype="Number" />
<input type="text" name="system.ranges.short" value="{{system.ranges.short}}" data-dtype="Number" />
</div>
<div class="resource">
<label class="resource-label">Medium Range</label>
<input type="text" name="data.ranges.medium" value="{{data.ranges.medium}}" data-dtype="Number" />
<input type="text" name="system.ranges.medium" value="{{system.ranges.medium}}" data-dtype="Number" />
</div>
<div class="resource">
<label class="resource-label">Long Range</label>
<input type="text" name="data.ranges.long" value="{{data.ranges.long}}" data-dtype="Number" />
<input type="text" name="system.ranges.long" value="{{system.ranges.long}}" data-dtype="Number" />
</div>
</div>
</div>
@@ -91,11 +91,11 @@
<div class="grid grid-3col">
<div class="resource">
<label class="resource-label">Value</label>
<input type="text" name="data.cost" value="{{data.cost}}" data-dtype="Number" />
<input type="text" name="system.cost" value="{{system.cost}}" data-dtype="Number" />
</div>
<div class="resource">
<label class="resource-label">Weight</label>
<input type="text" name="data.weight" value="{{data.weight}}" data-dtype="Number" />
<input type="text" name="system.weight" value="{{system.weight}}" data-dtype="Number" />
</div>
</div>
</div>