@@ -46,17 +46,17 @@ if ((macroTarget === 'character' && !game.user.character) || (macroTarget === 't
|
||||
buttons: {
|
||||
button1: {
|
||||
label: `Advantage`,
|
||||
callback: () => game.mosh.initRollTable(`cZOHlhEJcYGZsQBM`,`1d10 [+]`,`high`,false,false,null,null),
|
||||
callback: () => game.mosh.initRollTable(game.settings.get('mosh','table0eDeath'),`1d10 [+]`,`high`,false,false,null,null),
|
||||
icon: `<i class="fas fa-angle-double-up"></i>`
|
||||
},
|
||||
button2: {
|
||||
label: `Normal`,
|
||||
callback: () => game.mosh.initRollTable(`cZOHlhEJcYGZsQBM`,`1d10`,`high`,false,false,null,null),
|
||||
callback: () => game.mosh.initRollTable(game.settings.get('mosh','table0eDeath'),`1d10`,`high`,false,false,null,null),
|
||||
icon: `<i class="fas fa-minus"></i>`
|
||||
},
|
||||
button3: {
|
||||
label: `Disadvantage`,
|
||||
callback: () => game.mosh.initRollTable(`cZOHlhEJcYGZsQBM`,`1d10 [-]`,`high`,false,false,null,null),
|
||||
callback: () => game.mosh.initRollTable(game.settings.get('mosh','table0eDeath'),`1d10 [-]`,`high`,false,false,null,null),
|
||||
icon: `<i class="fas fa-angle-double-down"></i>`
|
||||
}
|
||||
}
|
||||
|
||||
@@ -46,17 +46,17 @@ if ((macroTarget === 'character' && !game.user.character) || (macroTarget === 't
|
||||
buttons: {
|
||||
button1: {
|
||||
label: `Advantage`,
|
||||
callback: () => game.mosh.initRollTable(`W36WFIpCfMknKgHy`,`1d10 [+]`,`low`,true,false,null,null),
|
||||
callback: () => game.mosh.initRollTable(game.settings.get('mosh','table1eDeath'),`1d10 [+]`,`low`,true,false,null,null),
|
||||
icon: `<i class="fas fa-angle-double-up"></i>`
|
||||
},
|
||||
button2: {
|
||||
label: `Normal`,
|
||||
callback: () => game.mosh.initRollTable(`W36WFIpCfMknKgHy`,`1d10`,`low`,true,false,null,null),
|
||||
callback: () => game.mosh.initRollTable(game.settings.get('mosh','table1eDeath'),`1d10`,`low`,true,false,null,null),
|
||||
icon: `<i class="fas fa-minus"></i>`
|
||||
},
|
||||
button3: {
|
||||
label: `Disadvantage`,
|
||||
callback: () => game.mosh.initRollTable(`W36WFIpCfMknKgHy`,`1d10 [-]`,`low`,true,false,null,null),
|
||||
callback: () => game.mosh.initRollTable(game.settings.get('mosh','table1eDeath'),`1d10 [-]`,`low`,true,false,null,null),
|
||||
icon: `<i class="fas fa-angle-double-down"></i>`
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1 +1 @@
|
||||
game.mosh.initRollTable(`cZOHlhEJcYGZsQBM`,`1d10 [+]`,`high`,false,false,null,null);
|
||||
game.mosh.initRollTable(game.settings.get('mosh','table0eDeath'),`1d10 [+]`,`high`,false,false,null,null);
|
||||
@@ -1 +1 @@
|
||||
game.mosh.initRollTable(`cZOHlhEJcYGZsQBM`,`1d10 [-]`,`high`,false,false,null,null);
|
||||
game.mosh.initRollTable(game.settings.get('mosh','table0eDeath'),`1d10 [-]`,`high`,false,false,null,null);
|
||||
@@ -0,0 +1 @@
|
||||
game.mosh.initModifyActor('system.supplies.hull.value',-1,null,true);
|
||||
@@ -0,0 +1 @@
|
||||
game.mosh.initModifyActor('system.supplies.upgrades.value',-1,null,true);
|
||||
@@ -0,0 +1 @@
|
||||
game.mosh.initModifyActor('system.stats.battle.value',null,'-1d10',true);
|
||||
@@ -0,0 +1 @@
|
||||
game.mosh.initModifyActor('system.stats.systems.value',null,'-1d10',true);
|
||||
@@ -0,0 +1 @@
|
||||
game.mosh.initModifyActor('system.stats.oxygen.value',null,'-1d5',true);
|
||||
@@ -0,0 +1 @@
|
||||
game.mosh.initModifyActor('system.health.value',null,'-1d10',true);
|
||||
@@ -0,0 +1,36 @@
|
||||
prepModifyActor();
|
||||
|
||||
//tell the actor to run the function
|
||||
async function prepModifyActor(fieldAddress,modValue,modRollString,outputChatMsg) {
|
||||
//determine who to run the macro for
|
||||
if (game.settings.get('mosh','macroTarget') === 'character') {
|
||||
//is there a selected character? warn if no
|
||||
if (!game.user.character || !game.user.character.type === 'ship') {
|
||||
//warn player
|
||||
game.mosh.noCharSelected();
|
||||
} else {
|
||||
//get the health for this token
|
||||
let curValue = game.user.character.system.supplies.crew.max;
|
||||
//calculate difference
|
||||
let lowerBy = Math.ceil(curValue/2)*-1;
|
||||
//run the function for the player's 'Selected Character'
|
||||
game.user.character.modifyActor('system.supplies.crew.max',lowerBy,null,true);
|
||||
}
|
||||
} else if (game.settings.get('mosh','macroTarget') === 'token') {
|
||||
//is there a selected character? warn if no
|
||||
if (!canvas.tokens.controlled.length) {
|
||||
//warn player
|
||||
game.mosh.noCharSelected();
|
||||
} else {
|
||||
//run the function for all selected tokens
|
||||
canvas.tokens.controlled.forEach(function(token){
|
||||
//get the health for this token
|
||||
let curValue = token.actor.system.supplies.crew.max;
|
||||
//calculate difference
|
||||
let lowerBy = Math.ceil(curValue/2)*-1;
|
||||
//run the function on this token
|
||||
token.actor.modifyActor('system.supplies.crew.max',lowerBy,null,true);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
prepBankruptcySave();
|
||||
|
||||
//tell the actor to run the function
|
||||
async function prepBankruptcySave() {
|
||||
//determine who to run the macro for
|
||||
if (game.settings.get('mosh','macroTarget') === 'character') {
|
||||
//is there a selected character? warn if no
|
||||
if (!game.user.character || !game.user.character.type === 'ship') {
|
||||
//warn player
|
||||
game.mosh.noShipSelected();
|
||||
} else {
|
||||
//run the function for the player's 'Selected Character'
|
||||
game.user.character.rollCheck(`1d100 [+]`,`low`,`bankruptcySave`,null,null,null);
|
||||
}
|
||||
} else if (game.settings.get('mosh','macroTarget') === 'token') {
|
||||
//is there a selected character? warn if no
|
||||
if (!canvas.tokens.controlled.length) {
|
||||
//warn player
|
||||
game.mosh.noShipSelected();
|
||||
} else {
|
||||
//run the function for all selected tokens
|
||||
canvas.tokens.controlled.forEach(function(token){
|
||||
token.actor.rollCheck(`1d100 [+]`,`low`,`bankruptcySave`,null,null,null);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
prepBankruptcySave();
|
||||
|
||||
//tell the actor to run the function
|
||||
async function prepBankruptcySave() {
|
||||
//determine who to run the macro for
|
||||
if (game.settings.get('mosh','macroTarget') === 'character') {
|
||||
//is there a selected character? warn if no
|
||||
if (!game.user.character || !game.user.character.type === 'ship') {
|
||||
//warn player
|
||||
game.mosh.noShipSelected();
|
||||
} else {
|
||||
//run the function for the player's 'Selected Character'
|
||||
game.user.character.rollCheck(`1d100 [-]`,`low`,`bankruptcySave`,null,null,null);
|
||||
}
|
||||
} else if (game.settings.get('mosh','macroTarget') === 'token') {
|
||||
//is there a selected character? warn if no
|
||||
if (!canvas.tokens.controlled.length) {
|
||||
//warn player
|
||||
game.mosh.noShipSelected();
|
||||
} else {
|
||||
//run the function for all selected tokens
|
||||
canvas.tokens.controlled.forEach(function(token){
|
||||
token.actor.rollCheck(`1d100 [-]`,`low`,`bankruptcySave`,null,null,null);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
prepBankruptcySave();
|
||||
|
||||
//tell the actor to run the function
|
||||
async function prepBankruptcySave() {
|
||||
//determine who to run the macro for
|
||||
if (game.settings.get('mosh','macroTarget') === 'character') {
|
||||
//is there a selected character? warn if no
|
||||
if (!game.user.character || !game.user.character.type === 'ship') {
|
||||
//warn player
|
||||
game.mosh.noShipSelected();
|
||||
} else {
|
||||
//run the function for the player's 'Selected Character'
|
||||
game.user.character.bankruptcySave();
|
||||
}
|
||||
} else if (game.settings.get('mosh','macroTarget') === 'token') {
|
||||
//is there a selected character? warn if no
|
||||
if (!canvas.tokens.controlled.length) {
|
||||
//warn player
|
||||
game.mosh.noShipSelected();
|
||||
} else {
|
||||
//run the function for all selected tokens
|
||||
canvas.tokens.controlled.forEach(function(token){
|
||||
token.actor.bankruptcySave();
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1 +1 @@
|
||||
game.mosh.initRollTable(`ata3fRz3uoPfNCLh`,`1d10 [+]`,`low`,true,false,null,null);
|
||||
game.mosh.initRollTable(game.settings.get('mosh','table1eWoundBleeding'),`1d10 [+]`,`low`,true,false,null,null);
|
||||
@@ -1 +1 @@
|
||||
game.mosh.initRollTable(`ata3fRz3uoPfNCLh`,`1d10 [-]`,`low`,true,false,null,null);
|
||||
game.mosh.initRollTable(game.settings.get('mosh','table1eWoundBleeding'),`1d10 [-]`,`low`,true,false,null,null);
|
||||
@@ -1 +1 @@
|
||||
game.mosh.initRollTable(`ata3fRz3uoPfNCLh`,`1d10`,`low`,true,false,null,null);
|
||||
game.mosh.initRollTable(game.settings.get('mosh','table1eWoundBleeding'),`1d10`,`low`,true,false,null,null);
|
||||
@@ -1 +1 @@
|
||||
game.mosh.initRollTable(`31YibfjueXuZdNLb`,`1d10 [+]`,`low`,true,false,null,null);
|
||||
game.mosh.initRollTable(game.settings.get('mosh','table1eWoundBluntForce'),`1d10 [+]`,`low`,true,false,null,null);
|
||||
@@ -1 +1 @@
|
||||
game.mosh.initRollTable(`31YibfjueXuZdNLb`,`1d10 [-]`,`low`,true,false,null,null);
|
||||
game.mosh.initRollTable(game.settings.get('mosh','table1eWoundBluntForce'),`1d10 [-]`,`low`,true,false,null,null);
|
||||
@@ -1 +1 @@
|
||||
game.mosh.initRollTable(`31YibfjueXuZdNLb`,`1d10`,`low`,true,false,null,null);
|
||||
game.mosh.initRollTable(game.settings.get('mosh','table1eWoundBluntForce'),`1d10`,`low`,true,false,null,null);
|
||||
@@ -1 +1 @@
|
||||
game.mosh.initRollTable(`W36WFIpCfMknKgHy`,`1d10 [+]`,`low`,true,false,null,null);
|
||||
game.mosh.initRollTable(game.settings.get('mosh','table1eDeath'),`1d10 [+]`,`low`,true,false,null,null);
|
||||
@@ -1 +1 @@
|
||||
game.mosh.initRollTable(`W36WFIpCfMknKgHy`,`1d10 [-]`,`low`,true,false,null,null);
|
||||
game.mosh.initRollTable(game.settings.get('mosh','table1eDeath'),`1d10 [-]`,`low`,true,false,null,null);
|
||||
@@ -1 +1 @@
|
||||
game.mosh.initRollTable(`lqiaWwh5cGcJhvnu`,`1d10 [+]`,`low`,true,false,null,null);
|
||||
game.mosh.initRollTable(game.settings.get('mosh','table1eWoundFireExplosives'),`1d10 [+]`,`low`,true,false,null,null);
|
||||
@@ -1 +1 @@
|
||||
game.mosh.initRollTable(`lqiaWwh5cGcJhvnu`,`1d10 [-]`,`low`,true,false,null,null);
|
||||
game.mosh.initRollTable(game.settings.get('mosh','table1eWoundFireExplosives'),`1d10 [-]`,`low`,true,false,null,null);
|
||||
@@ -1 +1 @@
|
||||
game.mosh.initRollTable(`lqiaWwh5cGcJhvnu`,`1d10`,`low`,true,false,null,null);
|
||||
game.mosh.initRollTable(game.settings.get('mosh','table1eWoundFireExplosives'),`1d10`,`low`,true,false,null,null);
|
||||
@@ -1 +1 @@
|
||||
game.mosh.initRollTable(`uVfC1CqYdojaJ7yRd`,`1d10 [+]`,`low`,true,false,null,null);
|
||||
game.mosh.initRollTable(game.settings.get('mosh','table1eWoundGoreMassive'),`1d10 [+]`,`low`,true,false,null,null);
|
||||
@@ -1 +1 @@
|
||||
game.mosh.initRollTable(`uVfC1CqYdojaJ7yR`,`1d10 [-]`,`low`,true,false,null,null);
|
||||
game.mosh.initRollTable(game.settings.get('mosh','table1eWoundGoreMassive'),`1d10 [-]`,`low`,true,false,null,null);
|
||||
@@ -1 +1 @@
|
||||
game.mosh.initRollTable(`uVfC1CqYdojaJ7yR`,`1d10`,`low`,true,false,null,null);
|
||||
game.mosh.initRollTable(game.settings.get('mosh','table1eWoundGoreMassive'),`1d10`,`low`,true,false,null,null);
|
||||
@@ -1 +1 @@
|
||||
game.mosh.initRollTable(`XjDU2xFOWEasaZK0`,`1d10 [+]`,`low`,true,false,null,null);
|
||||
game.mosh.initRollTable(game.settings.get('mosh','table1eWoundGunshot'),`1d10 [+]`,`low`,true,false,null,null);
|
||||
@@ -1 +1 @@
|
||||
game.mosh.initRollTable(`XjDU2xFOWEasaZK0`,`1d10 [-]`,`low`,true,false,null,null);
|
||||
game.mosh.initRollTable(game.settings.get('mosh','table1eWoundGunshot'),`1d10 [-]`,`low`,true,false,null,null);
|
||||
@@ -1 +1 @@
|
||||
game.mosh.initRollTable(`XjDU2xFOWEasaZK0`,`1d10`,`low`,true,false,null,null);
|
||||
game.mosh.initRollTable(game.settings.get('mosh','table1eWoundGunshot'),`1d10`,`low`,true,false,null,null);
|
||||
@@ -0,0 +1,27 @@
|
||||
prepMaintenanceCheck();
|
||||
|
||||
//tell the actor to run the function
|
||||
async function prepMaintenanceCheck() {
|
||||
//determine who to run the macro for
|
||||
if (game.settings.get('mosh','macroTarget') === 'character') {
|
||||
//is there a selected character? warn if no
|
||||
if (!game.user.character || !game.user.character.type === 'ship') {
|
||||
//warn player
|
||||
game.mosh.noShipSelected();
|
||||
} else {
|
||||
//run the function for the player's 'Selected Character'
|
||||
game.user.character.rollTable(`maintenanceCheck`,`1d100 [+]`,`low`,null,null,null,null);
|
||||
}
|
||||
} else if (game.settings.get('mosh','macroTarget') === 'token') {
|
||||
//is there a selected character? warn if no
|
||||
if (!canvas.tokens.controlled.length) {
|
||||
//warn player
|
||||
game.mosh.noShipSelected();
|
||||
} else {
|
||||
//run the function for all selected tokens
|
||||
canvas.tokens.controlled.forEach(function(token){
|
||||
token.actor.rollTable(`maintenanceCheck`,`1d100 [+]`,`low`,null,null,null,null);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
prepMaintenanceCheck();
|
||||
|
||||
//tell the actor to run the function
|
||||
async function prepMaintenanceCheck() {
|
||||
//determine who to run the macro for
|
||||
if (game.settings.get('mosh','macroTarget') === 'character') {
|
||||
//is there a selected character? warn if no
|
||||
if (!game.user.character || !game.user.character.type === 'ship') {
|
||||
//warn player
|
||||
game.mosh.noShipSelected();
|
||||
} else {
|
||||
//run the function for the player's 'Selected Character'
|
||||
game.user.character.rollTable(`maintenanceCheck`,`1d100 [-]`,`low`,null,null,null,null);
|
||||
}
|
||||
} else if (game.settings.get('mosh','macroTarget') === 'token') {
|
||||
//is there a selected character? warn if no
|
||||
if (!canvas.tokens.controlled.length) {
|
||||
//warn player
|
||||
game.mosh.noShipSelected();
|
||||
} else {
|
||||
//run the function for all selected tokens
|
||||
canvas.tokens.controlled.forEach(function(token){
|
||||
token.actor.rollTable(`maintenanceCheck`,`1d100 [-]`,`low`,null,null,null,null);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
prepMaintenanceCheck();
|
||||
|
||||
//tell the actor to run the function
|
||||
async function prepMaintenanceCheck() {
|
||||
//determine who to run the macro for
|
||||
if (game.settings.get('mosh','macroTarget') === 'character') {
|
||||
//is there a selected character? warn if no
|
||||
if (!game.user.character || !game.user.character.type === 'ship') {
|
||||
//warn player
|
||||
game.mosh.noShipSelected();
|
||||
} else {
|
||||
//run the function for the player's 'Selected Character'
|
||||
game.user.character.maintenanceCheck();
|
||||
}
|
||||
} else if (game.settings.get('mosh','macroTarget') === 'token') {
|
||||
//is there a selected character? warn if no
|
||||
if (!canvas.tokens.controlled.length) {
|
||||
//warn player
|
||||
game.mosh.noShipSelected();
|
||||
} else {
|
||||
//run the function for all selected tokens
|
||||
canvas.tokens.controlled.forEach(function(token){
|
||||
token.actor.maintenanceCheck();
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
prepMoraleCheck();
|
||||
|
||||
//tell the actor to run the function
|
||||
async function prepMoraleCheck() {
|
||||
//determine who to run the macro for
|
||||
if (game.settings.get('mosh','macroTarget') === 'character') {
|
||||
//is there a selected character? warn if no
|
||||
if (!game.user.character || !game.user.character.type === 'ship') {
|
||||
//warn player
|
||||
game.mosh.noShipSelected();
|
||||
} else {
|
||||
//run the function for the player's 'Selected Character'
|
||||
game.user.character.rollCheck(`1d10 [+]`,`high`,`moraleCheck`,null,null,null);
|
||||
}
|
||||
} else if (game.settings.get('mosh','macroTarget') === 'token') {
|
||||
//is there a selected character? warn if no
|
||||
if (!canvas.tokens.controlled.length) {
|
||||
//warn player
|
||||
game.mosh.noShipSelected();
|
||||
} else {
|
||||
//run the function for all selected tokens
|
||||
canvas.tokens.controlled.forEach(function(token){
|
||||
token.actor.rollCheck(`1d10 [+]`,`high`,`moraleCheck`,null,null,null);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
prepMoraleCheck();
|
||||
|
||||
//tell the actor to run the function
|
||||
async function prepMoraleCheck() {
|
||||
//determine who to run the macro for
|
||||
if (game.settings.get('mosh','macroTarget') === 'character') {
|
||||
//is there a selected character? warn if no
|
||||
if (!game.user.character || !game.user.character.type === 'ship') {
|
||||
//warn player
|
||||
game.mosh.noShipSelected();
|
||||
} else {
|
||||
//run the function for the player's 'Selected Character'
|
||||
game.user.character.rollCheck(`1d10 [-]`,`high`,`moraleCheck`,null,null,null);
|
||||
}
|
||||
} else if (game.settings.get('mosh','macroTarget') === 'token') {
|
||||
//is there a selected character? warn if no
|
||||
if (!canvas.tokens.controlled.length) {
|
||||
//warn player
|
||||
game.mosh.noShipSelected();
|
||||
} else {
|
||||
//run the function for all selected tokens
|
||||
canvas.tokens.controlled.forEach(function(token){
|
||||
token.actor.rollCheck(`1d10 [-]`,`high`,`moraleCheck`,null,null,null);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
prepMoraleCheck();
|
||||
|
||||
//tell the actor to run the function
|
||||
async function prepMoraleCheck() {
|
||||
//determine who to run the macro for
|
||||
if (game.settings.get('mosh','macroTarget') === 'character') {
|
||||
//is there a selected character? warn if no
|
||||
if (!game.user.character || !game.user.character.type === 'ship') {
|
||||
//warn player
|
||||
game.mosh.noShipSelected();
|
||||
} else {
|
||||
//run the function for the player's 'Selected Character'
|
||||
game.user.character.moraleCheck();
|
||||
}
|
||||
} else if (game.settings.get('mosh','macroTarget') === 'token') {
|
||||
//is there a selected character? warn if no
|
||||
if (!canvas.tokens.controlled.length) {
|
||||
//warn player
|
||||
game.mosh.noShipSelected();
|
||||
} else {
|
||||
//run the function for all selected tokens
|
||||
canvas.tokens.controlled.forEach(function(token){
|
||||
token.actor.moraleCheck();
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
prepMaintenanceCheck();
|
||||
|
||||
//tell the actor to run the function
|
||||
async function prepMaintenanceCheck() {
|
||||
//determine who to run the macro for
|
||||
if (game.settings.get('mosh','macroTarget') === 'character') {
|
||||
//is there a selected character? warn if no
|
||||
if (!game.user.character || !game.user.character.type === 'ship') {
|
||||
//warn player
|
||||
game.mosh.noShipSelected();
|
||||
} else {
|
||||
//run the function for the player's 'Selected Character'
|
||||
game.user.character.rollTable(`maintenanceCheck`,`1d100`,`low`,null,null,null,null);
|
||||
}
|
||||
} else if (game.settings.get('mosh','macroTarget') === 'token') {
|
||||
//is there a selected character? warn if no
|
||||
if (!canvas.tokens.controlled.length) {
|
||||
//warn player
|
||||
game.mosh.noShipSelected();
|
||||
} else {
|
||||
//run the function for all selected tokens
|
||||
canvas.tokens.controlled.forEach(function(token){
|
||||
token.actor.rollTable(`maintenanceCheck`,`1d100`,`low`,null,null,null,null);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
prepMaintenanceCheck();
|
||||
|
||||
//tell the actor to run the function
|
||||
async function prepMaintenanceCheck() {
|
||||
//determine who to run the macro for
|
||||
if (game.settings.get('mosh','macroTarget') === 'character') {
|
||||
//is there a selected character? warn if no
|
||||
if (!game.user.character || !game.user.character.type === 'ship') {
|
||||
//warn player
|
||||
game.mosh.noShipSelected();
|
||||
} else {
|
||||
//run the function for the player's 'Selected Character'
|
||||
game.user.character.rollTable(`maintenanceCheck`,`1d100 [+]`,`low`,null,null,null,null);
|
||||
}
|
||||
} else if (game.settings.get('mosh','macroTarget') === 'token') {
|
||||
//is there a selected character? warn if no
|
||||
if (!canvas.tokens.controlled.length) {
|
||||
//warn player
|
||||
game.mosh.noShipSelected();
|
||||
} else {
|
||||
//run the function for all selected tokens
|
||||
canvas.tokens.controlled.forEach(function(token){
|
||||
token.actor.rollTable(`maintenanceCheck`,`1d100 [+]`,`low`,null,null,null,null);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
prepMaintenanceCheck();
|
||||
|
||||
//tell the actor to run the function
|
||||
async function prepMaintenanceCheck() {
|
||||
//determine who to run the macro for
|
||||
if (game.settings.get('mosh','macroTarget') === 'character') {
|
||||
//is there a selected character? warn if no
|
||||
if (!game.user.character || !game.user.character.type === 'ship') {
|
||||
//warn player
|
||||
game.mosh.noShipSelected();
|
||||
} else {
|
||||
//run the function for the player's 'Selected Character'
|
||||
game.user.character.rollTable(`maintenanceCheck`,`1d100 [-]`,`low`,null,null,null,null);
|
||||
}
|
||||
} else if (game.settings.get('mosh','macroTarget') === 'token') {
|
||||
//is there a selected character? warn if no
|
||||
if (!canvas.tokens.controlled.length) {
|
||||
//warn player
|
||||
game.mosh.noShipSelected();
|
||||
} else {
|
||||
//run the function for all selected tokens
|
||||
canvas.tokens.controlled.forEach(function(token){
|
||||
token.actor.rollTable(`maintenanceCheck`,`1d100 [-]`,`low`,null,null,null,null);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
prepMaintenanceCheck();
|
||||
|
||||
//tell the actor to run the function
|
||||
async function prepMaintenanceCheck() {
|
||||
//determine who to run the macro for
|
||||
if (game.settings.get('mosh','macroTarget') === 'character') {
|
||||
//is there a selected character? warn if no
|
||||
if (!game.user.character || !game.user.character.type === 'ship') {
|
||||
//warn player
|
||||
game.mosh.noShipSelected();
|
||||
} else {
|
||||
//run the function for the player's 'Selected Character'
|
||||
game.user.character.maintenanceCheck();
|
||||
}
|
||||
} else if (game.settings.get('mosh','macroTarget') === 'token') {
|
||||
//is there a selected character? warn if no
|
||||
if (!canvas.tokens.controlled.length) {
|
||||
//warn player
|
||||
game.mosh.noShipSelected();
|
||||
} else {
|
||||
//run the function for all selected tokens
|
||||
canvas.tokens.controlled.forEach(function(token){
|
||||
token.actor.maintenanceCheck();
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
prepCryoDamage();
|
||||
|
||||
//tell the actor to run the function
|
||||
async function prepCryoDamage() {
|
||||
//determine who to run the macro for
|
||||
if (game.settings.get('mosh','macroTarget') === 'character') {
|
||||
//is there a selected character? warn if no
|
||||
if (!game.user.character) {
|
||||
//warn player
|
||||
game.mosh.noCharSelected();
|
||||
} else {
|
||||
//run the function for the player's 'Selected Character'
|
||||
game.user.character.takeCryoDamage('-1d10');
|
||||
}
|
||||
} else if (game.settings.get('mosh','macroTarget') === 'token') {
|
||||
//is there a selected character? warn if no
|
||||
if (!canvas.tokens.controlled.length) {
|
||||
//warn player
|
||||
game.mosh.noCharSelected();
|
||||
} else {
|
||||
//run the function for all selected tokens
|
||||
canvas.tokens.controlled.forEach(function(token){
|
||||
token.actor.takeCryoDamage('-1d10');
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
prepCryoDamage();
|
||||
|
||||
//tell the actor to run the function
|
||||
async function prepCryoDamage() {
|
||||
//determine who to run the macro for
|
||||
if (game.settings.get('mosh','macroTarget') === 'character') {
|
||||
//is there a selected character? warn if no
|
||||
if (!game.user.character) {
|
||||
//warn player
|
||||
game.mosh.noCharSelected();
|
||||
} else {
|
||||
//run the function for the player's 'Selected Character'
|
||||
game.user.character.takeCryoDamage('-1d5');
|
||||
}
|
||||
} else if (game.settings.get('mosh','macroTarget') === 'token') {
|
||||
//is there a selected character? warn if no
|
||||
if (!canvas.tokens.controlled.length) {
|
||||
//warn player
|
||||
game.mosh.noCharSelected();
|
||||
} else {
|
||||
//run the function for all selected tokens
|
||||
canvas.tokens.controlled.forEach(function(token){
|
||||
token.actor.takeCryoDamage('-1d5');
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -215,6 +215,76 @@ p {
|
||||
font-family: "Roboto", sans-serif;
|
||||
}
|
||||
|
||||
.mosh input {
|
||||
font-weight: inherit;
|
||||
font-family: 'Roboto';
|
||||
}
|
||||
|
||||
.mosh .center-icon{
|
||||
font-size: 42px;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.mosh .transponder input[type="checkbox"] {
|
||||
/* display: none; */
|
||||
appearance: inherit;
|
||||
border: 2px white;
|
||||
border-style: double;
|
||||
border-radius: 100px;
|
||||
}
|
||||
|
||||
|
||||
.mosh .transponder input[type="checkbox"]:checked, .mosh input[type="radio"]:checked {
|
||||
background: white;
|
||||
border-radius: 100px;
|
||||
appearance: inherit;
|
||||
animation: transponderblink 0.5s alternate infinite;
|
||||
box-shadow: 0 0 15px white;
|
||||
}
|
||||
|
||||
.mosh .transponder input[type="checkbox"]::after {
|
||||
content: "DISABLED";
|
||||
color: grey;
|
||||
position: relative;
|
||||
/* margin-left: -1rem; */
|
||||
display: inline-block;
|
||||
right: -25px;
|
||||
font-size: 17px;
|
||||
font-weight: bold;
|
||||
font-family: 'Roboto';
|
||||
bottom: 2px;
|
||||
}
|
||||
|
||||
.mosh .transponder input[type="checkbox"]:checked::after {
|
||||
content: "ENABLED";
|
||||
color: grey;
|
||||
position: relative;
|
||||
/* margin-left: -1rem; */
|
||||
display: inline-block;
|
||||
right: -25px;
|
||||
font-size: 17px;
|
||||
font-weight: bold;
|
||||
font-family: 'Roboto';
|
||||
bottom: 2px;
|
||||
/* text-shadow: 0 0 11px grey; */
|
||||
}
|
||||
|
||||
@keyframes transponderblink {
|
||||
from {background-color: black;}
|
||||
to {
|
||||
background-color: white;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes transpondertextblink {
|
||||
from {color: grey;}
|
||||
to {
|
||||
color: white;
|
||||
}
|
||||
}
|
||||
|
||||
.mosh .char-header {
|
||||
-webkit-box-flex: 0;
|
||||
/* -ms-flex: 0 0 610px;
|
||||
@@ -306,7 +376,8 @@ p {
|
||||
border-bottom: 2px solid black; */
|
||||
background: black;
|
||||
color: white;
|
||||
padding: 3px 0;
|
||||
padding: 6px 0;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.mosh .tox .tox-editor-container {
|
||||
@@ -444,7 +515,7 @@ p {
|
||||
.mosh .items-list .skill-name {
|
||||
font-weight: bold;
|
||||
font-size: 14px;
|
||||
font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
|
||||
/* font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; */
|
||||
color: white;
|
||||
/* text-transform: uppercase; */
|
||||
margin-left: 0px;
|
||||
@@ -459,7 +530,7 @@ p {
|
||||
|
||||
.mosh .items-list .skill-stat {
|
||||
font-size: medium;
|
||||
font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
|
||||
/* font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; */
|
||||
color: #111;
|
||||
margin-left: 0px;
|
||||
/* background: black; */
|
||||
@@ -477,27 +548,179 @@ p {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.mosh .button-black {
|
||||
font-weight: bold;
|
||||
font-size: 16px;
|
||||
color: white;
|
||||
margin-left: 0px;
|
||||
background: #111;
|
||||
border-radius: 21px;
|
||||
text-align: center;
|
||||
overflow: hidden;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.button-black:hover,
|
||||
.button-black:focus{
|
||||
/* color: #ffffff; */
|
||||
text-shadow: 0 0 10px rgb(112, 112, 112);
|
||||
box-shadow: 0 0 10px 0px #9e9e9e;
|
||||
background: #202020;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.mosh .button-grey {
|
||||
font-weight: bold;
|
||||
font-size: 16px;
|
||||
color: white;
|
||||
margin-left: 0px;
|
||||
background: grey;
|
||||
border-radius: 21px;
|
||||
text-align: center;
|
||||
overflow: hidden;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.button-grey:hover,
|
||||
.button-grey:focus{
|
||||
/* color: #494949; */
|
||||
text-shadow: 0 0 10px rgb(112, 112, 112);
|
||||
box-shadow: 0 0 5px 0px #b9b9b9;
|
||||
background: rgb(100, 100, 100);
|
||||
cursor: pointer;
|
||||
/* border: 1px solid #ffffff; */
|
||||
}
|
||||
|
||||
.mosh .button-white {
|
||||
font-weight: bold;
|
||||
font-size: 16px;
|
||||
color: #111;
|
||||
margin-left: 0px;
|
||||
background: white;
|
||||
border-radius: 21px;
|
||||
text-align: center;
|
||||
overflow: hidden;
|
||||
padding: 10px;
|
||||
border: 3px solid #111;
|
||||
}
|
||||
|
||||
/* Dropdown Button */
|
||||
.mosh .dropbtn {
|
||||
background-color: #111;
|
||||
color: white;
|
||||
padding: 16px;
|
||||
font-size: 16px;
|
||||
border: none;
|
||||
}
|
||||
|
||||
/* The container <div> - needed to position the dropdown content */
|
||||
.mosh.dropdown {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
/* Dropdown Content (Hidden by Default) */
|
||||
.mosh .dropdown-content {
|
||||
display: none;
|
||||
position: absolute;
|
||||
background-color: #f1f1f1;
|
||||
min-width: 160px;
|
||||
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
/* Links inside the dropdown */
|
||||
.mosh .dropdown-content a {
|
||||
color: black;
|
||||
padding: 12px 16px;
|
||||
text-decoration: none;
|
||||
display: block;
|
||||
}
|
||||
|
||||
/* Change color of dropdown links on hover */
|
||||
.mosh .dropdown-content a:hover {background-color: #ddd;}
|
||||
|
||||
/* Show the dropdown menu on hover */
|
||||
.mosh .dropdown:hover .dropdown-content {display: block;}
|
||||
|
||||
/* Change the background color of the dropdown button when the dropdown content is shown */
|
||||
.mosh .dropdown:hover .dropbtn {background-color: #3d3d3d;}
|
||||
|
||||
|
||||
.mosh .sbt-profile {
|
||||
width: 100px;
|
||||
height: auto;
|
||||
border: 0;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.mosh .sbt-crew-name .hidden-item-controls {
|
||||
-webkit-box-flex: 0;
|
||||
-ms-flex: 0 0 86px;
|
||||
flex: 0 0 86px;
|
||||
text-align: right;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.mosh .sbt-crew-name:hover .hidden-item-controls {
|
||||
-webkit-box-flex: 0;
|
||||
-ms-flex: 0 0 86px;
|
||||
flex: 0 0 86px;
|
||||
text-align: right;
|
||||
display: inline;
|
||||
}
|
||||
|
||||
.mosh .sbt-deckplan{
|
||||
width: 100%;
|
||||
height: auto;
|
||||
border: 0;
|
||||
|
||||
transition: 2s;
|
||||
}
|
||||
|
||||
.mosh .sbt-deckplan-parent{
|
||||
height: 185px;
|
||||
overflow: auto;
|
||||
transition: 2s;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.mosh .sbt-deckplan-parent:hover {
|
||||
z-index: 10000;
|
||||
/* height: auto; */
|
||||
}
|
||||
|
||||
.mosh .sbt-megadamage-menu {
|
||||
padding: 15px;
|
||||
/* font-size: 15px; */
|
||||
}
|
||||
|
||||
.mosh .invert-title{
|
||||
mix-blend-mode: difference;
|
||||
}
|
||||
|
||||
.mosh .tab-select {
|
||||
font-size: medium;
|
||||
font-weight: bold;
|
||||
font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
|
||||
/* font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; */
|
||||
color: white;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.mosh .tab-select.active {
|
||||
text-decoration: underline;
|
||||
text-shadow: 0 0 10px white;
|
||||
}
|
||||
|
||||
.mosh .tab-select.active::before {
|
||||
/* .mosh .tab-select.active::before {
|
||||
font-family: "Font Awesome 6 Pro";
|
||||
content: "\f0da";
|
||||
color:white;
|
||||
color:rgb(255, 113, 113);
|
||||
position: relative;
|
||||
right: 6px;
|
||||
margin-left: -1rem;
|
||||
display: inline-block;
|
||||
}
|
||||
} */
|
||||
|
||||
.mosh .stresstext {
|
||||
width: 100%;
|
||||
@@ -607,11 +830,31 @@ p {
|
||||
align-items: start;
|
||||
height: 40px;
|
||||
padding: 0;
|
||||
border: 2px solid #111;
|
||||
border: 3px solid #111;
|
||||
border-radius: 1.5em;
|
||||
background: 0;
|
||||
}
|
||||
|
||||
.mosh .textvaluewrapper{
|
||||
grid-column: 1/-1;
|
||||
display: grid;
|
||||
align-items: start;
|
||||
height: 40px;
|
||||
padding: 0;
|
||||
border: 3px solid #111;
|
||||
border-radius: 0.5em;
|
||||
background: 0;
|
||||
}
|
||||
|
||||
.mosh .textvaluewrapper-input{
|
||||
margin: auto;
|
||||
border: 0px solid #111;
|
||||
font-size: 1rem;
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.mosh .armorWrapper{
|
||||
grid-column: 1/-1;
|
||||
display: grid;
|
||||
@@ -624,6 +867,12 @@ p {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.mosh .blankstat{
|
||||
grid-template-rows: 0.3fr 1.1fr 0.4fr;
|
||||
justify-self: center;
|
||||
display: grid;
|
||||
justify-items: center;
|
||||
}
|
||||
|
||||
.mosh .minmaxtopstat{
|
||||
grid-template-columns: 1fr 1fr;
|
||||
@@ -640,9 +889,22 @@ p {
|
||||
align-items: start;
|
||||
height: 40px;
|
||||
padding: 0;
|
||||
border: 2px solid #111;
|
||||
border: 3px solid #111;
|
||||
border-radius: 1.5em;
|
||||
background: white;
|
||||
}
|
||||
|
||||
.mosh .minmaxwrapper-black{
|
||||
grid-column: 1/-1;
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1px 1fr;
|
||||
align-items: start;
|
||||
height: 40px;
|
||||
padding: 0;
|
||||
border: 3px solid #111;
|
||||
border-radius: 1.5em;
|
||||
background: 0;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.mosh .minmaxtext{
|
||||
@@ -665,9 +927,10 @@ p {
|
||||
.mosh .healthmaxtext{
|
||||
grid-column: span 1;
|
||||
font-size: 0.7rem;
|
||||
font-weight: 500;
|
||||
font-weight: bold;
|
||||
line-height: 1;
|
||||
text-align: center;
|
||||
margin-top: 3px;
|
||||
}
|
||||
|
||||
.mosh .stresslabel {
|
||||
@@ -691,6 +954,56 @@ p {
|
||||
width: 98%;
|
||||
}
|
||||
|
||||
.mosh .circle-statwrapper {
|
||||
display: flex;
|
||||
width: 100%;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background: #e3e3e3;
|
||||
border-radius: 15px;
|
||||
padding: 9px 0px;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.mosh .circle-statwrapper-horizontal {
|
||||
display: flex;
|
||||
width: 100%;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background: #e3e3e3;
|
||||
border-radius: 15px;
|
||||
padding: 9px 0px;
|
||||
flex-direction:row;
|
||||
}
|
||||
|
||||
.mosh .circle-statwrapper-vertical {
|
||||
display: flex;
|
||||
width: 100%;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background: #e3e3e3;
|
||||
border-radius: 15px;
|
||||
padding: 9px 0px;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.mosh .transparentBackground {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.mosh .section-vertical-flex {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
|
||||
.mosh .circle-stat {
|
||||
margin-top: 10px;
|
||||
/* width: 98%; */
|
||||
}
|
||||
|
||||
.mosh .creature-mainstat {
|
||||
position: relative;
|
||||
display: grid;
|
||||
@@ -720,12 +1033,55 @@ p {
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
|
||||
.mosh .area-title {
|
||||
width: 100%;
|
||||
font-size: 1.0rem;
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
text-transform: uppercase;
|
||||
/* margin-bottom: 7px; */
|
||||
color: #363636;
|
||||
font-family: 'Roboto';
|
||||
}
|
||||
|
||||
.mosh .circlestatlabel {
|
||||
padding: 6px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.mosh .circlestattitle {
|
||||
width: 100%;
|
||||
font-size: 1.0rem;
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
text-transform: uppercase;
|
||||
/* margin-bottom: 7px; */
|
||||
color: grey;
|
||||
}
|
||||
|
||||
.mosh .black {
|
||||
color: black;
|
||||
}
|
||||
|
||||
.mosh .grey {
|
||||
color: grey;
|
||||
}
|
||||
|
||||
.mosh .circlestattext {
|
||||
width: 100%;
|
||||
font-size: 0.9rem;
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.mosh .circle-input {
|
||||
margin: -0.15em;
|
||||
height: 50px;
|
||||
width: 50px;
|
||||
padding: 0;
|
||||
border: 2px solid #111;
|
||||
border: 3px solid #111;
|
||||
border-radius: 3em;
|
||||
font-size: 1.5rem;
|
||||
font-weight: bold;
|
||||
@@ -734,16 +1090,41 @@ p {
|
||||
z-index: 5;
|
||||
}
|
||||
|
||||
.mosh .box1 {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.mosh .box2 {
|
||||
color: green;
|
||||
display: block;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.mosh .circle-input-swapper {
|
||||
width: auto;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.mosh .circle-input-swapper:enabled .box1 {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.mosh .circle-input-swapper:enabled .box2 {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.mosh .textarea-input {
|
||||
font-family: "Roboto", sans-serif;
|
||||
margin: -0.15em;
|
||||
/* padding: 9px; */
|
||||
border: 2px solid #111;
|
||||
border-radius: 0.8em;
|
||||
border-radius: 15px;
|
||||
font-size: 11pt;
|
||||
color: white;
|
||||
font-weight: 500;
|
||||
background: black;
|
||||
background: #111;
|
||||
resize: none;
|
||||
min-height: 0;
|
||||
overflow: hidden;
|
||||
@@ -797,7 +1178,7 @@ p {
|
||||
margin-bottom: .2em;
|
||||
width: 100%;
|
||||
color: white;
|
||||
font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
|
||||
/* font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; */
|
||||
font-size: 0.8rem;
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
@@ -805,7 +1186,7 @@ p {
|
||||
}
|
||||
|
||||
.mosh .savebackground {
|
||||
border-radius: 0.3em;
|
||||
border-radius: 10px;
|
||||
background: #111;
|
||||
padding-bottom: 0.3rem;
|
||||
padding-top: 0.4rem;
|
||||
@@ -825,12 +1206,42 @@ p {
|
||||
font-family: "Montserrat", "Arial Black", sans-serif;
|
||||
font-weight: bold;
|
||||
text-transform: uppercase;
|
||||
border-radius: 15px;
|
||||
}
|
||||
|
||||
.mosh .padding{
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
.mosh .actor-sidebar-tab{
|
||||
border-radius: 0 10px 10px 0;
|
||||
/* z-index: -1; */
|
||||
box-shadow: 0 0 22px -6px;
|
||||
border: 2px solid;
|
||||
writing-mode: vertical-rl;
|
||||
rotate: 180deg;
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.mosh .actor-sidebar-tab:hover{
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.mosh .actor-sidebar-row{
|
||||
position: absolute;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
left: -20px;
|
||||
top: 30px;
|
||||
z-index: -1;
|
||||
/* transition: 0.3s; */
|
||||
padding-left: 10px;
|
||||
}
|
||||
|
||||
.mosh .actor-sidebar-row:hover{
|
||||
left: -48px;
|
||||
}
|
||||
|
||||
.mosh .creature-header-grid {
|
||||
display: grid;
|
||||
grid-template-areas:
|
||||
@@ -865,17 +1276,122 @@ p {
|
||||
outline: 5px solid rgb(22, 22, 22);
|
||||
overflow: auto;
|
||||
height: 375px;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.mosh .ship-stats-grid{
|
||||
display: grid;
|
||||
grid-template-columns: 17em 1fr 18em;
|
||||
}
|
||||
|
||||
|
||||
.mosh .ship-sbt-stats-grid{
|
||||
display: grid;
|
||||
grid-template-columns: 10em 1fr 16em;
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.mosh .sbt-crew-section{
|
||||
margin: 0px;
|
||||
border: 2px solid white;
|
||||
outline: 3px solid rgb(22, 22, 22);
|
||||
overflow: auto;
|
||||
height: 400px;
|
||||
border-radius: 10px;
|
||||
padding: 4px 6px;
|
||||
}
|
||||
|
||||
.mosh .sbt-text-area{
|
||||
font-family: "Roboto", sans-serif;
|
||||
margin: -0.15em;
|
||||
border: 2px solid #c5c5c5;
|
||||
border-radius: 15px;
|
||||
font-size: 11pt;
|
||||
font-weight: bold;
|
||||
background: #fff;
|
||||
resize: none;
|
||||
min-height: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.mosh .sbt-megadamage{
|
||||
/* position: absolute; */
|
||||
/* left: 0; */
|
||||
/* background: white;
|
||||
left: -300px;
|
||||
width: 300px;
|
||||
padding: 20px;
|
||||
border-radius: 10px 0 0 10px;
|
||||
height: 600px;
|
||||
overflow-y: auto;
|
||||
z-index: -1; */
|
||||
|
||||
position: absolute;
|
||||
background: white;
|
||||
left: -310px;
|
||||
width: 300px;
|
||||
padding: 20px;
|
||||
border-radius: 10px;
|
||||
z-index: -2;
|
||||
transition: 1s;
|
||||
height: auto;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.mosh .sbt-megadamage-open{
|
||||
left: -310px;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.mosh .sbt-megadamage-closed{
|
||||
left: 0;
|
||||
height: 0%;
|
||||
}
|
||||
|
||||
.mosh .sbt-crew-name {
|
||||
text-align: center;
|
||||
font-size: 1rem;
|
||||
/* text-transform: uppercase; */
|
||||
color:black;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.mosh .sbt-crew-job {
|
||||
height: auto;
|
||||
font-size: 0.9rem;
|
||||
color:rgb(129, 129, 129);
|
||||
font-weight: bold;
|
||||
font-style: italic;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.mosh .item-armor-grid {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 12em;
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.mosh .whiteline {
|
||||
border-top: 2px solid white;
|
||||
border-top: 3px solid white;
|
||||
grid-area: line;
|
||||
margin-top: 5px;
|
||||
margin-bottom: 10px;
|
||||
margin-left: 15px;
|
||||
margin-right: 15px;
|
||||
}
|
||||
|
||||
.mosh .blackline {
|
||||
border-top: 3px solid black;
|
||||
grid-area: line;
|
||||
margin-bottom: 5px;
|
||||
margin-left: 15px;
|
||||
margin-right: 15px;
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
||||
.mosh .greyline {
|
||||
border-top: 3px solid grey;
|
||||
grid-area: line;
|
||||
margin-top: 5px;
|
||||
margin-bottom: 10px;
|
||||
margin-left: 15px;
|
||||
margin-right: 15px;
|
||||
@@ -889,7 +1405,7 @@ p {
|
||||
border: 2px solid #111;
|
||||
background-color: #fff;
|
||||
border-radius: 3em;
|
||||
font-size: 0.8rem;
|
||||
font-size: 1rem;
|
||||
margin-right: 1em;
|
||||
}
|
||||
|
||||
@@ -961,7 +1477,8 @@ p {
|
||||
.mosh .headerinputtext {
|
||||
padding: 0.1rem;
|
||||
color: white;
|
||||
font-family: "Montserrat", "Arial Black", sans-serif;
|
||||
/* font-family: "Montserrat", "Arial Black", sans-serif; */
|
||||
font-family: 'Roboto';
|
||||
font-size: 0.9rem;
|
||||
font-weight: bold;
|
||||
text-align: left;
|
||||
@@ -975,7 +1492,7 @@ p {
|
||||
grid-template-columns: 1fr 1fr 1fr 1fr;
|
||||
gap: 0.25rem;
|
||||
padding: 1em;
|
||||
margin-top: -11px;
|
||||
/* margin-top: -11px; */
|
||||
}
|
||||
|
||||
.mosh .headernamegrid {
|
||||
@@ -1008,6 +1525,8 @@ p {
|
||||
.mosh .profile {
|
||||
width: 140px;
|
||||
height: auto;
|
||||
padding: 6px;
|
||||
border-radius: 10px;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
@@ -1077,7 +1596,7 @@ p {
|
||||
width: 100%;
|
||||
padding: 0.5rem;
|
||||
color: black;
|
||||
font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
|
||||
/* font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; */
|
||||
font-size: 0.9rem;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
After Width: | Height: | Size: 52 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 34 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 49 KiB |
|
After Width: | Height: | Size: 43 KiB |
|
After Width: | Height: | Size: 47 KiB |
|
After Width: | Height: | Size: 41 KiB |
|
After Width: | Height: | Size: 42 KiB |
@@ -156,7 +156,7 @@ export class MothershipActorSheet extends ActorSheet {
|
||||
};
|
||||
}
|
||||
|
||||
actorData.system.weight.capacity = Math.ceil((actorData.system.stats.strength.value/10) + 3);
|
||||
actorData.system.weight.capacity = Math.ceil((actorData.system.stats.strength.value/10)); //Removed a +3 here because I misunderstood some Traaa.sh stuff. This whole thing can probably be ripped out tbh.
|
||||
actorData.system.weight.current = curWeight;
|
||||
//console.log("Current Weight: " + curWeight + " Capacity: " + actorData.data.weight.capacity);
|
||||
|
||||
@@ -326,6 +326,13 @@ export class MothershipActorSheet extends ActorSheet {
|
||||
this.actor.rollCheck(null,'low','combat',null,null,item);
|
||||
});
|
||||
|
||||
// Rollable Damage
|
||||
html.find('.dmg-roll').click(ev => {
|
||||
const li = ev.currentTarget.closest(".item");
|
||||
const item = duplicate(this.actor.getEmbeddedDocument("Item", li.dataset.itemId));
|
||||
this.actor.rollCheck(null,null,'damage',null,null,item);
|
||||
});
|
||||
|
||||
// Rollable Item/Anything with a description that we want to click on.
|
||||
html.find('.description-roll').click(ev => {
|
||||
const li = ev.currentTarget.closest(".item");
|
||||
@@ -360,13 +367,13 @@ export class MothershipActorSheet extends ActorSheet {
|
||||
// Calm - Panic Check
|
||||
html.find('.calm-roll').click(ev => {
|
||||
//roll panic check
|
||||
this.actor.rollTable('panicCheck',null,null,null,null,'system.other.stress.value',null);
|
||||
this.actor.rollTable('panicCheck',null,null,null,null,null,null);
|
||||
});
|
||||
|
||||
// Stress - Panic Check
|
||||
html.find('.stress-roll').click(ev => {
|
||||
//roll panic check
|
||||
this.actor.rollTable('panicCheck',null,null,null,null,'system.other.stress.value',null);
|
||||
this.actor.rollTable('panicCheck',null,null,null,null,null,null);
|
||||
});
|
||||
|
||||
// Clicking on Armor
|
||||
|
||||
@@ -2,9 +2,7 @@
|
||||
* Extend the basic ActorSheet with some very simple modifications
|
||||
* @extends {ActorSheet}
|
||||
*/
|
||||
import {
|
||||
DLCreatureSettings
|
||||
} from "../settings/creature-settings.js";
|
||||
import { DLCreatureSettings } from "../settings/creature-settings.js";
|
||||
|
||||
export class MothershipCreatureSheet extends ActorSheet {
|
||||
|
||||
@@ -164,6 +162,13 @@ export class MothershipCreatureSheet extends ActorSheet {
|
||||
this.actor.rollCheck(null,'low','combat',null,null,item);
|
||||
});
|
||||
|
||||
// Rollable Damage
|
||||
html.find('.dmg-roll').click(ev => {
|
||||
const li = ev.currentTarget.closest(".item");
|
||||
const item = duplicate(this.actor.getEmbeddedDocument("Item", li.dataset.itemId));
|
||||
this.actor.rollCheck(null,null,'damage',null,null,item);
|
||||
});
|
||||
|
||||
//increase ammo
|
||||
html.on('mousedown', '.weapon-ammo', ev => {
|
||||
//dupe item to work on
|
||||
|
||||
@@ -0,0 +1,500 @@
|
||||
|
||||
/**
|
||||
* Extend the basic ActorSheet with some very simple modifications
|
||||
* @extends {ActorSheet}
|
||||
*/
|
||||
import { DLShipDeckplan } from "../windows/ship-deckplan.js";
|
||||
import { DLShipMacros } from "../windows/ship-macros.js";
|
||||
import { DLShipMegaDamage } from "../windows/ship-megadamage.js";
|
||||
import { DLShipSetup } from "../windows/ship-setup.js";
|
||||
|
||||
export class MothershipShipSheetSBT extends ActorSheet {
|
||||
|
||||
/** @override */
|
||||
static get defaultOptions() {
|
||||
return mergeObject(super.defaultOptions, {
|
||||
classes: ["mosh", "sheet", "actor", "ship"],
|
||||
template: "systems/mosh/templates/actor/ship-sheet-sbt.html",
|
||||
width: 700,
|
||||
height: 840,
|
||||
tabs: [{ navSelector: "#sheet-tabs", contentSelector: "#sheet-body", initial: "character" },
|
||||
{ navSelector: "#side-tabs", contentSelector: "#side-body", initial: "close" }],
|
||||
// { navSelector: "#side-tabs", contentSelector: "#side-body", initial: "crew" }],
|
||||
scrollY: [".sheet-body", "scroll-lock"]
|
||||
});
|
||||
}
|
||||
|
||||
_onOpenDeckplan(event) {
|
||||
event.preventDefault();
|
||||
new DLShipDeckplan(this.actor, {
|
||||
top: this.position.top + 40,
|
||||
left: this.position.left + (this.position.width - 400) / 2
|
||||
}).render(true);
|
||||
}
|
||||
|
||||
_onOpenMacros(event) {
|
||||
event.preventDefault();
|
||||
new DLShipMacros(this.actor, {
|
||||
top: this.position.top + 40,
|
||||
left: this.position.left + (this.position.width - 400) / 2
|
||||
}).render(true);
|
||||
}
|
||||
|
||||
_onOpenSetup(event) {
|
||||
event.preventDefault();
|
||||
new DLShipSetup(this.actor, {
|
||||
top: this.position.top + 40,
|
||||
left: this.position.left + (this.position.width - 400) / 2
|
||||
}).render(true);
|
||||
}
|
||||
|
||||
_onOpenMegadamage(event) {
|
||||
event.preventDefault();
|
||||
new DLShipMegaDamage(this.actor, {
|
||||
top: this.position.top + 40,
|
||||
left: this.position.left + (this.position.width - 400) / 2
|
||||
}).render(true);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
||||
/** @override */
|
||||
getData() {
|
||||
const data = super.getData();
|
||||
|
||||
data.dtypes = ["String", "Number", "Boolean"];
|
||||
|
||||
// console.log(this.actor.getRollTableData('AqGWwoWXzijFs427'));
|
||||
|
||||
// for (let attr of Object.values(data.data.system.attributes)) {
|
||||
// attr.isCheckbox = attr.dtype === "Boolean";
|
||||
// }
|
||||
|
||||
const superData = data.data.system;
|
||||
|
||||
superData.page = {}; //Prep the page object, for any html specific stuff we want to do.
|
||||
// Prepare items.
|
||||
if (this.actor.type == 'ship') {
|
||||
this._prepareShipItems(data);
|
||||
}
|
||||
|
||||
if (superData.settings == null) {
|
||||
superData.settings = {};
|
||||
}
|
||||
|
||||
superData.settings.useCalm = game.settings.get("mosh", "useCalm");
|
||||
superData.settings.hideWeight = game.settings.get("mosh", "hideWeight");
|
||||
superData.settings.firstEdition = game.settings.get("mosh", "firstEdition");
|
||||
superData.settings.androidPanic = game.settings.get("mosh", "androidPanic");
|
||||
|
||||
let maxHull = superData.supplies.hull.max;
|
||||
|
||||
superData.supplies.hull.percentage = " [ "+Math.round(maxHull * 0.25)+" | "+Math.round(maxHull * 0.5)+" | "+Math.round(maxHull * 0.75)+" ]";
|
||||
|
||||
|
||||
//Run Setup
|
||||
// if(data.data.system.runSetup){
|
||||
// this.render(true, {focus:false});
|
||||
// var setupMenu = new DLShipSetup(this.actor, {popOut: true, minimizable : false});
|
||||
// setupMenu.render(true, {focus: true});
|
||||
// console.log(setupMenu);
|
||||
// this.close();
|
||||
|
||||
// data.data.system.runSetup = false;
|
||||
// }
|
||||
|
||||
this._prepareMegadamage(data);
|
||||
|
||||
return data.data;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Organize and classify Items for Character sheets.
|
||||
*
|
||||
* @param {Object} actorData The actor to prepare.
|
||||
*
|
||||
* @return {undefined}
|
||||
*/
|
||||
_prepareShipItems(sheetData) {
|
||||
const actorData = sheetData.data;
|
||||
|
||||
// Initialize containers.
|
||||
const crew = [];
|
||||
const weapons = [];
|
||||
const cargo = [];
|
||||
const modules = [];
|
||||
|
||||
const minorRepairs = []; //We are seperating these to make sure they are always ordered by severity.
|
||||
const majorRepairs = [];
|
||||
|
||||
|
||||
// Iterate through items, allocating to containers
|
||||
// let totalWeight = 0;
|
||||
for (let i of sheetData.items) {
|
||||
let item = i.system;
|
||||
i.img = i.img || DEFAULT_TOKEN;
|
||||
|
||||
if (i.type === 'crew') {
|
||||
crew.push(i);
|
||||
} else if (i.type === 'weapon') {
|
||||
weapons.push(i);
|
||||
} else if (i.type === 'item') {
|
||||
cargo.push(i);
|
||||
} else if (i.type === 'module') {
|
||||
modules.push(i);
|
||||
} else if (i.type == 'repair'){
|
||||
i.name = i.name.split('.')[0];
|
||||
|
||||
if(i.system.major){
|
||||
majorRepairs.push(i);
|
||||
}
|
||||
else{
|
||||
minorRepairs.push(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Assign and return
|
||||
actorData.crew = crew;
|
||||
actorData.weapons = weapons;
|
||||
actorData.cargo = cargo;
|
||||
actorData.modules = modules;
|
||||
actorData.minorRepairs = minorRepairs;
|
||||
actorData.majorRepairs = majorRepairs;
|
||||
|
||||
}
|
||||
|
||||
async _prepareMegadamage(sheetData){
|
||||
const actorData = sheetData.data;
|
||||
|
||||
//A script to return the data from a table.
|
||||
let tableId = game.settings.get('mosh','table1eMegadamageEffects');
|
||||
let currentLocation = '';
|
||||
let tableLocation = '';
|
||||
//find where this table is located
|
||||
//get current compendium
|
||||
let compendium = game.packs;
|
||||
//loop through each compendium
|
||||
compendium.forEach(function(pack){
|
||||
//is this a pack of rolltables?
|
||||
if (pack.metadata.type === 'RollTable') {
|
||||
//log where we are
|
||||
currentLocation = pack.metadata.id;
|
||||
//loop through each pack to find the right table
|
||||
pack.index.forEach(function(table) {
|
||||
//is this our table?
|
||||
if (table._id === tableId) {
|
||||
//grab the table location
|
||||
tableLocation = currentLocation;
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
//get table data
|
||||
let tableData = await game.packs.get(tableLocation).getDocument(tableId);
|
||||
|
||||
let megadamageHTML = "";
|
||||
|
||||
let entries = Array.from(tableData.results.entries());
|
||||
|
||||
//Prep Megadamage List
|
||||
// if(actorData.system.megadamage.hits.length > 0){
|
||||
let index = 0;
|
||||
for(const entry of entries){
|
||||
|
||||
// Megadamage - Only Active
|
||||
if(index != 0 && actorData.system.megadamage.hits.includes(index)){
|
||||
// megadamageHTML += `<i class="fa-solid fa-wrench megadamage-button rollable" data-key="${index}"></i>  `;
|
||||
megadamageHTML += `<i class="fas fa-circle megadamage-button rollable" data-key="${index}"></i>  `;
|
||||
megadamageHTML += `<b>${index} |</b> ${entry[1].text} <br/> <br/>`;
|
||||
} else if(index != 0) {
|
||||
// megadamageHTML += `<i class="fa-solid fa-wrench megadamage-button rollable" data-key="${index}"></i>  `;
|
||||
megadamageHTML += `<div class="grey"><i class="far fa-circle megadamage-button rollable grey" data-key="${index}"></i>  `;
|
||||
megadamageHTML += `<b>${index} |</b> ${entry[1].text} <br/> <br/></div>`;
|
||||
}
|
||||
index++;
|
||||
}
|
||||
// } else {
|
||||
|
||||
// megadamageHTML += entries[0][1].text + "<br/> <br/>";
|
||||
// }
|
||||
|
||||
await this.object.update({
|
||||
"data.megadamage.html": megadamageHTML
|
||||
});
|
||||
|
||||
if(actorData.system.page == undefined){
|
||||
actorData.system.page = {};
|
||||
}
|
||||
|
||||
actorData.system.page.megadamageMenuClass = "";
|
||||
|
||||
// if(actorData.system.megadamage.open){
|
||||
// actorData.system.page.megadamageMenuClass = "sbt-megadamage-open"
|
||||
// } else {
|
||||
// actorData.system.page.megadamageMenuClass = "sbt-megadamage-closed"
|
||||
// }
|
||||
|
||||
|
||||
// await this.object.update({
|
||||
// "data.megadamage.hits": []
|
||||
// });
|
||||
}
|
||||
|
||||
|
||||
/** @override */
|
||||
activateListeners(html) {
|
||||
super.activateListeners(html);
|
||||
|
||||
// Everything below here is only needed if the sheet is editable
|
||||
if (!this.options.editable) return;
|
||||
|
||||
|
||||
html.on('mousedown', '.megadamage-button', ev => {
|
||||
const data = this.object;
|
||||
|
||||
const div = $(ev.currentTarget);
|
||||
const targetKey = div.data("key");
|
||||
|
||||
if(data.data.system.megadamage.hits.includes(targetKey)){
|
||||
const index = data.data.system.megadamage.hits.indexOf(targetKey);
|
||||
data.data.system.megadamage.hits.splice(index, 1);
|
||||
} else {
|
||||
data.data.system.megadamage.hits.push(targetKey);
|
||||
}
|
||||
|
||||
this.object.update({
|
||||
"data.megadamage.hits": data.data.system.megadamage.hits
|
||||
});
|
||||
|
||||
this._prepareMegadamage(data);
|
||||
});
|
||||
|
||||
// Create inventory item.
|
||||
html.find('.item-create').click(this._onItemCreate.bind(this));
|
||||
// Delete Inventory Item
|
||||
html.find('.item-delete').click(ev => {
|
||||
const li = $(ev.currentTarget).parents(".item");
|
||||
this.actor.deleteEmbeddedDocuments("Item",[li.data("itemId")]);
|
||||
li.slideUp(200, () => this.render(false));
|
||||
});
|
||||
|
||||
// Update Inventory Item
|
||||
html.find('.item-edit').click(ev => {
|
||||
const li = $(ev.currentTarget).parents(".item");
|
||||
const item = this.actor.getEmbeddedDocument("Item", li.data("itemId"));
|
||||
item.sheet.render(true);
|
||||
|
||||
let amount = item.system.quantity;
|
||||
|
||||
if (item.type == "module") {
|
||||
item.system.totalHull = amount * item.system.hull;
|
||||
}
|
||||
});
|
||||
|
||||
//Quantity adjuster
|
||||
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.system.quantity;
|
||||
|
||||
if (event.button == 0) {
|
||||
item.system.quantity = Number(amount) + 1;
|
||||
} else if (event.button == 2) {
|
||||
item.system.quantity = Number(amount) - 1;
|
||||
}
|
||||
|
||||
if (item.type == "module") {
|
||||
item.system.totalHull = item.system.quantity * item.system.hull;
|
||||
}
|
||||
|
||||
this.actor.updateEmbeddedDocuments('Item', [item]);
|
||||
});
|
||||
|
||||
// Rollable Attributes
|
||||
html.find('.stat-roll').click(ev => {
|
||||
const div = $(ev.currentTarget);
|
||||
const statName = div.data("key");
|
||||
this.actor.rollCheck(null,'low',statName,null,null,null);
|
||||
});
|
||||
|
||||
//Weapons
|
||||
// Add Inventory Item
|
||||
html.find('.weapon-create').click(this._onItemCreate.bind(this));
|
||||
// Update Inventory Item
|
||||
html.find('.weapon-edit').click(ev => {
|
||||
const li = $(ev.currentTarget).parents(".item");
|
||||
const weapon = this.actor.getEmbeddedDocument("Item", li.data("itemId"));
|
||||
weapon.sheet.render(true);
|
||||
});
|
||||
|
||||
// Rollable Weapon - not needed since individual ship weapons are not fired
|
||||
// html.find('.weapon-roll').click(ev => {
|
||||
// const li = ev.currentTarget.closest(".item");
|
||||
// const item = duplicate(this.actor.getEmbeddedDocument("Item", li.dataset.itemId));
|
||||
// this.actor.rollCheck(null,'low','combat',null,null,item);
|
||||
// });
|
||||
|
||||
// Distress Signal
|
||||
html.find('.distress-button').click(ev => {
|
||||
//roll distress signal
|
||||
this.actor.distressSignal();
|
||||
});
|
||||
|
||||
// Maintenance Check
|
||||
html.find('.maintenance-button').click(ev => {
|
||||
//roll maintenance check
|
||||
this.actor.maintenanceCheck();
|
||||
});
|
||||
|
||||
// Bankruptcy Save
|
||||
html.find('.bankruptcy-button').click(ev => {
|
||||
//roll bankruptcy save
|
||||
this.actor.bankruptcySave();
|
||||
});
|
||||
|
||||
// Morale Check
|
||||
html.find('.morale-button').click(ev => {
|
||||
//roll morale check
|
||||
this.actor.moraleCheck();
|
||||
});
|
||||
|
||||
// Deckplan Button
|
||||
html.find('.deckplan-button').click(ev => this._onOpenDeckplan(ev));
|
||||
|
||||
//Macro Menu Button
|
||||
html.find('.macro-menu-button').click(ev => this._onOpenMacros(ev));
|
||||
|
||||
//Testing Setup Menu Button
|
||||
html.find('.setup-menu-button').click(ev => this._onOpenSetup(ev));
|
||||
|
||||
//Megadamage Menu Button
|
||||
html.find('.megadamage-menu-button').click(ev => this._onOpenMegadamage(ev));
|
||||
|
||||
//Megadamage Menu Button
|
||||
// html.find('.megadamage-sidebar-button').click(ev => {
|
||||
// const data = this.object;
|
||||
|
||||
// let sidebarClasses = ""
|
||||
|
||||
// if(data.system.megadamage.open){
|
||||
// sidebarClasses = "sbt-megadamage-open"
|
||||
// } else {
|
||||
// sidebarClasses = "sbt-megadamage-closed"
|
||||
// }
|
||||
|
||||
// this.object.update({
|
||||
// "data.megadamage.open": !data.system.megadamage.open,
|
||||
// "data.sidebar.megadamageClasses" : sidebarClasses
|
||||
// });
|
||||
// });
|
||||
|
||||
|
||||
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.system.ammo;
|
||||
|
||||
if (event.button == 0) {
|
||||
if (amount >= 0) {
|
||||
item.system.ammo = Number(amount) + 1;
|
||||
}
|
||||
} else if (event.button == 2) {
|
||||
if (amount > 0) {
|
||||
item.system.ammo = Number(amount) - 1;
|
||||
}
|
||||
}
|
||||
|
||||
this.actor.updateEmbeddedDocuments('Item', [item]);
|
||||
});
|
||||
|
||||
//Reload Shots
|
||||
html.on('mousedown', '.weapon-reload', ev => {
|
||||
const li = ev.currentTarget.closest(".item");
|
||||
this.actor.reloadWeapon(li.dataset.itemId);
|
||||
});
|
||||
|
||||
// Rollable Item/Anything with a description that we want to click on.
|
||||
html.find('.description-roll').click(ev => {
|
||||
const li = ev.currentTarget.closest(".item");
|
||||
this.actor.printDescription(li.dataset.itemId, {
|
||||
event: ev
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
|
||||
// Drag events for macros.
|
||||
if (this.actor.isOwner) {
|
||||
let handler = ev => this._onDragStart(ev);
|
||||
|
||||
html.find('li.dropitem').each((i, li) => {
|
||||
if (li.classList.contains("inventory-header")) return;
|
||||
li.setAttribute("draggable", true);
|
||||
li.addEventListener("dragstart", handler, false);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
||||
/**
|
||||
* Handle creating a new Owned Item for the actor using initial data defined in the HTML dataset
|
||||
* @param {Event} event The originating click event
|
||||
* @private
|
||||
*/
|
||||
_onItemCreate(event) {
|
||||
event.preventDefault();
|
||||
const header = event.currentTarget;
|
||||
// Get the type of item to create.
|
||||
const type = header.dataset.type;
|
||||
|
||||
const subtype = header.dataset.subtype;
|
||||
|
||||
|
||||
// Grab any data associated with this control.
|
||||
const data = duplicate(header.dataset);
|
||||
// Initialize a default name.
|
||||
const name = `New ${type.capitalize()}`;
|
||||
// Prepare the item object.
|
||||
const itemData = {
|
||||
name: name,
|
||||
type: type,
|
||||
data: data,
|
||||
system : {}
|
||||
};
|
||||
|
||||
if(type == "repair"){
|
||||
itemData.system.major = (header.dataset.subtype == "major");
|
||||
}
|
||||
|
||||
// Remove the type from the dataset since it's in the itemData.type prop.
|
||||
delete itemData.data["type"];
|
||||
|
||||
// Finally, create the item!
|
||||
return this.actor.createEmbeddedDocuments("Item",[itemData]);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Handle clickable rolls.
|
||||
* @param {Event} event The originating click event
|
||||
* @private
|
||||
*/
|
||||
_onRoll(event) {
|
||||
event.preventDefault();
|
||||
const element = event.currentTarget;
|
||||
const dataset = element.dataset;
|
||||
|
||||
if (dataset.roll) {
|
||||
let roll = new Roll(dataset.roll, this.actor.data.data);
|
||||
let label = dataset.label ? `Rolling ${dataset.label} to score under ${dataset.target}` : '';
|
||||
roll.roll().toMessage({
|
||||
speaker: ChatMessage.getSpeaker({ actor: this.actor }),
|
||||
flavor: label
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -3,6 +3,8 @@ import { MothershipActor } from "./actor/actor.js";
|
||||
import { MothershipActorSheet } from "./actor/actor-sheet.js";
|
||||
import { MothershipCreatureSheet } from "./actor/creature-sheet.js";
|
||||
import { MothershipShipSheet } from "./actor/ship-sheet.js";
|
||||
import { MothershipShipSheetSBT } from "./actor/ship-sheet-sbt.js";
|
||||
|
||||
import { MothershipItem } from "./item/item.js";
|
||||
import { MothershipItemSheet } from "./item/item-sheet.js";
|
||||
import {
|
||||
@@ -51,6 +53,12 @@ Hooks.once('init', async function () {
|
||||
types: ['creature'],
|
||||
makeDefault: false
|
||||
});
|
||||
|
||||
Actors.registerSheet("mosh", MothershipShipSheetSBT, {
|
||||
types: ['ship'],
|
||||
makeDefault: true
|
||||
});
|
||||
|
||||
Actors.registerSheet("mosh", MothershipShipSheet, {
|
||||
types: ['ship'],
|
||||
makeDefault: false
|
||||
@@ -834,4 +842,36 @@ async function noCharSelected() {
|
||||
//log what was done
|
||||
console.log(`Told the user that no character was selected.`);
|
||||
});
|
||||
}
|
||||
|
||||
//tell user no ship is selected
|
||||
async function noShipSelected() {
|
||||
//wrap the whole thing in a promise, so that it waits for the form to be interacted with
|
||||
return new Promise(async (resolve) => {
|
||||
//init vars
|
||||
let errorMessage = ``;
|
||||
//create error text based on current settings
|
||||
if (game.settings.get('mosh','macroTarget') === 'character') {
|
||||
errorMessage = `<h3>No Ship Selected</h3>Macro Target is set to the currently selected character. To select a ship, modify your User Configuration in the Players menu located in the lower-left of the interface.<br><br>If you prefer Macros to be run on the currently active token(s) in the scene, you should change your settings accordingly.<br><br>`;
|
||||
} else if (game.settings.get('mosh','macroTarget') === 'token') {
|
||||
errorMessage = `<h3>No Ship Selected</h3>Macro Target is set to the currently selected token(s) in the scene. To select token(s), click or draw a box around token(s) in the current scene.<br><br>If you prefer Macros to be run on the currently selected character for your user, you should change your settings accordingly.<br><br>`;
|
||||
}
|
||||
//create final dialog data
|
||||
const dialogData = {
|
||||
title: `Macro Issue`,
|
||||
content: errorMessage,
|
||||
buttons: {}
|
||||
};
|
||||
//add buttons
|
||||
//Ok
|
||||
dialogData.buttons.cancel = {
|
||||
label: `Ok`,
|
||||
callback: () => { },
|
||||
icon: '<i class="fas fa-check"></i>'
|
||||
};
|
||||
//render dialog
|
||||
const dialog = new Dialog(dialogData).render(true);
|
||||
//log what was done
|
||||
console.log(`Told the user that no character was selected.`);
|
||||
});
|
||||
}
|
||||
@@ -1,3 +1,5 @@
|
||||
import { rolltableConfig } from "./windows/settings-rolltables.js";
|
||||
|
||||
export const registerSettings = function () {
|
||||
|
||||
game.settings.register('mosh', 'firstEdition', {
|
||||
@@ -145,9 +147,9 @@ export const registerSettings = function () {
|
||||
});
|
||||
|
||||
game.settings.register('mosh', 'hideWeight', {
|
||||
name: "Hide Weight",
|
||||
hint: "Hide weight in the items list for players and ships?",
|
||||
default: false,
|
||||
name: "Hide 0e Weight",
|
||||
hint: "Hide the 0e weight mechanic in the items list for players and ships?",
|
||||
default: true,
|
||||
scope: 'world',
|
||||
type: Boolean,
|
||||
config: true,
|
||||
@@ -295,4 +297,151 @@ export const registerSettings = function () {
|
||||
}
|
||||
});
|
||||
|
||||
};
|
||||
game.settings.registerMenu('mosh', 'rolltableSelector', {
|
||||
name: "Rolltable Configuration",
|
||||
label: "Choose Tables",
|
||||
hint: "Customize which rolltables are used.",
|
||||
icon: "fa-solid fa-list",
|
||||
type: rolltableConfig
|
||||
});
|
||||
|
||||
game.settings.register('mosh', 'rolltableSelector', {
|
||||
scope: 'world',
|
||||
config: true,
|
||||
type: Object
|
||||
});
|
||||
|
||||
game.settings.register('mosh', 'table0ePanicStressNormal', {
|
||||
scope: 'world',
|
||||
config: false,
|
||||
type: String,
|
||||
default: "1vCm4ElRPotQXgNB"
|
||||
});
|
||||
|
||||
game.settings.register('mosh', 'table0ePanicStressAndroid', {
|
||||
scope: 'world',
|
||||
config: false,
|
||||
type: String,
|
||||
default: "egJ11m2mJM3HBd6d"
|
||||
});
|
||||
|
||||
game.settings.register('mosh', 'table0ePanicCalmNormal', {
|
||||
scope: 'world',
|
||||
config: false,
|
||||
type: String,
|
||||
default: "kqKpQAXyLTEEyz6Z"
|
||||
});
|
||||
|
||||
game.settings.register('mosh', 'table0ePanicCalmAndroid', {
|
||||
scope: 'world',
|
||||
config: false,
|
||||
type: String,
|
||||
default: "VW6HQ29T7zClNIZ6"
|
||||
});
|
||||
|
||||
game.settings.register('mosh', 'table1ePanicStressNormal', {
|
||||
scope: 'world',
|
||||
config: false,
|
||||
type: String,
|
||||
default: "ypcoikqHLhnc9tNs"
|
||||
});
|
||||
|
||||
game.settings.register('mosh', 'table1ePanicStressAndroid', {
|
||||
scope: 'world',
|
||||
config: false,
|
||||
type: String,
|
||||
default: "aBnY19jlhPXzibCt"
|
||||
});
|
||||
|
||||
game.settings.register('mosh', 'table1ePanicCalmNormal', {
|
||||
scope: 'world',
|
||||
config: false,
|
||||
type: String,
|
||||
default: "MOYI6Ntj5OVFYk06"
|
||||
});
|
||||
|
||||
game.settings.register('mosh', 'table1ePanicCalmAndroid', {
|
||||
scope: 'world',
|
||||
config: false,
|
||||
type: String,
|
||||
default: "GCtYeCCQVQJ5M6SE"
|
||||
});
|
||||
|
||||
game.settings.register('mosh', 'table1eWoundBluntForce', {
|
||||
scope: 'world',
|
||||
config: false,
|
||||
type: String,
|
||||
default: "31YibfjueXuZdNLb"
|
||||
});
|
||||
|
||||
game.settings.register('mosh', 'table1eWoundBleeding', {
|
||||
scope: 'world',
|
||||
config: false,
|
||||
type: String,
|
||||
default: "ata3fRz3uoPfNCLh"
|
||||
});
|
||||
|
||||
game.settings.register('mosh', 'table1eWoundGunshot', {
|
||||
scope: 'world',
|
||||
config: false,
|
||||
type: String,
|
||||
default: "XjDU2xFOWEasaZK0"
|
||||
});
|
||||
|
||||
game.settings.register('mosh', 'table1eWoundFireExplosives', {
|
||||
scope: 'world',
|
||||
config: false,
|
||||
type: String,
|
||||
default: "lqiaWwh5cGcJhvnu"
|
||||
});
|
||||
|
||||
game.settings.register('mosh', 'table1eWoundGoreMassive', {
|
||||
scope: 'world',
|
||||
config: false,
|
||||
type: String,
|
||||
default: "uVfC1CqYdojaJ7yR"
|
||||
});
|
||||
|
||||
game.settings.register('mosh', 'table0eDeath', {
|
||||
scope: 'world',
|
||||
config: false,
|
||||
type: String,
|
||||
default: "cZOHlhEJcYGZsQBM"
|
||||
});
|
||||
|
||||
game.settings.register('mosh', 'table1eDeath', {
|
||||
scope: 'world',
|
||||
config: false,
|
||||
type: String,
|
||||
default: "W36WFIpCfMknKgHy"
|
||||
});
|
||||
|
||||
game.settings.register('mosh', 'table1eDistressSignal', {
|
||||
scope: 'world',
|
||||
config: false,
|
||||
type: String,
|
||||
default: "UxAjAqUTjYTcCbS8"
|
||||
});
|
||||
|
||||
game.settings.register('mosh', 'table1eMegadamageEffects', {
|
||||
scope: 'world',
|
||||
config: false,
|
||||
type: String,
|
||||
default: "AqGWwoWXzijFs427"
|
||||
});
|
||||
|
||||
game.settings.register('mosh', 'table1eMaintenance', {
|
||||
scope: 'world',
|
||||
config: false,
|
||||
type: String,
|
||||
default: "kqz8GsFVPfjvqO0N"
|
||||
});
|
||||
|
||||
game.settings.register('mosh', 'table1eBankruptcy', {
|
||||
scope: 'world',
|
||||
config: false,
|
||||
type: String,
|
||||
default: "BsfdIl7CJNs1PViS"
|
||||
});
|
||||
|
||||
};
|
||||
@@ -0,0 +1,89 @@
|
||||
export class rolltableConfig extends FormApplication {
|
||||
static get defaultOptions() {
|
||||
const options = super.defaultOptions;
|
||||
console.log(options);
|
||||
//options.id = 'sheet-modifiers';
|
||||
//options.classes = ["mosh", "sheet", "actor", "ship"];
|
||||
options.id = 'rolltable-modifiers';
|
||||
options.classes = ["mosh"];
|
||||
options.template = 'systems/mosh/templates/dialogs/settings-rolltableconfig-dialog.html';
|
||||
options.width = 800;
|
||||
options.height = 'auto';
|
||||
options.resizeable = false;
|
||||
options.submitOnChange = true;
|
||||
options.submitOnClose = true;
|
||||
options.closeOnSubmit = false;
|
||||
return options;
|
||||
}
|
||||
|
||||
/**
|
||||
* Construct and return the data object used to render the HTML template for this form application.
|
||||
* @return {Object}
|
||||
*/
|
||||
getData() {
|
||||
const tableSelection = super.getData();
|
||||
tableSelection.table0ePanicStressNormal = game.settings.get("mosh", "table0ePanicStressNormal");
|
||||
tableSelection.table0ePanicStressAndroid = game.settings.get("mosh", "table0ePanicStressAndroid");
|
||||
tableSelection.table0ePanicCalmNormal = game.settings.get("mosh", "table0ePanicCalmNormal");
|
||||
tableSelection.table0ePanicCalmAndroid = game.settings.get("mosh", "table0ePanicCalmAndroid");
|
||||
tableSelection.table1ePanicStressNormal = game.settings.get("mosh", "table1ePanicStressNormal");
|
||||
tableSelection.table1ePanicStressAndroid = game.settings.get("mosh", "table1ePanicStressAndroid");
|
||||
tableSelection.table1ePanicCalmNormal = game.settings.get("mosh", "table1ePanicCalmNormal");
|
||||
tableSelection.table1ePanicCalmAndroid = game.settings.get("mosh", "table1ePanicCalmAndroid");
|
||||
tableSelection.table1eWoundBluntForce = game.settings.get("mosh", "table1eWoundBluntForce");
|
||||
tableSelection.table1eWoundBleeding = game.settings.get("mosh", "table1eWoundBleeding");
|
||||
tableSelection.table1eWoundGunshot = game.settings.get("mosh", "table1eWoundGunshot");
|
||||
tableSelection.table1eWoundFireExplosives = game.settings.get("mosh", "table1eWoundFireExplosives");
|
||||
tableSelection.table1eWoundGoreMassive = game.settings.get("mosh", "table1eWoundGoreMassive");
|
||||
tableSelection.table0eDeath = game.settings.get("mosh", "table0eDeath");
|
||||
tableSelection.table1eDeath = game.settings.get("mosh", "table1eDeath");
|
||||
tableSelection.table1eDistressSignal = game.settings.get("mosh", "table1eDistressSignal");
|
||||
tableSelection.table1eMegadamageEffects = game.settings.get("mosh", "table1eMegadamageEffects");
|
||||
tableSelection.table1eMaintenance = game.settings.get("mosh", "table1eMaintenance");
|
||||
tableSelection.table1eBankruptcy = game.settings.get("mosh", "table1eBankruptcy");
|
||||
|
||||
return tableSelection;
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
|
||||
/** @override */
|
||||
activateListeners(html) {
|
||||
super.activateListeners(html);
|
||||
|
||||
// Close Button
|
||||
html.find('.close-button').click(ev => {
|
||||
this.close()
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* This method is called upon form submission after form data is validated
|
||||
* @param event {Event} The initial triggering submission event
|
||||
* @param formData {Object} The object of validated form data with which to update the object
|
||||
* @private
|
||||
*/
|
||||
async _updateObject(event, formData) {
|
||||
await Promise.all([
|
||||
game.settings.set("mosh", "table0ePanicStressNormal", formData["table0ePanicStressNormal"]),
|
||||
game.settings.set("mosh", "table0ePanicStressAndroid", formData["table0ePanicStressAndroid"]),
|
||||
game.settings.set("mosh", "table0ePanicCalmNormal", formData["table0ePanicCalmNormal"]),
|
||||
game.settings.set("mosh", "table0ePanicCalmAndroid", formData["table0ePanicCalmAndroid"]),
|
||||
game.settings.set("mosh", "table1ePanicStressNormal", formData["table1ePanicStressNormal"]),
|
||||
game.settings.set("mosh", "table1ePanicStressAndroid", formData["table1ePanicStressAndroid"]),
|
||||
game.settings.set("mosh", "table1ePanicCalmNormal", formData["table1ePanicCalmNormal"]),
|
||||
game.settings.set("mosh", "table1ePanicCalmAndroid", formData["table1ePanicCalmAndroid"]),
|
||||
game.settings.set("mosh", "table1eWoundBluntForce", formData["table1eWoundBluntForce"]),
|
||||
game.settings.set("mosh", "table1eWoundBleeding", formData["table1eWoundBleeding"]),
|
||||
game.settings.set("mosh", "table1eWoundGunshot", formData["table1eWoundGunshot"]),
|
||||
game.settings.set("mosh", "table1eWoundFireExplosives", formData["table1eWoundFireExplosives"]),
|
||||
game.settings.set("mosh", "table1eWoundGoreMassive", formData["table1eWoundGoreMassive"]),
|
||||
game.settings.set("mosh", "table0eDeath", formData["table0eDeath"]),
|
||||
game.settings.set("mosh", "table1eDeath", formData["table1eDeath"]),
|
||||
game.settings.set("mosh", "table1eDistressSignal", formData["table1eDistressSignal"]),
|
||||
game.settings.set("mosh", "table1eMegadamageEffects", formData["table1eMegadamageEffects"]),
|
||||
game.settings.set("mosh", "table1eMaintenance", formData["table1eMaintenance"]),
|
||||
game.settings.set("mosh", "table1eBankruptcy", formData["table1eBankruptcy"])
|
||||
]);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
export class DLShipDeckplan extends ActorSheet {
|
||||
static get defaultOptions() {
|
||||
const options = super.defaultOptions;
|
||||
options.id = 'sheet-modifiers';
|
||||
options.classes = ["mosh", "sheet", "actor", "ship"];
|
||||
options.template = 'systems/mosh/templates/dialogs/ship-deckplan-dialog.html';
|
||||
options.width = 800;
|
||||
options.height = 'auto';
|
||||
options.resizeable = true;
|
||||
return options;
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
/**
|
||||
* Add the Entity name into the window title
|
||||
* @type {String}
|
||||
*/
|
||||
get title() {
|
||||
return `${this.object.name}: Deckplan`;
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
|
||||
/**
|
||||
* Construct and return the data object used to render the HTML template for this form application.
|
||||
* @return {Object}
|
||||
*/
|
||||
getData() {
|
||||
const actor = this.object;
|
||||
console.log(this.object);
|
||||
|
||||
return {
|
||||
actor
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
||||
|
||||
|
||||
|
||||
/** @override */
|
||||
activateListeners(html) {
|
||||
super.activateListeners(html);
|
||||
}
|
||||
|
||||
/**
|
||||
* This method is called upon form submission after form data is validated
|
||||
* @param event {Event} The initial triggering submission event
|
||||
* @param formData {Object} The object of validated form data with which to update the object
|
||||
* @private
|
||||
*/
|
||||
async _updateObject(event, formData) {
|
||||
// console.log(this.object.system);
|
||||
// console.log(formData);
|
||||
// console.log(formData['actor.system.images.layout']);
|
||||
|
||||
// Loyalty
|
||||
// await this.object.update({
|
||||
// "system.images.layout": formData['actor.system.images.layout']
|
||||
// });
|
||||
|
||||
// await this.object.updateEmbeddedEntity("OwnedItem", update);
|
||||
|
||||
this.object.update({
|
||||
formData
|
||||
});
|
||||
this.object.sheet.render(true);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,110 @@
|
||||
import { DLShipDeckplan } from "../windows/ship-deckplan.js";
|
||||
|
||||
|
||||
export class DLShipMacros extends BaseSheet {
|
||||
static get defaultOptions() {
|
||||
const options = super.defaultOptions;
|
||||
options.id = 'sheet-modifiers';
|
||||
options.classes = ["mosh", "sheet", "actor", "ship"];
|
||||
options.template = 'systems/mosh/templates/dialogs/ship-macro-dialog.html';
|
||||
options.width = 320;
|
||||
options.height = 'auto';
|
||||
options.resizeable = false;
|
||||
return options;
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
/**
|
||||
* Add the Entity name into the window title
|
||||
* @type {String}
|
||||
*/
|
||||
get title() {
|
||||
return `${this.object.name}: Ship Macros`;
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
|
||||
_onOpenDeckplan(event) {
|
||||
event.preventDefault();
|
||||
new DLShipDeckplan(this.object, {
|
||||
top: this.position.top + 40,
|
||||
left: this.position.left + (this.position.width - 400) / 2
|
||||
}).render(true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Construct and return the data object used to render the HTML template for this form application.
|
||||
* @return {Object}
|
||||
*/
|
||||
getData() {
|
||||
const actor = this.object;
|
||||
|
||||
return {
|
||||
actor
|
||||
};
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
|
||||
/** @override */
|
||||
activateListeners(html) {
|
||||
super.activateListeners(html);
|
||||
|
||||
// Distress Signal
|
||||
html.find('.distress-button').click(ev => {
|
||||
//roll distress signal
|
||||
this.object.distressSignal();
|
||||
});
|
||||
|
||||
// Maintenance Check
|
||||
html.find('.maintenance-button').click(ev => {
|
||||
//roll maintenance check
|
||||
this.object.maintenanceCheck();
|
||||
});
|
||||
|
||||
// Bankruptcy Save
|
||||
html.find('.bankruptcy-button').click(ev => {
|
||||
//roll bankruptcy save
|
||||
this.object.bankruptcySave();
|
||||
});
|
||||
|
||||
// Morale Check
|
||||
html.find('.morale-button').click(ev => {
|
||||
//roll morale check
|
||||
this.object.moraleCheck();
|
||||
});
|
||||
|
||||
// Deckplan Button
|
||||
html.find('.deckplan-button').click(ev => this._onOpenDeckplan(ev));
|
||||
|
||||
// Close Button
|
||||
html.find('.close-button').click(ev => this.close());
|
||||
}
|
||||
|
||||
/**
|
||||
* This method is called upon form submission after form data is validated
|
||||
* @param event {Event} The initial triggering submission event
|
||||
* @param formData {Object} The object of validated form data with which to update the object
|
||||
* @private
|
||||
*/
|
||||
async _updateObject(event, formData) {
|
||||
|
||||
// await this.object.update({
|
||||
// "data.stats.loyalty.enabled": true
|
||||
// });
|
||||
|
||||
await this.object.update({
|
||||
"data.stats.bankruptcy.value": formData['actor.system.stats.bankruptcy.value']
|
||||
});
|
||||
|
||||
// await this.object.updateEmbeddedEntity("OwnedItem", update);
|
||||
|
||||
// await this.object.update({
|
||||
// formData
|
||||
// });
|
||||
|
||||
// console.log(this);
|
||||
|
||||
// await this.object.sheet.render(true, {focus: false});
|
||||
// this.bringToTop();
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,140 @@
|
||||
export class DLShipMegaDamage extends FormApplication {
|
||||
static get defaultOptions() {
|
||||
const options = super.defaultOptions;
|
||||
options.id = 'sheet-modifiers';
|
||||
options.classes = ["mosh", "sheet", "actor", "ship"];
|
||||
options.template = 'systems/mosh/templates/dialogs/ship-megadamage-dialog.html';
|
||||
options.width = 320;
|
||||
options.height = 'auto';
|
||||
options.resizeable = false;
|
||||
return options;
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
/**
|
||||
* Add the Entity name into the window title
|
||||
* @type {String}
|
||||
*/
|
||||
get title() {
|
||||
return `${this.object.name}: Megadamage Effects`;
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
/**
|
||||
* Construct and return the data object used to render the HTML template for this form application.
|
||||
* @return {Object}
|
||||
*/
|
||||
getData() {
|
||||
const data = super.getData();
|
||||
const actor = this.object;
|
||||
|
||||
|
||||
this._prepareMegadamage(data);
|
||||
|
||||
|
||||
return {
|
||||
actor
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
async _prepareMegadamage(sheetData){
|
||||
const actorData = sheetData.object;
|
||||
|
||||
//A script to return the data from a table.
|
||||
let tableId = game.settings.get('mosh','table1eMegadamageEffects');
|
||||
let currentLocation = '';
|
||||
let tableLocation = '';
|
||||
//find where this table is located
|
||||
//get current compendium
|
||||
let compendium = game.packs;
|
||||
//loop through each compendium
|
||||
compendium.forEach(function(pack){
|
||||
//is this a pack of rolltables?
|
||||
if (pack.metadata.type === 'RollTable') {
|
||||
//log where we are
|
||||
currentLocation = pack.metadata.id;
|
||||
//loop through each pack to find the right table
|
||||
pack.index.forEach(function(table) {
|
||||
//is this our table?
|
||||
if (table._id === tableId) {
|
||||
//grab the table location
|
||||
tableLocation = currentLocation;
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
//get table data
|
||||
let tableData = await game.packs.get(tableLocation).getDocument(tableId);
|
||||
|
||||
let entries = Array.from(tableData.results.entries());
|
||||
|
||||
// MEGADAMAGE SETTINGS MENU
|
||||
let megadamageSettingsHTML = "";
|
||||
let index = 0;
|
||||
for(const entry of entries){
|
||||
if(index != 0){
|
||||
if (actorData.system.megadamage.hits.includes(index)){
|
||||
megadamageSettingsHTML += `<i class="fas fa-circle megadamage-button rollable" data-key="${index}"></i>  `;
|
||||
}
|
||||
else{
|
||||
megadamageSettingsHTML += `<i class="far fa-circle megadamage-button rollable" data-key="${index}"></i>  `;
|
||||
}
|
||||
|
||||
megadamageSettingsHTML += `<b>${index} |</b> ${entry[1].text} <br/> <br/>`;
|
||||
}
|
||||
index++;
|
||||
}
|
||||
|
||||
actorData.system.megadamage.menu.html = megadamageSettingsHTML;
|
||||
|
||||
// await this.object.update({
|
||||
// "data.megadamage.menu.html": megadamageSettingsHTML
|
||||
// });
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
||||
/** @override */
|
||||
activateListeners(html) {
|
||||
super.activateListeners(html);
|
||||
|
||||
html.on('mousedown', '.megadamage-button', ev => {
|
||||
const data = this.object;
|
||||
|
||||
const div = $(ev.currentTarget);
|
||||
const targetKey = div.data("key");
|
||||
|
||||
if(data.system.megadamage.hits.includes(targetKey)){
|
||||
const index = data.system.megadamage.hits.indexOf(targetKey);
|
||||
data.system.megadamage.hits.splice(index, 1);
|
||||
} else {
|
||||
data.system.megadamage.hits.push(targetKey);
|
||||
}
|
||||
|
||||
this.object.update({
|
||||
"data.megadamage.hits": data.system.megadamage.hits
|
||||
});
|
||||
|
||||
this.render(true, {focus: true});
|
||||
});
|
||||
|
||||
// Close Button
|
||||
html.find('.close-button').click(ev => this.close());
|
||||
}
|
||||
|
||||
/**
|
||||
* This method is called upon form submission after form data is validated
|
||||
* @param event {Event} The initial triggering submission event
|
||||
* @param formData {Object} The object of validated form data with which to update the object
|
||||
* @private
|
||||
*/
|
||||
async _updateObject(event, formData) {
|
||||
|
||||
// this.object.update({
|
||||
// formData
|
||||
// });
|
||||
|
||||
//await this.object.sheet.render(true, {focus: false});
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,73 @@
|
||||
export class DLShipSetup extends FormApplication {
|
||||
static get defaultOptions() {
|
||||
const options = super.defaultOptions;
|
||||
options.id = 'sheet-modifiers';
|
||||
options.classes = ["mosh", "sheet", "actor", "ship"];
|
||||
options.template = 'systems/mosh/templates/dialogs/ship-setup-dialog.html';
|
||||
options.width = 320;
|
||||
options.height = 'auto';
|
||||
options.resizeable = false;
|
||||
return options;
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
/**
|
||||
* Add the Entity name into the window title
|
||||
* @type {String}
|
||||
*/
|
||||
get title() {
|
||||
return `${this.object.name}: Ship Setup`;
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
/**
|
||||
* Construct and return the data object used to render the HTML template for this form application.
|
||||
* @return {Object}
|
||||
*/
|
||||
getData() {
|
||||
const actor = this.object;
|
||||
console.log(this);
|
||||
|
||||
return {
|
||||
actor
|
||||
};
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
|
||||
/** @override */
|
||||
activateListeners(html) {
|
||||
super.activateListeners(html);
|
||||
|
||||
// Starting Conditions
|
||||
html.find('.conditions-button').click(ev => {
|
||||
//roll starting conditions
|
||||
this.object.rollTable('kqz8GsFVPfjvqO0N','1d5+1','low',true,false,null,null);
|
||||
});
|
||||
|
||||
// Close Button
|
||||
html.find('.close-button').click(ev => this.close());
|
||||
}
|
||||
|
||||
/**
|
||||
* This method is called upon form submission after form data is validated
|
||||
* @param event {Event} The initial triggering submission event
|
||||
* @param formData {Object} The object of validated form data with which to update the object
|
||||
* @private
|
||||
*/
|
||||
async _updateObject(event, formData) {
|
||||
|
||||
console.log("Updating Object");
|
||||
|
||||
await this.object.update({
|
||||
"name": formData['actor.name']
|
||||
});
|
||||
|
||||
|
||||
this.object.update({
|
||||
formData
|
||||
});
|
||||
console.log(this);
|
||||
|
||||
await this.object.sheet.render(true, {focus: false});
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
2023/12/07-11:20:51.932 25f8 Delete type=3 #1
|
||||
2023/12/07-11:21:09.696 2b64 Level-0 table #5: started
|
||||
2023/12/07-11:21:09.698 2b64 Level-0 table #5: 8479 bytes OK
|
||||
2023/12/07-11:21:09.699 2b64 Delete type=0 #3
|
||||
2023/12/07-11:21:09.704 2b64 Manual compaction at level-0 from '!items!1r6ruvSdxn2bHHIk' @ 72057594037927935 : 1 .. '!items!zbKI2RCl5h3vowoy' @ 0 : 0; will stop at (end)
|
||||
2024/05/24-23:57:05.532 1068 Delete type=3 #1
|
||||
2024/05/24-23:57:30.906 3f44 Level-0 table #5: started
|
||||
2024/05/24-23:57:30.915 3f44 Level-0 table #5: 8479 bytes OK
|
||||
2024/05/24-23:57:30.921 3f44 Delete type=0 #3
|
||||
2024/05/24-23:57:30.945 3f44 Manual compaction at level-0 from '!items!1r6ruvSdxn2bHHIk' @ 72057594037927935 : 1 .. '!items!zbKI2RCl5h3vowoy' @ 0 : 0; will stop at (end)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
2023/12/07-11:20:51.832 25f8 Delete type=3 #1
|
||||
2023/12/07-11:21:09.665 2b64 Level-0 table #5: started
|
||||
2023/12/07-11:21:09.669 2b64 Level-0 table #5: 14495 bytes OK
|
||||
2023/12/07-11:21:09.671 2b64 Delete type=0 #3
|
||||
2023/12/07-11:21:09.671 2b64 Manual compaction at level-0 from '!items!0ZAwhewvLBwX3opf' @ 72057594037927935 : 1 .. '!items!z0avrplKe6M0RcXk' @ 0 : 0; will stop at (end)
|
||||
2024/05/24-23:57:05.353 23c8 Delete type=3 #1
|
||||
2024/05/24-23:57:30.842 3f44 Level-0 table #5: started
|
||||
2024/05/24-23:57:30.850 3f44 Level-0 table #5: 14495 bytes OK
|
||||
2024/05/24-23:57:30.854 3f44 Delete type=0 #3
|
||||
2024/05/24-23:57:30.854 3f44 Manual compaction at level-0 from '!items!0ZAwhewvLBwX3opf' @ 72057594037927935 : 1 .. '!items!z0avrplKe6M0RcXk' @ 0 : 0; will stop at (end)
|
||||
|
||||
@@ -0,0 +1,100 @@
|
||||
{"_id":"ciAkQXkxSXTG8MV1","name":"Rancid smell permeates cabins.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"pLleYaFjcIuAm4Pp","name":"Huge mess everywhere.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"dReCCsfiV7it4lsm","name":"Staticky comms.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"4JRD71mvWNtFUDL7","name":"Faulty electrical system.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"59cXdcrZlmjUcJpV","name":"Loose couplings.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"CLvIvoNryBARtU7T","name":"Hidden (highly illegal) contraband.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"vip6FxWcX4ReJD3b","name":"Autopilot systems down.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"AQt9nXy6S0Ev50r7","name":"Leaking hydraulic systems.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"QUyfvbFhCqb9d7Lu","name":"Creaking hull.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"SW5kVSjiFbBxIeiu","name":"Damaged bulkheads.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"wNm669fzbdZGwr0g","name":"Misaligned docking clamps.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"3l0LUZpjizvZmHWs","name":"Viewports blocked.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"c8SXxPHMsG7uycas","name":"Jammed exterior airlocks.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"9kS8VjGuSMpghdCk","name":"Dysfunctional gravity plating.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"Low2X1z7m1iB3rkA","name":"Out of code compliance.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"BicB3xA1h978ZevJ","name":"Controls sticking.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"C9dQYp7gcjtq5QRz","name":"Coolant leak.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"1HNvL7XEUcMQbLps","name":"Miscalibrated Thruster Gimbal System.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"xa9MPzfrPglkSJjg","name":"Bevvy of OSHA violations.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"ZbAFemnvHB1YTHBK","name":"Blocked air vents.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"wjyAZnOOafvv4xzB","name":"Emergency lighting only.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"l1OGQ0IXZHjnO4Ys","name":"Internal networking issues.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"vleMoz5bbkZ5w28o","name":"Inaccurate data collection.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"T4wAR08WyT3g9C6D","name":"Oxygen leak. If ship is low on O2, lose 1d5 extra per day.<br><br>@UUID[Compendium.mosh.macros_triggered_1e.u7TchSo3qutnzaKF]{-1d5 Oxygen}","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":true,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"fbrN7sbgPjIwkk7I","name":"Throttled Afterburners. -2d10 Thrusters.<br><br>@UUID[Compendium.mosh.macros_triggered_1e.jmOh8n2ps0YIeBC0]{-2d10 Thrusters}","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":true,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"7GqbGIOzA9vYOPiI","name":"Lemon. Maintenance Checks at [-].<br><br>@UUID[Compendium.mosh.macros_triggered_1e.C04VbNoj8LgfY8QK]{Maintenance Check [-]}","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":true,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"dgisAPnBbrIOiisk","name":"Slow acceleration. +1 Week to travel.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":true,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"d94uF9rpmeP60Kl4","name":"Inaccurate navigation.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":true,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"3Ptitg8HBZfl2CXN","name":"Miscalibrated Targeting Sensors. -1d10 Battle.<br><br>@UUID[Compendium.mosh.macros_triggered_1e.X3cL9eS2HOPxhLH5]{-1d10 Battle}","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":true,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"mK1Acfk5NAgs1MHC","name":"Faulty Cryopods. Nightmares. Cryosickness lasts an additional week.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":true,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"IR1sWnYXniMg9TdP","name":"Malfunctioning escape pods.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":true,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"FIqSHePAeLJywerx","name":"Unable to send distress signals.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":true,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"4kmMuAbW1jnfVMYP","name":"Sabotaged coolant system.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":true,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"ALplRgZtneMRdloo","name":"Death trap. [-] on all rolls.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":true,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"2pxf4O2NrLdwYRtO","name":"Worn landing struts.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"64AQJ3zQDOb7NOR1","name":"Out-of-date air filters.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"PKBXKvgWZwafKWJ3","name":"Corroded pipes.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"NgKPVhRkD8Gteo5Z","name":"Innaccurate orbital transfer navigation.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"5d220ZzrEV3qx6Fy","name":"Worn out fuel injection nozzles.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"IGx8nQrwfz07r6TR","name":"Inoperative exterior lighting system.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"pW1FUDxp2N0M0D1y","name":"Defective intercom system.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"UPAxtEOrSF3Il4uA","name":"Inadequate waste recycling.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"m04JdXL1xGQOkDyp","name":"Faulty altitude control thrusters.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"OWkfB73RTSLDMlsU","name":"Insufficient Life Support redundancy.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"hNJYqetiMKUlZzYH","name":"Delayed communication relays.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"rlW0LUlsK7vDGZEh","name":"Damaged fuel lines.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"IDiwAbD8DTbec7S1","name":"Corroded exhaust manifolds.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"EteEoBrlnzcySppN","name":"Terminal displays non-functional.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"guvCGNRa75AB2Avg","name":"Check engine light won’t turn off.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"cbXMdd4ugxSOT5TU","name":"Failed backup systems.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"kftgvuQoefQ7pl28","name":"Faulty door locks.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"Odpb5coSTST7kCkc","name":"Buggy communications.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"vMRVXZxu6ozj0iw2","name":"Infected food storage facilities.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"4Lqg0lqjjTlNlr0j","name":"Corrupted data banks.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"Ka8elMGKtcakUIxx","name":"Jammed cargo bay doors.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"TAerNMqv19pANCxq","name":"Flickering interior lights.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"vv1VykTwiQmgEj6N","name":"Failed airlock seals.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"GW1KGmYdxYYf4ZWT","name":"Fuel Leak. Burn +1 Fuel everytime you spend fuel.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":true,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"FLaPtHcegheN7wHw","name":"Jump Bug. 10% chance Jump takes 2d10 months, not 2d10 days.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":true,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"g9Z7He5zPHNrxYe1","name":"Fragile. Always take +1 MDMG.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":true,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"IiPryFS9MOGZXeuG","name":"Cracked heat shields.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":true,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"FmPqHYH3UoGpaWYL","name":"Outdated software. -1d10 Systems.<br><br>@UUID[Compendium.mosh.macros_triggered_1e.oDftFxRKkCQRNY2O]{-1d10 Systems}","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":true,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"NLwybTzXJ1bndki3","name":"Inadequate Water Filtration. Parasites in the water supply.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":true,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"oySXnFIbRW0WRoeF","name":"Malfunctioning waste management system.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":true,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"RiHvRQ9nZDygwvvB","name":"Fusion Reactors overheating.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":true,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"wCYGQrI9qonhWy8F","name":"Failed radiation filter.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":true,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"5J4r3yw4xDj890yZ","name":"Radiation leak. Entire ship is at Radiation Level 2.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":true,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"XmIcQgho4un7hYki","name":"Miscalibrated guidance system.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"KhlrUaPjVIoyhnaL","name":"Overloaded power storage.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"LRumIQdUBzD0Jc0X","name":"Malfunctioning sensor arrays.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"e144cIdUEyTJgN1G","name":"Failed Water Recovery System.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"b2b3j5JtanbyWlNd","name":"Micrometoroid hull damage.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"5OBjTojgrp5N9mEw","name":"Faulty Carbon Dioxide Removal Assembly.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"8s1eBY5bEcQQTCz0","name":"Solar panel degradation.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"5UiJy739gvGHkRYp","name":"Computer failure from cosmic radiation.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"yJY9CzP1KA15aMqV","name":"Overloaded circuitry.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"nHac0gkEcCNew7RX","name":"Malfunctioning plasma thruster.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"DYHuVA4CQlmK2MJy","name":"Thermal management system failure.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"QIcoFYoC0hxW84qD","name":"Intermittent electrical outages.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"AuTERG3m7ECQKrKs","name":"Fire suppression system out of code.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"1iOSKp82goZGJZch","name":"Damaged floor pannelling.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"ZBUtxiX72udqLzIk","name":"Broken light fixture in remote corridor.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"iwFmPpAth3VbRRL8","name":"Damaged coolant pump.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"Eo0l4WMxcS62GCMP","name":"Cracked viewports.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"miRqXNzkW0biml1I","name":"Systems overloaded with malware.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"cOLcJ3Dnecbe6ZIU","name":"Leaky fuel valve.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"zRzb3Laiuw4ac6p0","name":"Jammed exhaust vent.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"EZzGAO6DneH1qmQM","name":"Stuck waste disposal chute.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"Tp6k1gPwhQmT6hCo","name":"Lifts non-functioning.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"2Ht7fg78511Hd49u","name":"Damaged communications antenna.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":false,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"XLEhMV9SnSfeEE7E","name":"Clogged Air Filtration. Crew capacity cut in half.<br><br>@UUID[Compendium.mosh.macros_triggered_1e.DUuRY7kHKd7n5luv]{-50% Crew Capacity}","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":true,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"Z8raruNDvfNASFQi","name":"Malfunctioning climate control. 85º at all times.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":true,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"3rulbOVhyRlTizT0","name":"No emergency power.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":true,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"ulWxa2UtTOQihTyz","name":"Weak Frame. -1 Hull, -1 Upgrade.<br><br>@UUID[Compendium.mosh.macros_triggered_1e.uPY19Y49bGCLGK3N]{-1 Hull}<br><br>@UUID[Compendium.mosh.macros_triggered_1e.06NSvDYTtmkeUtLq]{-1 Upgrade}","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":true,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"EnogUslNNusSfVFy","name":"Toxic chemical spill.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":true,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"ElXLL32uNYiPmE4G","name":"Poor scanners. Ship has to be one range band closer than normal.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":true,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"b081FxEAclRKji3q","name":"Counterfit papers. Ship is stolen. There is a bounty on it.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":true,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"zHsnShUX37Zvyi2O","name":"Corrupted A.I.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":true,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"58KhhfMQ9p0XJZHc","name":"Warp Cores fail 10% of the time.","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":true,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"60QSsxrVOt83OU9p","name":"Rust bucket. Everything that can go wrong, does. +1 Minimum Stress to crew.<br><br>@UUID[Compendium.mosh.macros_triggered_1e.BmEHWH7YxV9qb21p]{+1 Minimum Stress}","type":"repair","img":"systems/mosh/images/icons/ui/rolltables/maintenance_issues.png","system":{"description":"<p>Maintenance Issue</p>","major":true,"quantity":1},"effects":[],"flags":{},"folder":null,"sort":0,"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
@@ -0,0 +1 @@
|
||||
MANIFEST-000002
|
||||
@@ -0,0 +1,5 @@
|
||||
2024/05/24-23:57:05.390 fc8 Delete type=3 #1
|
||||
2024/05/24-23:57:30.866 3f44 Level-0 table #5: started
|
||||
2024/05/24-23:57:30.875 3f44 Level-0 table #5: 13469 bytes OK
|
||||
2024/05/24-23:57:30.877 3f44 Delete type=0 #3
|
||||
2024/05/24-23:57:30.894 3f44 Manual compaction at level-0 from '!items!1HNvL7XEUcMQbLps' @ 72057594037927935 : 1 .. '!items!zRzb3Laiuw4ac6p0' @ 0 : 0; will stop at (end)
|
||||
@@ -1,4 +1,4 @@
|
||||
{"_id":"2xRvRAixuocjCm40","name":"Death Save","type":"script","scope":"global","img":"systems/mosh/images/icons/ui/rolltables/death_save.png","command":"//init vars\nlet macroTarget = game.settings.get('mosh','macroTarget');\n//warn user if character is not selected\nif ((macroTarget === 'character' && !game.user.character) || (macroTarget === 'token' && !canvas.tokens.controlled.length)) {\n //warn player\n game.mosh.noCharSelected();\n//else pop up the dialog\n} else {\n //pop up the death save dialog box\n new Dialog({\n title: `Death Save`,\n content: `\n <style>\n .macro_window{\n background: rgb(230,230,230);\n border-radius: 9px;\n }\n .macro_img{\n display: flex;\n justify-content: center;\n }\n .macro_desc{\n font-family: \"Roboto\", sans-serif;\n font-size: 10.5pt;\n font-weight: 400;\n padding-top: 8px;\n padding-right: 8px;\n padding-bottom: 8px;\n }\n .grid-2col {\n display: grid;\n grid-column: span 2 / span 2;\n grid-template-columns: repeat(2, minmax(0, 1fr));\n gap: 2px;\n padding: 0;\n }\n </style>\n <div class =\"macro_window\" style=\"margin-bottom : 7px;\">\n <div class=\"grid grid-2col\" style=\"grid-template-columns: 150px auto\">\n <div class=\"macro_img\"><img src=\"systems/mosh/images/icons/ui/rolltables/death_save.png\" style=\"border:none\"/></div>\n <div class=\"macro_desc\"><h3>Death Save</h3><strong>Whenever you reach 0 Health, make a Body Save: Failure means you die.</strong> Success means you fall unconscious, make a <strong>Death Save</strong> to find out when you regain consciousness. Crew members with a medscanner, relevant skills like First Aid or Biology, or scientists and androids who pass an <strong>Intellect Check</strong> can determine your condition.</div> \n </div>\n </div>\n <h4>Select your roll type:</h4>\n `,\n buttons: {\n button1: {\n label: `Advantage`,\n callback: () => game.mosh.initRollTable(`cZOHlhEJcYGZsQBM`,`1d10 [+]`,`high`,false,false,null,null),\n icon: `<i class=\"fas fa-angle-double-up\"></i>`\n },\n button2: {\n label: `Normal`,\n callback: () => game.mosh.initRollTable(`cZOHlhEJcYGZsQBM`,`1d10`,`high`,false,false,null,null),\n icon: `<i class=\"fas fa-minus\"></i>`\n },\n button3: {\n label: `Disadvantage`,\n callback: () => game.mosh.initRollTable(`cZOHlhEJcYGZsQBM`,`1d10 [-]`,`high`,false,false,null,null),\n icon: `<i class=\"fas fa-angle-double-down\"></i>`\n }\n }\n },{width: 600,height: 265}).render(true);\n}","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"2xRvRAixuocjCm40","name":"Death Save","type":"script","scope":"global","img":"systems/mosh/images/icons/ui/rolltables/death_save.png","command":"//init vars\nlet macroTarget = game.settings.get('mosh','macroTarget');\n//warn user if character is not selected\nif ((macroTarget === 'character' && !game.user.character) || (macroTarget === 'token' && !canvas.tokens.controlled.length)) {\n //warn player\n game.mosh.noCharSelected();\n//else pop up the dialog\n} else {\n //pop up the death save dialog box\n new Dialog({\n title: `Death Save`,\n content: `\n <style>\n .macro_window{\n background: rgb(230,230,230);\n border-radius: 9px;\n }\n .macro_img{\n display: flex;\n justify-content: center;\n }\n .macro_desc{\n font-family: \"Roboto\", sans-serif;\n font-size: 10.5pt;\n font-weight: 400;\n padding-top: 8px;\n padding-right: 8px;\n padding-bottom: 8px;\n }\n .grid-2col {\n display: grid;\n grid-column: span 2 / span 2;\n grid-template-columns: repeat(2, minmax(0, 1fr));\n gap: 2px;\n padding: 0;\n }\n </style>\n <div class =\"macro_window\" style=\"margin-bottom : 7px;\">\n <div class=\"grid grid-2col\" style=\"grid-template-columns: 150px auto\">\n <div class=\"macro_img\"><img src=\"systems/mosh/images/icons/ui/rolltables/death_save.png\" style=\"border:none\"/></div>\n <div class=\"macro_desc\"><h3>Death Save</h3><strong>Whenever you reach 0 Health, make a Body Save: Failure means you die.</strong> Success means you fall unconscious, make a <strong>Death Save</strong> to find out when you regain consciousness. Crew members with a medscanner, relevant skills like First Aid or Biology, or scientists and androids who pass an <strong>Intellect Check</strong> can determine your condition.</div> \n </div>\n </div>\n <h4>Select your roll type:</h4>\n `,\n buttons: {\n button1: {\n label: `Advantage`,\n callback: () => game.mosh.initRollTable(game.settings.get('mosh','table0eDeath'),`1d10 [+]`,`high`,false,false,null,null),\n icon: `<i class=\"fas fa-angle-double-up\"></i>`\n },\n button2: {\n label: `Normal`,\n callback: () => game.mosh.initRollTable(game.settings.get('mosh','table0eDeath'),`1d10`,`high`,false,false,null,null),\n icon: `<i class=\"fas fa-minus\"></i>`\n },\n button3: {\n label: `Disadvantage`,\n callback: () => game.mosh.initRollTable(game.settings.get('mosh','table0eDeath'),`1d10 [-]`,`high`,false,false,null,null),\n icon: `<i class=\"fas fa-angle-double-down\"></i>`\n }\n }\n },{width: 600,height: 265}).render(true);\n}","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"9Bq5LYoToO1sjCn3","name":"Gain Calm","type":"script","scope":"global","img":"systems/mosh/images/icons/ui/macros/relieve_stress.png","command":"//init vars\nlet macroTarget = game.settings.get('mosh','macroTarget');\n//warn user if character is not selected\nif ((macroTarget === 'character' && !game.user.character) || (macroTarget === 'token' && !canvas.tokens.controlled.length)) {\n //warn player\n game.mosh.noCharSelected();\n//else pop up the dialog\n} else {\n new Dialog({\n title: `Gain Calm`,\n content: `\n <style>\n .macro_window{\n background: rgb(230,230,230);\n border-radius: 9px;\n }\n .macro_img{\n display: flex;\n justify-content: center;\n }\n .macro_desc{\n font-family: \"Roboto\", sans-serif;\n font-size: 10.5pt;\n font-weight: 400;\n padding-top: 8px;\n padding-right: 8px;\n padding-bottom: 8px;\n }\n .grid-2col {\n display: grid;\n grid-column: span 2 / span 2;\n grid-template-columns: repeat(2, minmax(0, 1fr));\n gap: 2px;\n padding: 0;\n }\n </style>\n \n <div class =\"macro_window\" style=\"margin-bottom : 7px;\">\n <div class=\"grid grid-2col\" style=\"grid-template-columns: 150px auto\">\n <div class=\"macro_img\"><img src=\"systems/mosh/images/icons/ui/macros/relieve_stress.png\" style=\"border:none\"/></div>\n <div class=\"macro_desc\"><h3>Gain Calm</h3>Occasionally, certain moments, places, or events can automatically <strong>calm you down.</strong> Escaping perilous situations, finding a serene location, or experiencing a touching moment with a loved one can have meaningful impacts on your mood and outlook on life. If your Calm is getting close to 0, you should consider making a <strong>Rest Save</strong> - as the effects of a failed <strong>Panic Check</strong> can be devastating.</div> \n </div>\n </div>\n <h4>Select your modification:</h4>\n `,\n buttons: {\n button1: {\n label: `Gain 5 Calm`,\n callback: () => game.mosh.initModifyActor('system.other.stress.value',5,null,true),\n icon: `<i class=\"fas fa-angle-up\"></i>`\n },\n button2: {\n label: `Gain 10 Calm`,\n callback: () => game.mosh.initModifyActor('system.other.stress.value',10,null,true),\n icon: `<i class=\"fas fa-angle-double-up\"></i>`\n },\n button3: {\n label: `Gain 1d20 Calm`,\n callback: () => game.mosh.initModifyActor('system.other.stress.value',null,`1d20`,true),\n icon: `<i class=\"fas fa-arrow-circle-up\"></i>`\n }\n }\n },{width: 600,height: 265}).render(true);\n}","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"ilBclUmPwcd7aNQK","name":"Gain Stress","type":"script","scope":"global","img":"systems/mosh/images/icons/ui/macros/gain_stress.png","command":"//init vars\nlet macroTarget = game.settings.get('mosh','macroTarget');\n//warn user if character is not selected\nif ((macroTarget === 'character' && !game.user.character) || (macroTarget === 'token' && !canvas.tokens.controlled.length)) {\n //warn player\n game.mosh.noCharSelected();\n//else pop up the dialog\n} else {\n new Dialog({\n title: `Gain Stress`,\n content: `\n <style>\n .macro_window{\n background: rgb(230,230,230);\n border-radius: 9px;\n }\n .macro_img{\n display: flex;\n justify-content: center;\n }\n .macro_desc{\n font-family: \"Roboto\", sans-serif;\n font-size: 10.5pt;\n font-weight: 400;\n padding-top: 8px;\n padding-right: 8px;\n padding-bottom: 8px;\n }\n .grid-2col {\n display: grid;\n grid-column: span 2 / span 2;\n grid-template-columns: repeat(2, minmax(0, 1fr));\n gap: 2px;\n padding: 0;\n }\n </style>\n \n <div class =\"macro_window\" style=\"margin-bottom : 7px;\">\n <div class=\"grid grid-2col\" style=\"grid-template-columns: 150px auto\">\n <div class=\"macro_img\"><img src=\"systems/mosh/images/icons/ui/macros/gain_stress.png\" style=\"border:none\"/></div>\n <div class=\"macro_desc\"><h3>Gain Stress</h3><strong>You gain 1 Stress every time you fail a Stat Check or Save.</strong> Occasionally, certain locations or entities can automatically give you Stress from interacting with or witnessing them. Your <strong>Minimum Stress</strong> starts at 2, and the <strong>Maximum Stress you can have is 20.</strong> Any Stress you take over 20 instead reduces the most relevant Stat or Save by that amount.</div> \n </div>\n </div>\n \n <h4>Select your modification:</h4>\n `,\n buttons: {\n button1: {\n label: `Gain 1 Stress`,\n callback: () => game.mosh.initModifyActor('system.other.stress.value',1,null,true),\n icon: `<i class=\"fas fa-angle-up\"></i>`\n },\n button2: {\n label: `Gain 2 Stress`,\n callback: () => game.mosh.initModifyActor('system.other.stress.value',2,null,true),\n icon: `<i class=\"fas fa-angle-double-up\"></i>`\n },\n button3: {\n label: `Gain 1d5 Stress`,\n callback: () => game.mosh.initModifyActor('system.other.stress.value',null,`1d5`,true),\n icon: `<i class=\"fas fa-arrow-circle-up\"></i>`\n }\n }\n },{width: 600,height: 265}).render(true);\n}","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"D8ytoUTWfpq8A2td","name":"Lose Calm","type":"script","scope":"global","img":"systems/mosh/images/icons/ui/macros/gain_stress.png","command":"//init vars\nlet macroTarget = game.settings.get('mosh','macroTarget');\n//warn user if character is not selected\nif ((macroTarget === 'character' && !game.user.character) || (macroTarget === 'token' && !canvas.tokens.controlled.length)) {\n //warn player\n game.mosh.noCharSelected();\n//else pop up the dialog\n} else {\n new Dialog({\n title: `Lose Calm`,\n content: `\n <style>\n .macro_window{\n background: rgb(230,230,230);\n border-radius: 9px;\n }\n .macro_img{\n display: flex;\n justify-content: center;\n }\n .macro_desc{\n font-family: \"Roboto\", sans-serif;\n font-size: 10.5pt;\n font-weight: 400;\n padding-top: 8px;\n padding-right: 8px;\n padding-bottom: 8px;\n }\n .grid-2col {\n display: grid;\n grid-column: span 2 / span 2;\n grid-template-columns: repeat(2, minmax(0, 1fr));\n gap: 2px;\n padding: 0;\n }\n </style>\n \n <div class =\"macro_window\" style=\"margin-bottom : 7px;\">\n <div class=\"grid grid-2col\" style=\"grid-template-columns: 150px auto\">\n <div class=\"macro_img\"><img src=\"systems/mosh/images/icons/ui/macros/gain_stress.png\" style=\"border:none\"/></div>\n <div class=\"macro_desc\"><h3>Lose Calm</h3>Occasionally, certain locations or entities can automatically give you Stress from interacting with or witnessing them. You live in a terrifying, uncaring universe, so your <strong>Maximum Calm</strong> caps out at 85 and cannot go lower than zero.</div> \n </div>\n </div>\n \n <h4>Select your modification:</h4>\n `,\n buttons: {\n button1: {\n label: `Lose 5 Calm`,\n callback: () => game.mosh.initModifyActor('system.other.stress.value',-5,null,true),\n icon: `<i class=\"fas fa-angle-down\"></i>`\n },\n button2: {\n label: `Lose 10 Calm`,\n callback: () => game.mosh.initModifyActor('system.other.stress.value',-10,null,true),\n icon: `<i class=\"fas fa-angle-double-down\"></i>`\n },\n button3: {\n label: `Lose 1d20 Calm`,\n callback: () => game.mosh.initModifyActor('system.other.stress.value',null,`-1d20`,true),\n icon: `<i class=\"fas fa-arrow-circle-down\"></i>`\n }\n }\n },{width: 600,height: 265}).render(true);\n}","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
|
||||
@@ -1 +1,5 @@
|
||||
2023/10/08-18:24:19.039 4320 Delete type=3 #1
|
||||
2024/05/24-23:57:05.567 fc8 Delete type=3 #1
|
||||
2024/05/24-23:57:30.934 3f44 Level-0 table #5: started
|
||||
2024/05/24-23:57:30.944 3f44 Level-0 table #5: 13853 bytes OK
|
||||
2024/05/24-23:57:30.945 3f44 Delete type=0 #3
|
||||
2024/05/24-23:57:30.956 3f44 Manual compaction at level-0 from '!macros!2xRvRAixuocjCm40' @ 72057594037927935 : 1 .. '!macros!ilBclUmPwcd7aNQK' @ 0 : 0; will stop at (end)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{"_id":"6wsDxyoKPHxpoHtF","name":"Cover","type":"script","scope":"global","img":"systems/mosh/images/icons/ui/attributes/armor.png","command":"prepCover();\n\n//tell the actor to run the function\nasync function prepCover() {\n //determine who to run the macro for\n if (game.settings.get('mosh','macroTarget') === 'character') {\n //is there a selected character? warn if no\n if (!game.user.character) {\n //warn player\n game.mosh.noCharSelected();\n } else {\n //run the function for the player's 'Selected Character'\n game.user.character.chooseCover();\n }\n } else if (game.settings.get('mosh','macroTarget') === 'token') {\n //is there a selected character? warn if no\n if (!canvas.tokens.controlled.length) {\n //warn player\n game.mosh.noCharSelected();\n } else {\n //run the function for all selected tokens\n canvas.tokens.controlled.forEach(function(token){\n token.actor.chooseCover();\n });\n }\n }\n}","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"NsRHfRuuNGPfkYVf","name":"Death Save","type":"script","scope":"global","img":"systems/mosh/images/icons/ui/rolltables/death_save.png","command":"//init vars\nlet macroTarget = game.settings.get('mosh','macroTarget');\n//warn user if character is not selected\nif ((macroTarget === 'character' && !game.user.character) || (macroTarget === 'token' && !canvas.tokens.controlled.length)) {\n //warn player\n game.mosh.noCharSelected();\n//else pop up the dialog\n} else {\n //pop up the death save dialog box\n new Dialog({\n title: `Death Save`,\n content: `\n <style>\n .macro_window{\n background: rgb(230,230,230);\n border-radius: 9px;\n }\n .macro_img{\n display: flex;\n justify-content: center;\n }\n .macro_desc{\n font-family: \"Roboto\", sans-serif;\n font-size: 10.5pt;\n font-weight: 400;\n padding-top: 8px;\n padding-right: 8px;\n padding-bottom: 8px;\n }\n .grid-2col {\n display: grid;\n grid-column: span 2 / span 2;\n grid-template-columns: repeat(2, minmax(0, 1fr));\n gap: 2px;\n padding: 0;\n }\n </style>\n <div class =\"macro_window\" style=\"margin-bottom : 7px;\">\n <div class=\"grid grid-2col\" style=\"grid-template-columns: 150px auto\">\n <div class=\"macro_img\"><img src=\"systems/mosh/images/icons/ui/rolltables/death_save.png\" style=\"border:none\"/></div>\n <div class=\"macro_desc\"><h3>Death Save</h3>Your character is incapacitated when you receive a fatal wound, or once your Current Wounds equal your Maximum Wounds. As soon as someone spends a turn checking your vitals, make a <strong>Death Save</strong> to reveal your fate. If your death seems imminent, make your last moments count: save someone’s life, solve an important mystery, or give the others time to escape.</div> \n </div>\n </div>\n <h4>Select your roll type:</h4>\n `,\n buttons: {\n button1: {\n label: `Advantage`,\n callback: () => game.mosh.initRollTable(`W36WFIpCfMknKgHy`,`1d10 [+]`,`low`,true,false,null,null),\n icon: `<i class=\"fas fa-angle-double-up\"></i>`\n },\n button2: {\n label: `Normal`,\n callback: () => game.mosh.initRollTable(`W36WFIpCfMknKgHy`,`1d10`,`low`,true,false,null,null),\n icon: `<i class=\"fas fa-minus\"></i>`\n },\n button3: {\n label: `Disadvantage`,\n callback: () => game.mosh.initRollTable(`W36WFIpCfMknKgHy`,`1d10 [-]`,`low`,true,false,null,null),\n icon: `<i class=\"fas fa-angle-double-down\"></i>`\n }\n }\n },{width: 600,height: 265}).render(true);\n}","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"NsRHfRuuNGPfkYVf","name":"Death Save","type":"script","scope":"global","img":"systems/mosh/images/icons/ui/rolltables/death_save.png","command":"//init vars\nlet macroTarget = game.settings.get('mosh','macroTarget');\n//warn user if character is not selected\nif ((macroTarget === 'character' && !game.user.character) || (macroTarget === 'token' && !canvas.tokens.controlled.length)) {\n //warn player\n game.mosh.noCharSelected();\n//else pop up the dialog\n} else {\n //pop up the death save dialog box\n new Dialog({\n title: `Death Save`,\n content: `\n <style>\n .macro_window{\n background: rgb(230,230,230);\n border-radius: 9px;\n }\n .macro_img{\n display: flex;\n justify-content: center;\n }\n .macro_desc{\n font-family: \"Roboto\", sans-serif;\n font-size: 10.5pt;\n font-weight: 400;\n padding-top: 8px;\n padding-right: 8px;\n padding-bottom: 8px;\n }\n .grid-2col {\n display: grid;\n grid-column: span 2 / span 2;\n grid-template-columns: repeat(2, minmax(0, 1fr));\n gap: 2px;\n padding: 0;\n }\n </style>\n <div class =\"macro_window\" style=\"margin-bottom : 7px;\">\n <div class=\"grid grid-2col\" style=\"grid-template-columns: 150px auto\">\n <div class=\"macro_img\"><img src=\"systems/mosh/images/icons/ui/rolltables/death_save.png\" style=\"border:none\"/></div>\n <div class=\"macro_desc\"><h3>Death Save</h3>Your character is incapacitated when you receive a fatal wound, or once your Current Wounds equal your Maximum Wounds. As soon as someone spends a turn checking your vitals, make a <strong>Death Save</strong> to reveal your fate. If your death seems imminent, make your last moments count: save someone’s life, solve an important mystery, or give the others time to escape.</div> \n </div>\n </div>\n <h4>Select your roll type:</h4>\n `,\n buttons: {\n button1: {\n label: `Advantage`,\n callback: () => game.mosh.initRollTable(game.settings.get('mosh','table1eDeath'),`1d10 [+]`,`low`,true,false,null,null),\n icon: `<i class=\"fas fa-angle-double-up\"></i>`\n },\n button2: {\n label: `Normal`,\n callback: () => game.mosh.initRollTable(game.settings.get('mosh','table1eDeath'),`1d10`,`low`,true,false,null,null),\n icon: `<i class=\"fas fa-minus\"></i>`\n },\n button3: {\n label: `Disadvantage`,\n callback: () => game.mosh.initRollTable(game.settings.get('mosh','table1eDeath'),`1d10 [-]`,`low`,true,false,null,null),\n icon: `<i class=\"fas fa-angle-double-down\"></i>`\n }\n }\n },{width: 600,height: 265}).render(true);\n}","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"GSFEBhrKC9yuD88V","name":"Gain Calm","type":"script","scope":"global","img":"systems/mosh/images/icons/ui/macros/relieve_stress.png","command":"//init vars\nlet macroTarget = game.settings.get('mosh','macroTarget');\n//warn user if character is not selected\nif ((macroTarget === 'character' && !game.user.character) || (macroTarget === 'token' && !canvas.tokens.controlled.length)) {\n //warn player\n game.mosh.noCharSelected();\n//else pop up the dialog\n} else {\n new Dialog({\n title: `Gain Calm`,\n content: `\n <style>\n .macro_window{\n background: rgb(230,230,230);\n border-radius: 9px;\n }\n .macro_img{\n display: flex;\n justify-content: center;\n }\n .macro_desc{\n font-family: \"Roboto\", sans-serif;\n font-size: 10.5pt;\n font-weight: 400;\n padding-top: 8px;\n padding-right: 8px;\n padding-bottom: 8px;\n }\n .grid-2col {\n display: grid;\n grid-column: span 2 / span 2;\n grid-template-columns: repeat(2, minmax(0, 1fr));\n gap: 2px;\n padding: 0;\n }\n </style>\n \n <div class =\"macro_window\" style=\"margin-bottom : 7px;\">\n <div class=\"grid grid-2col\" style=\"grid-template-columns: 150px auto\">\n <div class=\"macro_img\"><img src=\"systems/mosh/images/icons/ui/macros/relieve_stress.png\" style=\"border:none\"/></div>\n <div class=\"macro_desc\"><h3>Gain Calm</h3>Occasionally, certain moments, places, or events can automatically <strong>calm you down.</strong> Escaping perilous situations, finding a serene location, or experiencing a touching moment with a loved one can have meaningful impacts on your mood and outlook on life. If your Calm is getting close to 0, you should consider making a <strong>Rest Save</strong> - as the effects of a failed <strong>Panic Check</strong> can be devastating.</div> \n </div>\n </div>\n <h4>Select your modification:</h4>\n `,\n buttons: {\n button1: {\n label: `Gain 5 Calm`,\n callback: () => game.mosh.initModifyActor('system.other.stress.value',5,null,true),\n icon: `<i class=\"fas fa-angle-up\"></i>`\n },\n button2: {\n label: `Gain 10 Calm`,\n callback: () => game.mosh.initModifyActor('system.other.stress.value',10,null,true),\n icon: `<i class=\"fas fa-angle-double-up\"></i>`\n },\n button3: {\n label: `Gain 1d20 Calm`,\n callback: () => game.mosh.initModifyActor('system.other.stress.value',null,`1d20`,true),\n icon: `<i class=\"fas fa-arrow-circle-up\"></i>`\n }\n }\n },{width: 600,height: 265}).render(true);\n}","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"X0L0NnWt53b0rHYG","name":"Gain Stress","type":"script","scope":"global","img":"systems/mosh/images/icons/ui/macros/gain_stress.png","command":"//init vars\nlet macroTarget = game.settings.get('mosh','macroTarget');\n//warn user if character is not selected\nif ((macroTarget === 'character' && !game.user.character) || (macroTarget === 'token' && !canvas.tokens.controlled.length)) {\n //warn player\n game.mosh.noCharSelected();\n//else pop up the dialog\n} else {\n new Dialog({\n title: `Gain Stress`,\n content: `\n <style>\n .macro_window{\n background: rgb(230,230,230);\n border-radius: 9px;\n }\n .macro_img{\n display: flex;\n justify-content: center;\n }\n .macro_desc{\n font-family: \"Roboto\", sans-serif;\n font-size: 10.5pt;\n font-weight: 400;\n padding-top: 8px;\n padding-right: 8px;\n padding-bottom: 8px;\n }\n .grid-2col {\n display: grid;\n grid-column: span 2 / span 2;\n grid-template-columns: repeat(2, minmax(0, 1fr));\n gap: 2px;\n padding: 0;\n }\n </style>\n \n <div class =\"macro_window\" style=\"margin-bottom : 7px;\">\n <div class=\"grid grid-2col\" style=\"grid-template-columns: 150px auto\">\n <div class=\"macro_img\"><img src=\"systems/mosh/images/icons/ui/macros/gain_stress.png\" style=\"border:none\"/></div>\n <div class=\"macro_desc\"><h3>Gain Stress</h3><strong>You gain 1 Stress every time you fail a Stat Check or Save.</strong> Occasionally, certain locations or entities can automatically give you Stress from interacting with or witnessing them. Your <strong>Minimum Stress</strong> starts at 2, and the <strong>Maximum Stress you can have is 20.</strong> Any Stress you take over 20 instead reduces the most relevant Stat or Save by that amount.</div> \n </div>\n </div>\n \n <h4>Select your modification:</h4>\n `,\n buttons: {\n button1: {\n label: `Gain 1 Stress`,\n callback: () => game.mosh.initModifyActor('system.other.stress.value',1,null,true),\n icon: `<i class=\"fas fa-angle-up\"></i>`\n },\n button2: {\n label: `Gain 2 Stress`,\n callback: () => game.mosh.initModifyActor('system.other.stress.value',2,null,true),\n icon: `<i class=\"fas fa-angle-double-up\"></i>`\n },\n button3: {\n label: `Gain 1d5 Stress`,\n callback: () => game.mosh.initModifyActor('system.other.stress.value',null,`1d5`,true),\n icon: `<i class=\"fas fa-arrow-circle-up\"></i>`\n }\n }\n },{width: 600,height: 265}).render(true);\n}","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"trU0DtBJvJCPddsQ","name":"Lose Calm","type":"script","scope":"global","img":"systems/mosh/images/icons/ui/macros/gain_stress.png","command":"//init vars\nlet macroTarget = game.settings.get('mosh','macroTarget');\n//warn user if character is not selected\nif ((macroTarget === 'character' && !game.user.character) || (macroTarget === 'token' && !canvas.tokens.controlled.length)) {\n //warn player\n game.mosh.noCharSelected();\n//else pop up the dialog\n} else {\n new Dialog({\n title: `Lose Calm`,\n content: `\n <style>\n .macro_window{\n background: rgb(230,230,230);\n border-radius: 9px;\n }\n .macro_img{\n display: flex;\n justify-content: center;\n }\n .macro_desc{\n font-family: \"Roboto\", sans-serif;\n font-size: 10.5pt;\n font-weight: 400;\n padding-top: 8px;\n padding-right: 8px;\n padding-bottom: 8px;\n }\n .grid-2col {\n display: grid;\n grid-column: span 2 / span 2;\n grid-template-columns: repeat(2, minmax(0, 1fr));\n gap: 2px;\n padding: 0;\n }\n </style>\n \n <div class =\"macro_window\" style=\"margin-bottom : 7px;\">\n <div class=\"grid grid-2col\" style=\"grid-template-columns: 150px auto\">\n <div class=\"macro_img\"><img src=\"systems/mosh/images/icons/ui/macros/gain_stress.png\" style=\"border:none\"/></div>\n <div class=\"macro_desc\"><h3>Lose Calm</h3>Occasionally, certain locations or entities can automatically give you Stress from interacting with or witnessing them. You live in a terrifying, uncaring universe, so your <strong>Maximum Calm</strong> caps out at 85 and cannot go lower than zero.</div> \n </div>\n </div>\n \n <h4>Select your modification:</h4>\n `,\n buttons: {\n button1: {\n label: `Lose 5 Calm`,\n callback: () => game.mosh.initModifyActor('system.other.stress.value',-5,null,true),\n icon: `<i class=\"fas fa-angle-down\"></i>`\n },\n button2: {\n label: `Lose 10 Calm`,\n callback: () => game.mosh.initModifyActor('system.other.stress.value',-10,null,true),\n icon: `<i class=\"fas fa-angle-double-down\"></i>`\n },\n button3: {\n label: `Lose 1d20 Calm`,\n callback: () => game.mosh.initModifyActor('system.other.stress.value',null,`-1d20`,true),\n icon: `<i class=\"fas fa-arrow-circle-down\"></i>`\n }\n }\n },{width: 600,height: 265}).render(true);\n}","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
|
||||
@@ -1 +1,5 @@
|
||||
2023/10/22-15:46:01.566 707c Delete type=3 #1
|
||||
2024/05/24-23:57:05.423 23c8 Delete type=3 #1
|
||||
2024/05/24-23:57:30.885 3f44 Level-0 table #5: started
|
||||
2024/05/24-23:57:30.893 3f44 Level-0 table #5: 17701 bytes OK
|
||||
2024/05/24-23:57:30.894 3f44 Delete type=0 #3
|
||||
2024/05/24-23:57:30.906 3f44 Manual compaction at level-0 from '!macros!2u4a5gEogtLd3XQz' @ 72057594037927935 : 1 .. '!macros!trU0DtBJvJCPddsQ' @ 0 : 0; will stop at (end)
|
||||
|
||||
@@ -62,8 +62,8 @@
|
||||
{"_id":"5N4b4Q2OhEj1zv0P","name":"Combat Check","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollCheck('1d100','low','combat',null,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"N20OKT1TDhywkeco","name":"Combat Check -","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollCheck('1d100 [-]','low','combat',null,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"voAUUe17Qw4MJlup","name":"Combat Check +","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollCheck('1d100 [+]','low','combat',null,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"4hmYrNF0uWVqsfEk","name":"Death Save -","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollTable(`cZOHlhEJcYGZsQBM`,`1d10 [-]`,`high`,false,false,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"Az3RocMlh0JFxAlu","name":"Death Save +","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollTable(`cZOHlhEJcYGZsQBM`,`1d10 [+]`,`high`,false,false,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"4hmYrNF0uWVqsfEk","name":"Death Save -","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollTable(game.settings.get('mosh','table0eDeath'),`1d10 [-]`,`high`,false,false,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"Az3RocMlh0JFxAlu","name":"Death Save +","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollTable(game.settings.get('mosh','table0eDeath'),`1d10 [+]`,`high`,false,false,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"Er4ULzvdn2urxuet","name":"Fear Save","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollCheck('1d100','low','fear',null,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"RdJ2nh41wDUT4ZTP","name":"Fear Save -","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollCheck('1d100 [-]','low','fear',null,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"RzOmeM0RNSpFAna0","name":"Fear Save +","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollCheck('1d100 [+]','low','fear',null,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
|
||||
@@ -1 +1,5 @@
|
||||
2023/10/08-18:24:19.099 6d6c Delete type=3 #1
|
||||
2024/05/24-23:57:05.597 1068 Delete type=3 #1
|
||||
2024/05/24-23:57:30.922 3f44 Level-0 table #5: started
|
||||
2024/05/24-23:57:30.927 3f44 Level-0 table #5: 14296 bytes OK
|
||||
2024/05/24-23:57:30.934 3f44 Delete type=0 #3
|
||||
2024/05/24-23:57:30.956 3f44 Manual compaction at level-0 from '!macros!0Yw4QWSAeOuUzRqB' @ 72057594037927935 : 1 .. '!macros!z5V92LyXHjfMxnRQ' @ 0 : 0; will stop at (end)
|
||||
|
||||
@@ -78,32 +78,32 @@
|
||||
{"_id":"ISd2nEMYvWCPQpl0","name":"-2d10 Body Save","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initModifyActor('system.stats.body.value',null,'-2d10',true);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"pS6A6OklvM6S3bvO","name":"-2d10 Health","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initModifyActor('system.health.value',null,'-2d10',true);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"nECUu4pcwsNTE8C5","name":"-3d10 Health","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initModifyActor('system.health.value',null,'-3d10',true);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"1DD8i6eCS6nx2Ip0","name":"Bleeding Wound","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollTable(`ata3fRz3uoPfNCLh`,`1d10`,`low`,true,false,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"tFcWNddtZvlv7tsg","name":"Bleeding Wound -","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollTable(`ata3fRz3uoPfNCLh`,`1d10 [-]`,`low`,true,false,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"xr2o2PU5vdrR6fxQ","name":"Bleeding Wound +","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollTable(`ata3fRz3uoPfNCLh`,`1d10 [+]`,`low`,true,false,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"TAjlQjA5AAy3qYL3","name":"Blunt Force Wound","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollTable(`31YibfjueXuZdNLb`,`1d10`,`low`,true,false,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"oL3GH0HoEPlP8vzG","name":"Blunt Force Wound -","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollTable(`31YibfjueXuZdNLb`,`1d10 [-]`,`low`,true,false,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"k0zf8ZGivRguc0wb","name":"Blunt Force Wound +","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollTable(`31YibfjueXuZdNLb`,`1d10 [+]`,`low`,true,false,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"1DD8i6eCS6nx2Ip0","name":"Bleeding Wound","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollTable(game.settings.get('mosh','table1eWoundBleeding'),`1d10`,`low`,true,false,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"tFcWNddtZvlv7tsg","name":"Bleeding Wound -","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollTable(game.settings.get('mosh','table1eWoundBleeding'),`1d10 [-]`,`low`,true,false,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"xr2o2PU5vdrR6fxQ","name":"Bleeding Wound +","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollTable(game.settings.get('mosh','table1eWoundBleeding'),`1d10 [+]`,`low`,true,false,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"TAjlQjA5AAy3qYL3","name":"Blunt Force Wound","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollTable(game.settings.get('mosh','table1eWoundBluntForce'),`1d10`,`low`,true,false,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"oL3GH0HoEPlP8vzG","name":"Blunt Force Wound -","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollTable(game.settings.get('mosh','table1eWoundBluntForce'),`1d10 [-]`,`low`,true,false,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"k0zf8ZGivRguc0wb","name":"Blunt Force Wound +","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollTable(game.settings.get('mosh','table1eWoundBluntForce'),`1d10 [+]`,`low`,true,false,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"X3gqTFFwMe7AudiS","name":"Body Save","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollCheck('1d100','low','body',null,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"ItHLy3URKFQVLipe","name":"Body Save -","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollCheck('1d100 [-]','low','body',null,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"IG2NQgEnqvPjiV5C","name":"Body Save +","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollCheck('1d100 [+]','low','body',null,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"9FOBS5lQCwtVtrgh","name":"Combat Check","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollCheck('1d100','low','combat',null,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"vxcDSg3xiAxDYQIb","name":"Combat Check -","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollCheck('1d100 [-]','low','combat',null,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"5hlvK0p68imanBmy","name":"Combat Check +","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollCheck('1d100 [+]','low','combat',null,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"E2bDXSVfH57BnGEI","name":"Death Save -","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollTable(`W36WFIpCfMknKgHy`,`1d10 [-]`,`low`,true,false,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"KHL2lJ6RRvhupFZ3","name":"Death Save +","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollTable(`W36WFIpCfMknKgHy`,`1d10 [+]`,`low`,true,false,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"E2bDXSVfH57BnGEI","name":"Death Save -","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollTable(game.settings.get('mosh','table1eDeath'),`1d10 [-]`,`low`,true,false,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"KHL2lJ6RRvhupFZ3","name":"Death Save +","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollTable(game.settings.get('mosh','table1eDeath'),`1d10 [+]`,`low`,true,false,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"R2KizR1soAhFYDZm","name":"Fear Save","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollCheck('1d100','low','fear',null,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"wVhApjRP5MXue2kh","name":"Fear Save -","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollCheck('1d100 [-]','low','fear',null,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"DadBoZJblU4uBY5E","name":"Fear Save +","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollCheck('1d100 [+]','low','fear',null,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"bZi1qKmcKLFvnhZ2","name":"Fire & Explosives Wound","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollTable(`lqiaWwh5cGcJhvnu`,`1d10`,`low`,true,false,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"dJnQKDf0AlwK27QD","name":"Fire & Explosives Wound -","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollTable(`lqiaWwh5cGcJhvnu`,`1d10 [-]`,`low`,true,false,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"7rYhbDAaFeok1Daq","name":"Fire & Explosives Wound +","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollTable(`lqiaWwh5cGcJhvnu`,`1d10 [+]`,`low`,true,false,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"S9nnHKWYGSQmjQdp","name":"Gore & Massive Wound","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollTable(`uVfC1CqYdojaJ7yR`,`1d10`,`low`,true,false,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"DuVjNlE4lsnR7Emc","name":"Gore & Massive Wound -","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollTable(`uVfC1CqYdojaJ7yR`,`1d10 [-]`,`low`,true,false,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"eQPuDgwv8evetFIk","name":"Gore & Massive Wound +","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollTable(`uVfC1CqYdojaJ7yRd`,`1d10 [+]`,`low`,true,false,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"XgCOLv9UunBddUyW","name":"Gunshot Wound","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollTable(`XjDU2xFOWEasaZK0`,`1d10`,`low`,true,false,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"fnVATRHYJEUlS3pR","name":"Gunshot Wound -","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollTable(`XjDU2xFOWEasaZK0`,`1d10 [-]`,`low`,true,false,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"LTpa1ZYVZl4m9k6z","name":"Gunshot Wound +","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollTable(`XjDU2xFOWEasaZK0`,`1d10 [+]`,`low`,true,false,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"bZi1qKmcKLFvnhZ2","name":"Fire & Explosives Wound","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollTable(game.settings.get('mosh','table1eWoundFireExplosives'),`1d10`,`low`,true,false,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"dJnQKDf0AlwK27QD","name":"Fire & Explosives Wound -","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollTable(game.settings.get('mosh','table1eWoundFireExplosives'),`1d10 [-]`,`low`,true,false,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"7rYhbDAaFeok1Daq","name":"Fire & Explosives Wound +","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollTable(game.settings.get('mosh','table1eWoundFireExplosives'),`1d10 [+]`,`low`,true,false,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"S9nnHKWYGSQmjQdp","name":"Gore & Massive Wound","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollTable(game.settings.get('mosh','table1eWoundGoreMassive'),`1d10`,`low`,true,false,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"DuVjNlE4lsnR7Emc","name":"Gore & Massive Wound -","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollTable(game.settings.get('mosh','table1eWoundGoreMassive'),`1d10 [-]`,`low`,true,false,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"eQPuDgwv8evetFIk","name":"Gore & Massive Wound +","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollTable(game.settings.get('mosh','table1eWoundGoreMassive'),`1d10 [+]`,`low`,true,false,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"XgCOLv9UunBddUyW","name":"Gunshot Wound","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollTable(game.settings.get('mosh','table1eWoundGunshot'),`1d10`,`low`,true,false,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"fnVATRHYJEUlS3pR","name":"Gunshot Wound -","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollTable(game.settings.get('mosh','table1eWoundGunshot'),`1d10 [-]`,`low`,true,false,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"LTpa1ZYVZl4m9k6z","name":"Gunshot Wound +","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollTable(game.settings.get('mosh','table1eWoundGunshot'),`1d10 [+]`,`low`,true,false,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"DMjVDa7vUq7xGpn8","name":"Intellect Check","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollCheck('1d100','low','intellect',null,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"ln3OpNFK4mN4Ym5q","name":"Intellect Check -","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollCheck('1d100 [-]','low','intellect',null,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"DXfAjkwJVwSCOqZ1","name":"Intellect Check +","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollCheck('1d100 [+]','low','intellect',null,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
@@ -111,8 +111,8 @@
|
||||
{"_id":"kVNV9vZPY0j77VTo","name":"Panic Check +","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollTable(`panicCheck`,`[+]`,null,false,false,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"AM9nIK5l7mC5Ho8C","name":"Rest Save -","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollCheck('1d100 [-]','low','restSave',null,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"ZaChBhkd4yU6hoWx","name":"Rest Save +","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollCheck('1d100 [+]','low','restSave',null,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"yPGx2mXToJ2iJPbY","name":"Roll 1d10 on Android Panic Table","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollTable(`aBnY19jlhPXzibCt`,`1d10`,`high`,false,false,'system.other.stress.value','>');","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"Jek7hKAMDevKxlZR","name":"Roll on Android Panic Table","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollTable(`aBnY19jlhPXzibCt`,`1d20`,`high`,false,false,'system.other.stress.value','>');","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"yPGx2mXToJ2iJPbY","name":"Roll 1d10 on Android Panic Table","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollTable(game.settings.get('mosh','table1ePanicStressAndroid'),`1d10`,`high`,false,false,'system.other.stress.value','>');","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"Jek7hKAMDevKxlZR","name":"Roll on Android Panic Table","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollTable(game.settings.get('mosh','table1ePanicStressAndroid'),`1d20`,`high`,false,false,'system.other.stress.value','>');","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"TkMfT4RIczQb56j2","name":"Sanity Save","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollCheck('1d100','low','sanity',null,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"MdmZ31pKu1q006z7","name":"Sanity Save -","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollCheck('1d100 [-]','low','sanity',null,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"p6JhfjAF7OESZiFM","name":"Sanity Save +","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollCheck('1d100 [+]','low','sanity',null,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
@@ -125,4 +125,26 @@
|
||||
{"_id":"B9qe0UHmKoal9eub","name":"Strength Check","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollCheck('1d100','low','strength',null,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"XlfEeDblsp7fTzUx","name":"Strength Check -","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollCheck('1d100 [-]','low','strength',null,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"9X5WPlXiZn9EqF9f","name":"Strength Check +","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initRollCheck('1d100 [+]','low','strength',null,null,null);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"aur5HWqZJNspwdCd","name":"Take Bleeding Damage","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"prepBleedingDamage();\n\n//tell the actor to run the function\nasync function prepBleedingDamage() {\n //determine who to run the macro for\n if (game.settings.get('mosh','macroTarget') === 'character') {\n //is there a selected character? warn if no\n if (!game.user.character) {\n //warn player\n game.mosh.noCharSelected();\n } else {\n //run the function for the player's 'Selected Character'\n game.user.character.takeBleedingDamage();\n }\n } else if (game.settings.get('mosh','macroTarget') === 'token') {\n //is there a selected character? warn if no\n if (!canvas.tokens.controlled.length) {\n //warn player\n game.mosh.noCharSelected();\n } else {\n //run the function for all selected tokens\n canvas.tokens.controlled.forEach(function(token){\n token.actor.takeBleedingDamage();\n });\n }\n }\n}","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"aur5HWqZJNspwdCd","name":"Take Bleeding Damage","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"prepBleedingDamage();\n\n//tell the actor to run the function\nasync function prepBleedingDamage() {\n //determine who to run the macro for\n if (game.settings.get('mosh','macroTarget') === 'character') {\n //is there a selected character? warn if no\n if (!game.user.character) {\n //warn player\n game.mosh.noCharSelected();\n } else {\n //run the function for the player's 'Selected Character'\n game.user.character.takeBleedingDamage();\n }\n } else if (game.settings.get('mosh','macroTarget') === 'token') {\n //is there a selected character? warn if no\n if (!canvas.tokens.controlled.length) {\n //warn player\n game.mosh.noCharSelected();\n } else {\n //run the function for all selected tokens\n canvas.tokens.controlled.forEach(function(token){\n token.actor.takeBleedingDamage();\n });\n }\n }\n}","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"SeMStXQGIaeiLwvw","name":"-1d5 All Stats/Saves","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"prepCryoDamage();\n\n//tell the actor to run the function\nasync function prepCryoDamage(); {\n //determine who to run the macro for\n if (game.settings.get('mosh','macroTarget') === 'character') {\n //is there a selected character? warn if no\n if (!game.user.character) {\n //warn player\n game.mosh.noCharSelected();\n } else {\n //run the function for the player's 'Selected Character'\n game.user.character.takeCryoDamage('-1d5');\n }\n } else if (game.settings.get('mosh','macroTarget') === 'token') {\n //is there a selected character? warn if no\n if (!canvas.tokens.controlled.length) {\n //warn player\n game.mosh.noCharSelected();\n } else {\n //run the function for all selected tokens\n canvas.tokens.controlled.forEach(function(token){\n token.actor.takeCryoDamage('-1d5');\n });\n }\n }\n}","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"2MuANcdgp2g8SDlF","name":"-1d10 All Stats/Saves","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"prepCryoDamage();\n\n//tell the actor to run the function\nasync function prepCryoDamage(); {\n //determine who to run the macro for\n if (game.settings.get('mosh','macroTarget') === 'character') {\n //is there a selected character? warn if no\n if (!game.user.character) {\n //warn player\n game.mosh.noCharSelected();\n } else {\n //run the function for the player's 'Selected Character'\n game.user.character.takeCryoDamage('-1d10');\n }\n } else if (game.settings.get('mosh','macroTarget') === 'token') {\n //is there a selected character? warn if no\n if (!canvas.tokens.controlled.length) {\n //warn player\n game.mosh.noCharSelected();\n } else {\n //run the function for all selected tokens\n canvas.tokens.controlled.forEach(function(token){\n token.actor.takeCryoDamage('-1d10');\n });\n }\n }\n}","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"8euTBbjY9uDQR13K","name":"Maintenance Check","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"prepMaintenanceCheck();\n\n//tell the actor to run the function\nasync function prepMaintenanceCheck() {\n //determine who to run the macro for\n if (game.settings.get('mosh','macroTarget') === 'character') {\n //is there a selected character? warn if no\n if (!game.user.character || !game.user.character.type === 'ship') {\n //warn player\n game.mosh.noShipSelected();\n } else {\n //run the function for the player's 'Selected Character'\n game.user.character.maintenanceCheck();\n }\n } else if (game.settings.get('mosh','macroTarget') === 'token') {\n //is there a selected character? warn if no\n if (!canvas.tokens.controlled.length) {\n //warn player\n game.mosh.noShipSelected();\n } else {\n //run the function for all selected tokens\n canvas.tokens.controlled.forEach(function(token){\n token.actor.maintenanceCheck();\n });\n }\n }\n}","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"C04VbNoj8LgfY8QK","name":"Maintenance Check [-]","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"prepMaintenanceCheck();\n\n//tell the actor to run the function\nasync function prepMaintenanceCheck() {\n //determine who to run the macro for\n if (game.settings.get('mosh','macroTarget') === 'character') {\n //is there a selected character? warn if no\n if (!game.user.character || !game.user.character.type === 'ship') {\n //warn player\n game.mosh.noShipSelected();\n } else {\n //run the function for the player's 'Selected Character'\n game.user.character.rollTable(`maintenanceCheck`,`1d100 [-]`,`low`,null,null,null,null);\n }\n } else if (game.settings.get('mosh','macroTarget') === 'token') {\n //is there a selected character? warn if no\n if (!canvas.tokens.controlled.length) {\n //warn player\n game.mosh.noShipSelected();\n } else {\n //run the function for all selected tokens\n canvas.tokens.controlled.forEach(function(token){\n token.actor.rollTable(`maintenanceCheck`,`1d100 [-]`,`low`,null,null,null,null);\n });\n }\n }\n}","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"g5hyNqBioTNe5TGx","name":"Maintenance Check [+]","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"prepMaintenanceCheck();\n\n//tell the actor to run the function\nasync function prepMaintenanceCheck() {\n //determine who to run the macro for\n if (game.settings.get('mosh','macroTarget') === 'character') {\n //is there a selected character? warn if no\n if (!game.user.character || !game.user.character.type === 'ship') {\n //warn player\n game.mosh.noShipSelected();\n } else {\n //run the function for the player's 'Selected Character'\n game.user.character.rollTable(`maintenanceCheck`,`1d100 [+]`,`low`,null,null,null,null);\n }\n } else if (game.settings.get('mosh','macroTarget') === 'token') {\n //is there a selected character? warn if no\n if (!canvas.tokens.controlled.length) {\n //warn player\n game.mosh.noShipSelected();\n } else {\n //run the function for all selected tokens\n canvas.tokens.controlled.forEach(function(token){\n token.actor.rollTable(`maintenanceCheck`,`1d100 [+]`,`low`,null,null,null,null);\n });\n }\n }\n}","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"RZdvjsMBaSKcs3Ot","name":"Morale Check","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"prepMoraleCheck();\n\n//tell the actor to run the function\nasync function prepMoraleCheck() {\n //determine who to run the macro for\n if (game.settings.get('mosh','macroTarget') === 'character') {\n //is there a selected character? warn if no\n if (!game.user.character || !game.user.character.type === 'ship') {\n //warn player\n game.mosh.noShipSelected();\n } else {\n //run the function for the player's 'Selected Character'\n game.user.character.moraleCheck();\n }\n } else if (game.settings.get('mosh','macroTarget') === 'token') {\n //is there a selected character? warn if no\n if (!canvas.tokens.controlled.length) {\n //warn player\n game.mosh.noShipSelected();\n } else {\n //run the function for all selected tokens\n canvas.tokens.controlled.forEach(function(token){\n token.actor.moraleCheck();\n });\n }\n }\n}","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"wrfA9gVG0OdZhvOT","name":"Morale Check [-]","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"prepMoraleCheck();\n\n//tell the actor to run the function\nasync function prepMoraleCheck() {\n //determine who to run the macro for\n if (game.settings.get('mosh','macroTarget') === 'character') {\n //is there a selected character? warn if no\n if (!game.user.character || !game.user.character.type === 'ship') {\n //warn player\n game.mosh.noShipSelected();\n } else {\n //run the function for the player's 'Selected Character'\n game.user.character.rollCheck(`1d10 [-]`,`high`,`moraleCheck`,null,null,null);\n }\n } else if (game.settings.get('mosh','macroTarget') === 'token') {\n //is there a selected character? warn if no\n if (!canvas.tokens.controlled.length) {\n //warn player\n game.mosh.noShipSelected();\n } else {\n //run the function for all selected tokens\n canvas.tokens.controlled.forEach(function(token){\n token.actor.rollCheck(`1d10 [-]`,`high`,`moraleCheck`,null,null,null);\n });\n }\n }\n}","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"vCkDdHtJJmYkq3wK","name":"Morale Check [+]","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"prepMoraleCheck();\n\n//tell the actor to run the function\nasync function prepMoraleCheck() {\n //determine who to run the macro for\n if (game.settings.get('mosh','macroTarget') === 'character') {\n //is there a selected character? warn if no\n if (!game.user.character || !game.user.character.type === 'ship') {\n //warn player\n game.mosh.noShipSelected();\n } else {\n //run the function for the player's 'Selected Character'\n game.user.character.rollCheck(`1d10 [+]`,`high`,`moraleCheck`,null,null,null);\n }\n } else if (game.settings.get('mosh','macroTarget') === 'token') {\n //is there a selected character? warn if no\n if (!canvas.tokens.controlled.length) {\n //warn player\n game.mosh.noShipSelected();\n } else {\n //run the function for all selected tokens\n canvas.tokens.controlled.forEach(function(token){\n token.actor.rollCheck(`1d10 [+]`,`high`,`moraleCheck`,null,null,null);\n });\n }\n }\n}","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"g5FXFSnlyU5KmwCz","name":"Starting Condition","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"prepMaintenanceCheck();\n\n//tell the actor to run the function\nasync function prepMaintenanceCheck() {\n //determine who to run the macro for\n if (game.settings.get('mosh','macroTarget') === 'character') {\n //is there a selected character? warn if no\n if (!game.user.character || !game.user.character.type === 'ship') {\n //warn player\n game.mosh.noShipSelected();\n } else {\n //run the function for the player's 'Selected Character'\n game.user.character.maintenanceCheck();\n }\n } else if (game.settings.get('mosh','macroTarget') === 'token') {\n //is there a selected character? warn if no\n if (!canvas.tokens.controlled.length) {\n //warn player\n game.mosh.noShipSelected();\n } else {\n //run the function for all selected tokens\n canvas.tokens.controlled.forEach(function(token){\n token.actor.maintenanceCheck();\n });\n }\n }\n}","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"33LAJdyYr0xi4TdF","name":"Starting Condition [-]","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"prepMaintenanceCheck();\n\n//tell the actor to run the function\nasync function prepMaintenanceCheck() {\n //determine who to run the macro for\n if (game.settings.get('mosh','macroTarget') === 'character') {\n //is there a selected character? warn if no\n if (!game.user.character || !game.user.character.type === 'ship') {\n //warn player\n game.mosh.noShipSelected();\n } else {\n //run the function for the player's 'Selected Character'\n game.user.character.rollTable(`maintenanceCheck`,`1d100 [-]`,`low`,null,null,null,null);\n }\n } else if (game.settings.get('mosh','macroTarget') === 'token') {\n //is there a selected character? warn if no\n if (!canvas.tokens.controlled.length) {\n //warn player\n game.mosh.noShipSelected();\n } else {\n //run the function for all selected tokens\n canvas.tokens.controlled.forEach(function(token){\n token.actor.rollTable(`maintenanceCheck`,`1d100 [-]`,`low`,null,null,null,null);\n });\n }\n }\n}","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"TnuezRDCUlw4cDvG","name":"Starting Condition [+]","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"prepMaintenanceCheck();\n\n//tell the actor to run the function\nasync function prepMaintenanceCheck() {\n //determine who to run the macro for\n if (game.settings.get('mosh','macroTarget') === 'character') {\n //is there a selected character? warn if no\n if (!game.user.character || !game.user.character.type === 'ship') {\n //warn player\n game.mosh.noShipSelected();\n } else {\n //run the function for the player's 'Selected Character'\n game.user.character.rollTable(`maintenanceCheck`,`1d100 [+]`,`low`,null,null,null,null);\n }\n } else if (game.settings.get('mosh','macroTarget') === 'token') {\n //is there a selected character? warn if no\n if (!canvas.tokens.controlled.length) {\n //warn player\n game.mosh.noShipSelected();\n } else {\n //run the function for all selected tokens\n canvas.tokens.controlled.forEach(function(token){\n token.actor.rollTable(`maintenanceCheck`,`1d100 [+]`,`low`,null,null,null,null);\n });\n }\n }\n}","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"S6sYho89Bp5tMlsJ","name":"Bankruptcy Save","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"prepBankruptcySave();\n\n//tell the actor to run the function\nasync function prepBankruptcySave() {\n //determine who to run the macro for\n if (game.settings.get('mosh','macroTarget') === 'character') {\n //is there a selected character? warn if no\n if (!game.user.character || !game.user.character.type === 'ship') {\n //warn player\n game.mosh.noShipSelected();\n } else {\n //run the function for the player's 'Selected Character'\n game.user.character.bankruptcySave();\n }\n } else if (game.settings.get('mosh','macroTarget') === 'token') {\n //is there a selected character? warn if no\n if (!canvas.tokens.controlled.length) {\n //warn player\n game.mosh.noShipSelected();\n } else {\n //run the function for all selected tokens\n canvas.tokens.controlled.forEach(function(token){\n token.actor.bankruptcySave();\n });\n }\n }\n}","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"5ewwn221Wo1JQ98k","name":"Bankruptcy Save [-]","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"prepBankruptcySave();\n\n//tell the actor to run the function\nasync function prepBankruptcySave() {\n //determine who to run the macro for\n if (game.settings.get('mosh','macroTarget') === 'character') {\n //is there a selected character? warn if no\n if (!game.user.character || !game.user.character.type === 'ship') {\n //warn player\n game.mosh.noShipSelected();\n } else {\n //run the function for the player's 'Selected Character'\n game.user.character.rollCheck(`1d100 [-]`,`low`,`bankruptcySave`,null,null,null);\n }\n } else if (game.settings.get('mosh','macroTarget') === 'token') {\n //is there a selected character? warn if no\n if (!canvas.tokens.controlled.length) {\n //warn player\n game.mosh.noShipSelected();\n } else {\n //run the function for all selected tokens\n canvas.tokens.controlled.forEach(function(token){\n token.actor.rollCheck(`1d100 [-]`,`low`,`bankruptcySave`,null,null,null);\n });\n }\n }\n}","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"sc6UPaBF5A4Yl27h","name":"Bankruptcy Save [+]","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"prepBankruptcySave();\n\n//tell the actor to run the function\nasync function prepBankruptcySave() {\n //determine who to run the macro for\n if (game.settings.get('mosh','macroTarget') === 'character') {\n //is there a selected character? warn if no\n if (!game.user.character || !game.user.character.type === 'ship') {\n //warn player\n game.mosh.noShipSelected();\n } else {\n //run the function for the player's 'Selected Character'\n game.user.character.rollCheck(`1d100 [+]`,`low`,`bankruptcySave`,null,null,null);\n }\n } else if (game.settings.get('mosh','macroTarget') === 'token') {\n //is there a selected character? warn if no\n if (!canvas.tokens.controlled.length) {\n //warn player\n game.mosh.noShipSelected();\n } else {\n //run the function for all selected tokens\n canvas.tokens.controlled.forEach(function(token){\n token.actor.rollCheck(`1d100 [+]`,`low`,`bankruptcySave`,null,null,null);\n });\n }\n }\n}","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"X3cL9eS2HOPxhLH5","name":"-1d10 Battle","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initModifyActor('system.stats.battle.value',null,'-1d10',true);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"oDftFxRKkCQRNY2O","name":"-1d10 Systems","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initModifyActor('system.stats.systems.value',null,'-1d10',true);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"DUuRY7kHKd7n5luv","name":"-50% Crew Capacity","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"prepModifyActor();\n\n//tell the actor to run the function\nasync function prepModifyActor(fieldAddress,modValue,modRollString,outputChatMsg) {\n //determine who to run the macro for\n if (game.settings.get('mosh','macroTarget') === 'character') {\n //is there a selected character? warn if no\n if (!game.user.character || !game.user.character.type === 'ship') {\n //warn player\n game.mosh.noCharSelected();\n } else {\n //get the health for this token\n let curValue = game.user.character.system.supplies.crew.max;\n //calculate difference\n let lowerBy = Math.ceil(curValue/2)*-1;\n //run the function for the player's 'Selected Character'\n game.user.character.modifyActor('system.supplies.crew.max',lowerBy,null,true);\n }\n } else if (game.settings.get('mosh','macroTarget') === 'token') {\n //is there a selected character? warn if no\n if (!canvas.tokens.controlled.length) {\n //warn player\n game.mosh.noCharSelected();\n } else {\n //run the function for all selected tokens\n canvas.tokens.controlled.forEach(function(token){\n //get the health for this token\n let curValue = token.actor.system.supplies.crew.max;\n //calculate difference\n let lowerBy = Math.ceil(curValue/2)*-1;\n //run the function on this token\n token.actor.modifyActor('system.supplies.crew.max',lowerBy,null,true);\n });\n }\n }\n}","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"uPY19Y49bGCLGK3N","name":"-1 Hull","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initModifyActor('system.supplies.hull.value',-1,null,true);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"06NSvDYTtmkeUtLq","name":"-1 Upgrade","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initModifyActor('system.supplies.upgrades.value',-1,null,true);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"u7TchSo3qutnzaKF","name":"-1d5 Oxygen","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initModifyActor('system.stats.oxygen.value',null,'-1d5',true);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"jmOh8n2ps0YIeBC0","name":"-2d10 Thrusters","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"game.mosh.initModifyActor('system.stats.thrusters.value',null,'-2d10',true);","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
{"_id":"hRapiXGVW8WZQH12","name":"Roll on Maintenance Issues Table","type":"script","scope":"global","img":"icons/svg/d10-grey.svg","command":"prepMaintenanceCheck();\n\n//tell the actor to run the function\nasync function prepMaintenanceCheck() {\n //determine who to run the macro for\n if (game.settings.get('mosh','macroTarget') === 'character') {\n //is there a selected character? warn if no\n if (!game.user.character || !game.user.character.type === 'ship') {\n //warn player\n game.mosh.noShipSelected();\n } else {\n //run the function for the player's 'Selected Character'\n game.user.character.rollTable(`maintenanceCheck`,`1d100`,`low`,null,null,null,null);\n }\n } else if (game.settings.get('mosh','macroTarget') === 'token') {\n //is there a selected character? warn if no\n if (!canvas.tokens.controlled.length) {\n //warn player\n game.mosh.noShipSelected();\n } else {\n //run the function for all selected tokens\n canvas.tokens.controlled.forEach(function(token){\n token.actor.rollTable(`maintenanceCheck`,`1d100`,`low`,null,null,null,null);\n });\n }\n }\n}","folder":null,"flags":{},"_stats":{"systemId":"mosh","systemVersion":"0.4.0","coreVersion":"11.308","createdTime":1685936572185,"modifiedTime":1693515520278,"lastModifiedBy":"6EeM38DJkcBWNAmw"}}
|
||||
@@ -1 +1,5 @@
|
||||
2023/10/08-18:24:18.892 6d6c Delete type=3 #1
|
||||
2024/05/24-23:57:05.457 fc8 Delete type=3 #1
|
||||
2024/05/24-23:57:30.877 3f44 Level-0 table #5: started
|
||||
2024/05/24-23:57:30.883 3f44 Level-0 table #5: 27772 bytes OK
|
||||
2024/05/24-23:57:30.885 3f44 Delete type=0 #3
|
||||
2024/05/24-23:57:30.906 3f44 Manual compaction at level-0 from '!macros!06NSvDYTtmkeUtLq' @ 72057594037927935 : 1 .. '!macros!zLRsweb35Lw0NMev' @ 0 : 0; will stop at (end)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
2023/12/07-11:20:51.983 6e2c Delete type=3 #1
|
||||
2023/12/07-11:21:09.700 2b64 Level-0 table #5: started
|
||||
2023/12/07-11:21:09.703 2b64 Level-0 table #5: 23482 bytes OK
|
||||
2023/12/07-11:21:09.704 2b64 Delete type=0 #3
|
||||
2023/12/07-11:21:09.704 2b64 Manual compaction at level-0 from '!tables!1vCm4ElRPotQXgNB' @ 72057594037927935 : 1 .. '!tables.results!kqKpQAXyLTEEyz6Z.xdwwswzfoPuVifvw' @ 0 : 0; will stop at (end)
|
||||
2024/05/24-23:57:05.633 fc8 Delete type=3 #1
|
||||
2024/05/24-23:57:30.945 3f44 Level-0 table #5: started
|
||||
2024/05/24-23:57:30.952 3f44 Level-0 table #5: 23482 bytes OK
|
||||
2024/05/24-23:57:30.956 3f44 Delete type=0 #3
|
||||
2024/05/24-23:57:30.965 3f44 Manual compaction at level-0 from '!tables!1vCm4ElRPotQXgNB' @ 72057594037927935 : 1 .. '!tables.results!kqKpQAXyLTEEyz6Z.xdwwswzfoPuVifvw' @ 0 : 0; will stop at (end)
|
||||
|
||||