Merge pull request #31 from Futil/SBT-Testing

Sbt testing
This commit is contained in:
Futil
2024-05-26 12:50:21 -06:00
committed by GitHub
126 changed files with 4890 additions and 448 deletions
+3 -3
View File
@@ -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>`
}
}
+3 -3
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -0,0 +1 @@
game.mosh.initModifyActor('system.supplies.hull.value',-1,null,true);
+1
View File
@@ -0,0 +1 @@
game.mosh.initModifyActor('system.supplies.upgrades.value',-1,null,true);
+1
View File
@@ -0,0 +1 @@
game.mosh.initModifyActor('system.stats.battle.value',null,'-1d10',true);
+1
View File
@@ -0,0 +1 @@
game.mosh.initModifyActor('system.stats.systems.value',null,'-1d10',true);
+1
View File
@@ -0,0 +1 @@
game.mosh.initModifyActor('system.stats.oxygen.value',null,'-1d5',true);
+1
View File
@@ -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);
});
}
}
}
+27
View File
@@ -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);
});
}
}
}
+27
View File
@@ -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);
});
}
}
}
+27
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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);
});
}
}
}
+27
View File
@@ -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();
});
}
}
}
+27
View File
@@ -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);
});
}
}
}
+27
View File
@@ -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);
});
}
}
}
+27
View File
@@ -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');
});
}
}
}
+540 -21
View File
@@ -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;
}
View File
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

+10 -3
View File
@@ -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
+873 -101
View File
File diff suppressed because it is too large Load Diff
+8 -3
View File
@@ -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
+500
View File
@@ -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> &nbsp`;
megadamageHTML += `<i class="fas fa-circle megadamage-button rollable" data-key="${index}"></i> &nbsp`;
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> &nbsp`;
megadamageHTML += `<div class="grey"><i class="far fa-circle megadamage-button rollable grey" data-key="${index}"></i> &nbsp`;
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
});
}
}
}
+40
View File
@@ -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.`);
});
}
+153 -4
View File
@@ -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"
});
};
+89
View File
@@ -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"])
]);
}
}
+69
View File
@@ -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);
}
}
+110
View File
@@ -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();
}
}
+140
View File
@@ -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> &nbsp`;
}
else{
megadamageSettingsHTML += `<i class="far fa-circle megadamage-button rollable" data-key="${index}"></i> &nbsp`;
}
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});
}
}
+73
View File
@@ -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});
}
}
+5 -5
View File
@@ -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)
+5 -5
View File
@@ -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)
+100
View File
@@ -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"}}
Binary file not shown.
+1
View File
@@ -0,0 +1 @@
MANIFEST-000002
View File
+5
View File
@@ -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)
Binary file not shown.
+1 -1
View File
@@ -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"}}
Binary file not shown.
View File
Binary file not shown.
+5 -1
View File
@@ -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)
Binary file not shown.
+1 -1
View File
@@ -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"}}
Binary file not shown.
View File
Binary file not shown.
+5 -1
View File
@@ -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)
Binary file not shown.
+2 -2
View File
@@ -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"}}
Binary file not shown.
Binary file not shown.
+5 -1
View File
@@ -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)
Binary file not shown.
+42 -20
View File
@@ -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"}}
Binary file not shown.
Binary file not shown.
+5 -1
View File
@@ -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)
Binary file not shown.
+5 -5
View File
@@ -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)

Some files were not shown because too many files have changed in this diff Show More