Dialog V2 Graphic Overhaul

This commit is contained in:
Chris Schmalz
2025-08-18 18:18:40 -07:00
parent 4b8eee2c82
commit ecb38595cf
47 changed files with 656 additions and 890 deletions
+15 -32
View File
@@ -8,60 +8,43 @@ if ((macroTarget === 'character' && !game.user.character) || (macroTarget === 't
} else {
//pop up the death save dialog box
new new foundry.applications.api.DialogV2({
window: {title: `Death Save`},
position: {width: 600,height: 265},
window: {
title: "Death Save"
},
classes: ["macro-popup-dialog"],
position: {width: 600},
content: `
<style>
.macro_window{
background: rgb(230,230,230);
border-radius: 9px;
}
.macro_img{
display: flex;
justify-content: center;
}
.macro_desc{
font-family: "Roboto", sans-serif;
font-size: 10.5pt;
font-weight: 400;
padding-top: 8px;
padding-right: 8px;
padding-bottom: 8px;
}
.grid-2col {
display: grid;
grid-column: span 2 / span 2;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 2px;
padding: 0;
}
</style>
<div class ="macro_window" style="margin-bottom : 7px;">
<div class="grid grid-2col" style="grid-template-columns: 150px auto">
<div class="macro_img"><img src="systems/mosh/images/icons/ui/rolltables/death_save.png" style="border:none"/></div>
<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>
<div class="macro_desc">
<h4>Death Save</h4>
<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>
</div>
</div>
<h4>Select your roll type:</h4>
<div class="macro_prompt">
Select your roll type:
</div>
`,
buttons: [
{
label: `Advantage`,
action: `action_advantage`,
callback: () => game.mosh.initRollTable(game.settings.get('mosh','table0eDeath'),`1d10 [+]`,`high`,false,false,null,null),
icon: `<i class="fas fa-angle-double-up"></i>`
icon: `fas fa-angle-double-up`
},
{
label: `Normal`,
action: `action_normal`,
callback: () => game.mosh.initRollTable(game.settings.get('mosh','table0eDeath'),`1d10`,`high`,false,false,null,null),
icon: `<i class="fas fa-minus"></i>`
icon: `fas fa-minus`
},
{
label: `Disadvantage`,
action: `action_disadvantage`,
callback: () => game.mosh.initRollTable(game.settings.get('mosh','table0eDeath'),`1d10 [-]`,`high`,false,false,null,null),
icon: `<i class="fas fa-angle-double-down"></i>`
icon: `fas fa-angle-double-down`
}
]
}).render({force: true});
+20 -38
View File
@@ -7,61 +7,43 @@ if ((macroTarget === 'character' && !game.user.character) || (macroTarget === 't
//else pop up the dialog
} else {
new foundry.applications.api.DialogV2({
window: {title: `Gain Calm`},
position: {width: 600,height: 265},
window: {
title: "Gain Calm"
},
classes: ["macro-popup-dialog"],
position: {width: 600},
content: `
<style>
.macro_window{
background: rgb(230,230,230);
border-radius: 9px;
}
.macro_img{
display: flex;
justify-content: center;
}
.macro_desc{
font-family: "Roboto", sans-serif;
font-size: 10.5pt;
font-weight: 400;
padding-top: 8px;
padding-right: 8px;
padding-bottom: 8px;
}
.grid-2col {
display: grid;
grid-column: span 2 / span 2;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 2px;
padding: 0;
}
</style>
<div class ="macro_window" style="margin-bottom : 7px;">
<div class="grid grid-2col" style="grid-template-columns: 150px auto">
<div class="macro_img"><img src="systems/mosh/images/icons/ui/macros/relieve_stress.png" style="border:none"/></div>
<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>
</div>
</div>
<h4>Select your modification:</h4>
<div class ="macro_window" style="margin-bottom : 7px;">
<div class="grid grid-2col" style="grid-template-columns: 150px auto">
<div class="macro_img"><img src="systems/mosh/images/icons/ui/macros/relieve_stress.png" style="border:none"/></div>
<div class="macro_desc">
<h4>Gain Calm</h4>
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>
</div>
</div>
<div class="macro_prompt">
Select your modification:
</div>
`,
buttons: [
{
label: `Gain 5 Calm`,
action: `gain_5`,
callback: () => game.mosh.initModifyActor('system.other.stress.value',5,null,true),
icon: `<i class="fas fa-angle-up"></i>`
icon: `fas fa-angle-up`
},
{
label: `Gain 10 Calm`,
action: `gain_10`,
callback: () => game.mosh.initModifyActor('system.other.stress.value',10,null,true),
icon: `<i class="fas fa-angle-double-up"></i>`
icon: `fas fa-angle-double-up`
},
{
label: `Gain 1d20 Calm`,
action: `gain_1d20`,
callback: () => game.mosh.initModifyActor('system.other.stress.value',null,`1d20`,true),
icon: `<i class="fas fa-arrow-circle-up"></i>`
icon: `fas fa-arrow-circle-up`
}
]
}).render({force: true});
+20 -39
View File
@@ -7,62 +7,43 @@ if ((macroTarget === 'character' && !game.user.character) || (macroTarget === 't
//else pop up the dialog
} else {
new foundry.applications.api.DialogV2({
window: {title: `Gain Stress`},
position: {width: 600,height: 265},
window: {
title: "Gain Stress"
},
classes: ["macro-popup-dialog"],
position: {width: 600},
content: `
<style>
.macro_window{
background: rgb(230,230,230);
border-radius: 9px;
}
.macro_img{
display: flex;
justify-content: center;
}
.macro_desc{
font-family: "Roboto", sans-serif;
font-size: 10.5pt;
font-weight: 400;
padding-top: 8px;
padding-right: 8px;
padding-bottom: 8px;
}
.grid-2col {
display: grid;
grid-column: span 2 / span 2;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 2px;
padding: 0;
}
</style>
<div class ="macro_window" style="margin-bottom : 7px;">
<div class="grid grid-2col" style="grid-template-columns: 150px auto">
<div class="macro_img"><img src="systems/mosh/images/icons/ui/macros/gain_stress.png" style="border:none"/></div>
<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>
</div>
</div>
<h4>Select your modification:</h4>
<div class ="macro_window" style="margin-bottom : 7px;">
<div class="grid grid-2col" style="grid-template-columns: 150px auto">
<div class="macro_img"><img src="systems/mosh/images/icons/ui/macros/gain_stress.png" style="border:none"/></div>
<div class="macro_desc">
<h4>Gain Stress</h4>
<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>
</div>
</div>
<div class="macro_prompt">
Select your modification:
</div>
`,
buttons: [
{
label: `Gain 1 Stress`,
action: `gain_1`,
callback: () => game.mosh.initModifyActor('system.other.stress.value',1,null,true),
icon: `<i class="fas fa-angle-up"></i>`
icon: `fas fa-angle-up`
},
{
label: `Gain 2 Stress`,
action: `gain_2`,
callback: () => game.mosh.initModifyActor('system.other.stress.value',2,null,true),
icon: `<i class="fas fa-angle-double-up"></i>`
icon: `fas fa-angle-double-up`
},
{
label: `Gain 1d5 Stress`,
action: `gain_1d5`,
callback: () => game.mosh.initModifyActor('system.other.stress.value',null,`1d5`,true),
icon: `<i class="fas fa-arrow-circle-up"></i>`
icon: `fas fa-arrow-circle-up`
}
]
}).render({force: true});
+20 -39
View File
@@ -7,62 +7,43 @@ if ((macroTarget === 'character' && !game.user.character) || (macroTarget === 't
//else pop up the dialog
} else {
new foundry.applications.api.DialogV2({
window: {title: `Lose Calm`},
position: {width: 600,height: 265},
window: {
title: "Lose Calm"
},
classes: ["macro-popup-dialog"],
position: {width: 600},
content: `
<style>
.macro_window{
background: rgb(230,230,230);
border-radius: 9px;
}
.macro_img{
display: flex;
justify-content: center;
}
.macro_desc{
font-family: "Roboto", sans-serif;
font-size: 10.5pt;
font-weight: 400;
padding-top: 8px;
padding-right: 8px;
padding-bottom: 8px;
}
.grid-2col {
display: grid;
grid-column: span 2 / span 2;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 2px;
padding: 0;
}
</style>
<div class ="macro_window" style="margin-bottom : 7px;">
<div class="grid grid-2col" style="grid-template-columns: 150px auto">
<div class="macro_img"><img src="systems/mosh/images/icons/ui/macros/gain_stress.png" style="border:none"/></div>
<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>
</div>
</div>
<h4>Select your modification:</h4>
<div class ="macro_window" style="margin-bottom : 7px;">
<div class="grid grid-2col" style="grid-template-columns: 150px auto">
<div class="macro_img"><img src="systems/mosh/images/icons/ui/macros/gain_stress.png" style="border:none"/></div>
<div class="macro_desc">
<h4>Lose Calm</h4>
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>
</div>
</div>
<div class="macro_prompt">
Select your modification:
</div>
`,
buttons: [
{
label: `Lose 5 Calm`,
action: `lose_5`,
callback: () => game.mosh.initModifyActor('system.other.stress.value',-5,null,true),
icon: `<i class="fas fa-angle-down"></i>`
icon: `fas fa-angle-down`
},
{
label: `Lose 10 Calm`,
action: `lose_10`,
callback: () => game.mosh.initModifyActor('system.other.stress.value',-10,null,true),
icon: `<i class="fas fa-angle-double-down"></i>`
icon: `fas fa-angle-double-down`
},
{
label: `Lose 1d20 Calm`,
action: `lose_1d20`,
callback: () => game.mosh.initModifyActor('system.other.stress.value',null,`-1d20`,true),
icon: `<i class="fas fa-arrow-circle-down"></i>`
icon: `fas fa-arrow-circle-down`
}
]
}).render({force: true});
+14 -32
View File
@@ -8,61 +8,43 @@ if ((macroTarget === 'character' && !game.user.character) || (macroTarget === 't
} else {
//pop up the panic check dialog box
new foundry.applications.api.DialogV2({
window: {title: `Panic Check`},
position: {width: 600,height: 265},
window: {
title: "Panic Check"
},
classes: ["macro-popup-dialog"],
position: {width: 600},
content: `
<style>
.macro_window{
background: rgb(230,230,230);
border-radius: 9px;
}
.macro_img{
display: flex;
justify-content: center;
}
.macro_desc{
font-family: "Roboto", sans-serif;
font-size: 10.5pt;
font-weight: 400;
padding-top: 8px;
padding-right: 8px;
padding-bottom: 8px;
}
.grid-2col {
display: grid;
grid-column: span 2 / span 2;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 2px;
padding: 0;
}
</style>
<div class ="macro_window" style="margin-bottom : 7px;">
<div class="grid grid-2col" style="grid-template-columns: 150px auto">
<div class="macro_img"><img src="systems/mosh/images/icons/ui/rolltables/panic_check.png" style="border:none"/></div>
<div class="macro_desc"><h3>Panic Check</h3>Stress, Damage, and emotional wear and tear eventually bring characters to their breaking point. When that happens, there’s a chance they Panic. You determine this by making a <strong>Panic Check</strong>. Some results of the Panic Table are so severe that they leave a lasting impression on you. These are called <strong>Conditions</strong>, and they affect you until you are able to treat them.
<div class="macro_desc">
<h4>Panic Check</h4>
Stress, Damage, and emotional wear and tear eventually bring characters to their breaking point. When that happens, there’s a chance they Panic. You determine this by making a <strong>Panic Check</strong>. Some results of the Panic Table are so severe that they leave a lasting impression on you. These are called <strong>Conditions</strong>, and they affect you until you are able to treat them.
</div>
</div>
</div>
<h4>Select your roll type:</h4>
<div class="macro_prompt">
Select your roll type:
</div>
`,
buttons: [
{
label: `Advantage`,
action: `action_advantage`,
callback: () => game.mosh.initRollTable(`panicCheck`,`[+]`,null,false,false,null,null),
icon: `<i class="fas fa-angle-double-up"></i>`
icon: `fas fa-angle-double-up`
},
{
label: `Normal`,
action: `action_normal`,
callback: () => game.mosh.initRollTable(`panicCheck`,``,null,false,false,null,null),
icon: `<i class="fas fa-minus"></i>`
icon: `fas fa-minus`
},
{
label: `Disadvantage`,
action: `action_disadvantage`,
callback: () => game.mosh.initRollTable(`panicCheck`,`[-]`,null,false,false,null,null),
icon: `<i class="fas fa-angle-double-down"></i>`
icon: `fas fa-angle-double-down`
}
]
}).render({force: true});
+20 -40
View File
@@ -7,63 +7,43 @@ if ((macroTarget === 'character' && !game.user.character) || (macroTarget === 't
//else pop up the dialog
} else {
new foundry.applications.api.DialogV2({
window: {title: `Gain Stress`},
position: {width: 600,height: 265},
title: `Gain Stress`,
window: {
title: "Relieve Stress"
},
classes: ["macro-popup-dialog"],
position: {width: 600},
content: `
<style>
.macro_window{
background: rgb(230,230,230);
border-radius: 9px;
}
.macro_img{
display: flex;
justify-content: center;
}
.macro_desc{
font-family: "Roboto", sans-serif;
font-size: 10.5pt;
font-weight: 400;
padding-top: 8px;
padding-right: 8px;
padding-bottom: 8px;
}
.grid-2col {
display: grid;
grid-column: span 2 / span 2;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 2px;
padding: 0;
}
</style>
<div class ="macro_window" style="margin-bottom : 7px;">
<div class="grid grid-2col" style="grid-template-columns: 150px auto">
<div class="macro_img"><img src="systems/mosh/images/icons/ui/macros/relieve_stress.png" style="border:none"/></div>
<div class="macro_desc"><h3>Relieve Stress</h3>Occasionally, certain moments, places, or events can automatically <strong>relieve your stress.</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 stress is getting close to 20, you should consider making a <strong>Rest Save</strong> - as the effects of a failed <strong>Panic Check</strong> can be devastating.</div>
</div>
</div>
<h4>Select your modification:</h4>
<div class ="macro_window" style="margin-bottom : 7px;">
<div class="grid grid-2col" style="grid-template-columns: 150px auto">
<div class="macro_img"><img src="systems/mosh/images/icons/ui/macros/relieve_stress.png" style="border:none"/></div>
<div class="macro_desc">
<h4>Relieve Stress</h4>
Occasionally, certain moments, places, or events can automatically <strong>relieve your stress.</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 stress is getting close to 20, you should consider making a <strong>Rest Save</strong> - as the effects of a failed <strong>Panic Check</strong> can be devastating.
</div>
</div>
</div>
<div class="macro_prompt">
Select your modification:
</div>
`,
buttons: [
{
label: `Relieve 1 Stress`,
action: `relieve_1`,
callback: () => game.mosh.initModifyActor('system.other.stress.value',-1,null,true),
icon: `<i class="fas fa-angle-down"></i>`
icon: `fas fa-angle-down`
},
{
label: `Relieve 2 Stress`,
action: `relieve_2`,
callback: () => game.mosh.initModifyActor('system.other.stress.value',-2,null,true),
icon: `<i class="fas fa-angle-double-down"></i>`
icon: `fas fa-angle-double-down`
},
{
label: `Relieve 1d5 Stress`,
action: `relieve_1d5`,
callback: () => game.mosh.initModifyActor('system.other.stress.value',null,`-1d5`,true),
icon: `<i class="fas fa-arrow-circle-down"></i>`
icon: `fas fa-arrow-circle-down`
}
]
}).render({force: true});
+15 -34
View File
@@ -7,47 +7,28 @@ if ((macroTarget === 'character' && !game.user.character) || (macroTarget === 't
//else pop up the dialog
} else {
new foundry.applications.api.DialogV2({
window: {title: `Rest Save`},
position: {width: 600,height: 237},
window: {
title: "Rest Save"
},
classes: ["macro-popup-dialog"],
position: {width: 600},
content: `
<style>
.macro_window{
background: rgb(230,230,230);
border-radius: 9px;
}
.macro_img{
display: flex;
justify-content: center;
}
.macro_desc{
font-family: "Roboto", sans-serif;
font-size: 10.5pt;
font-weight: 400;
padding-top: 8px;
padding-right: 8px;
padding-bottom: 8px;
}
.grid-2col {
display: grid;
grid-column: span 2 / span 2;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 2px;
padding: 0;
}
</style>
<div class ="macro_window" style="margin-bottom : 7px;">
<div class="grid grid-2col" style="grid-template-columns: 150px auto">
<div class="macro_img"><img src="systems/mosh/images/icons/ui/macros/rest_save.png" style="border:none"/></div>
<div class="macro_desc"><h3>Rest Save</h3>You can relieve Stress by resting in a relatively safe place. If you succeed, reduce your Stress; <strong>if you fail, you gain 1 Stress instead.</strong> Players can gain Advantage on their Rest Save by participating in consensual sex, recreational drug use, a night of heavy drinking, prayer, or any other suitable leisure activity. Unsafe locations may incur Disadvantage.</div>
</div>
</div>
<div class ="macro_window" style="margin-bottom : 7px;">
<div class="grid grid-2col" style="grid-template-columns: 150px auto">
<div class="macro_img"><img src="systems/mosh/images/icons/ui/macros/rest_save.png" style="border:none"/></div>
<div class="macro_desc">
<h4>Rest Save</h4>
You can relieve Stress by resting in a relatively safe place. If you succeed, reduce your Stress; <strong>if you fail, you gain 1 Stress instead.</strong> Players can gain Advantage on their Rest Save by participating in consensual sex, recreational drug use, a night of heavy drinking, prayer, or any other suitable leisure activity. Unsafe locations may incur Disadvantage.
</div>
</div>
</div>
`,
buttons: [
{
label: `Next`,
action: `next`,
callback: () => game.mosh.initRollCheck(null,'low','restSave',null,null,null),
icon: `<i class="fas fa-chevron-circle-right"></i>`
icon: `fas fa-chevron-circle-right`
}
]
}).render({force: true});
+19 -38
View File
@@ -7,43 +7,24 @@ if ((macroTarget === 'character' && !game.user.character) || (macroTarget === 't
//else pop up the dialog
} else {
new foundry.applications.api.DialogV2({
window: {title: `Save`},
position: {width: 600,height: 545},
window: {
title: "Save"
},
classes: ["macro-popup-dialog"],
position: {width: 600},
content: `
<style>
.macro_window{
background: rgb(230,230,230);
border-radius: 9px;
}
.macro_img{
display: flex;
justify-content: center; //do I need this
}
.macro_desc{
font-family: "Roboto", sans-serif;
font-size: 10.5pt;
font-weight: 400;
padding-top: 8px;
padding-right: 8px;
padding-bottom: 8px;
}
.grid-2col {
display: grid;
grid-column: span 2 / span 2;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 2px;
padding: 0;
}
</style>
<div class ="macro_window" style="margin-bottom : 7px;">
<div class ="macro_window">
<div class="grid grid-2col" style="grid-template-columns: 150px auto">
<div class="macro_img"><img src="systems/mosh/images/icons/ui/macros/save.png" style="border:none"/></div>
<div class="macro_desc"><h3>Save</h3>You have three Saves which represent your ability to withstand different kinds of trauma. In order to avoid certain dangers, you sometimes need to roll a Save. <strong>If you roll less than your Save you succeed. Otherwise you fail, and gain 1 Stress.</strong> A roll of 90-99 is always a failure. A Critical Failure means something bad happens, and furthermore you must make a Panic Check.</div>
<div class="macro_desc">
<h4>Save</h4>
You have three Saves which represent your ability to withstand different kinds of trauma. In order to avoid certain dangers, you sometimes need to roll a Save. <strong>If you roll less than your Save you succeed. Otherwise you fail, and gain 1 Stress.</strong> A roll of 90-99 is always a failure. A Critical Failure means something bad happens, and furthermore you must make a Panic Check.
</div>
</div>
</div>
<label for="san">
<div class ="macro_window" style="margin-bottom : 7px; vertical-align: middle; padding-left: 3px;">
<div class="grid grid-3col" style="grid-template-columns: 20px 60px auto">
<div class ="macro_window" style="vertical-align: middle; padding-left: 3px;">
<div class="grid grid-3col" style="align-items: center; grid-template-columns: 20px 60px auto">
<input type="radio" id="san" name="save" value="sanity" checked="checked">
<div class="macro_img" style="padding-top: 5px; padding-left: 0px; padding-right: 0px; padding-bottom: 5px;"><img src="systems/mosh/images/icons/ui/attributes/sanity.png" style="border:none"/></div>
<div class="macro_desc" style="display: table;">
@@ -55,8 +36,8 @@ if ((macroTarget === 'character' && !game.user.character) || (macroTarget === 't
</div>
</label>
<label for="fer">
<div class ="macro_window" style="margin-bottom : 7px; vertical-align: middle; padding-left: 3px;">
<div class="grid grid-3col" style="grid-template-columns: 20px 60px auto">
<div class ="macro_window" style="vertical-align: middle; padding-left: 3px;">
<div class="grid grid-3col" style="align-items: center; grid-template-columns: 20px 60px auto">
<input type="radio" id="fer" name="save" value="fear">
<div class="macro_img" style="padding-top: 5px; padding-left: 0px; padding-right: 0px; padding-bottom: 5px;"><img src="systems/mosh/images/icons/ui/attributes/fear.png" style="border:none"/></div>
<div class="macro_desc" style="display: table;">
@@ -68,8 +49,8 @@ if ((macroTarget === 'character' && !game.user.character) || (macroTarget === 't
</div>
</label>
<label for="bod">
<div class ="macro_window" style="margin-bottom : 7px; vertical-align: middle; padding-left: 3px;">
<div class="grid grid-3col" style="grid-template-columns: 20px 60px auto">
<div class ="macro_window" style="vertical-align: middle; padding-left: 3px;">
<div class="grid grid-3col" style="align-items: center; grid-template-columns: 20px 60px auto">
<input type="radio" id="bod" name="save" value="body">
<div class="macro_img" style="padding-top: 5px; padding-left: 0px; padding-right: 0px; padding-bottom: 5px;"><img src="systems/mosh/images/icons/ui/attributes/body.png" style="border:none"/></div>
<div class="macro_desc" style="display: table;">
@@ -81,8 +62,8 @@ if ((macroTarget === 'character' && !game.user.character) || (macroTarget === 't
</div>
</label>
<label for="arm">
<div class ="macro_window" style="margin-bottom : 7px; vertical-align: middle; padding-left: 3px;">
<div class="grid grid-3col" style="grid-template-columns: 20px 60px auto">
<div class ="macro_window" style="vertical-align: middle; padding-left: 3px;">
<div class="grid grid-3col" style="align-items: center; grid-template-columns: 20px 60px auto">
<input type="radio" id="arm" name="save" value="armor">
<div class="macro_img" style="padding-top: 5px; padding-left: 0px; padding-right: 0px; padding-bottom: 5px;"><img src="systems/mosh/images/icons/ui/attributes/armor.png" style="border:none"/></div>
<div class="macro_desc" style="display: table;">
@@ -99,7 +80,7 @@ if ((macroTarget === 'character' && !game.user.character) || (macroTarget === 't
label: `Next`,
action: `next`,
callback: (html) => game.mosh.initRollCheck(null,'low',html.find("input[name='save']:checked").val(),null,null,null),
icon: `<i class="fas fa-chevron-circle-right"></i>`
icon: `fas fa-chevron-circle-right`
}
]
}).render({force: true});
+19 -39
View File
@@ -7,44 +7,24 @@ if ((macroTarget === 'character' && !game.user.character) || (macroTarget === 't
//else pop up the dialog
} else {
new foundry.applications.api.DialogV2({
window: {title: `Stat Check`},
position: {width: 600,height: 545},
window: {
title: "Stat Check"
},
classes: ["macro-popup-dialog"],
position: {width: 600},
content: `
<style>
.macro_window{
background: rgb(230,230,230);
border-radius: 9px;
}
.macro_img{
display: flex;
justify-content: center; //do I need this
}
.macro_desc{
font-family: "Roboto", sans-serif;
font-size: 10.5pt;
font-weight: 400;
padding-top: 8px;
padding-right: 8px;
padding-bottom: 8px;
}
.grid-2col {
display: grid;
grid-column: span 2 / span 2;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 2px;
padding: 0;
}
</style>
<div class ="macro_window" style="margin-bottom : 7px;">
<div class ="macro_window">
<div class="grid grid-2col" style="grid-template-columns: 150px auto">
<div class="macro_img"><img src="systems/mosh/images/icons/ui/macros/stat_check.png" style="border:none"/></div>
<div class="macro_desc"><h3>Stat Check</h3>You have four Stats which represent your ability to act under extreme pressure. Whenever you want to do something and the price for failure is high, roll a stat check. <strong>If you roll less than your Stat you succeed. Otherwise, you fail and gain 1 Stress.</strong> A roll of 90-99 is always a failure. A Critical Failure means something bad happens, and furthermore you must make a Panic Check.</div>
<div class="macro_desc">
<h4>Stat Check</h4>
You have four Stats which represent your ability to act under extreme pressure. Whenever you want to do something and the price for failure is high, roll a stat check. <strong>If you roll less than your Stat you succeed. Otherwise, you fail and gain 1 Stress.</strong> A roll of 90-99 is always a failure. A Critical Failure means something bad happens, and furthermore you must make a Panic Check.
</div>
</div>
</div>
<label for="str">
<div class ="macro_window" style="margin-bottom : 7px; vertical-align: middle; padding-left: 3px;">
<div class="grid grid-3col" style="grid-template-columns: 20px 60px auto">
<div class ="macro_window" style="vertical-align: middle; padding-left: 3px;">
<div class="grid grid-3col" style="align-items: center; grid-template-columns: 20px 60px auto">
<input type="radio" id="str" name="stat" value="strength" checked="checked">
<div class="macro_img" style="padding-top: 5px; padding-left: 0px; padding-right: 0px; padding-bottom: 5px;"><img src="systems/mosh/images/icons/ui/attributes/strength.png" style="border:none"/></div>
<div class="macro_desc" style="display: table;">
@@ -56,8 +36,8 @@ if ((macroTarget === 'character' && !game.user.character) || (macroTarget === 't
</div>
</label>
<label for="spd">
<div class ="macro_window" style="margin-bottom : 7px; vertical-align: middle; padding-left: 3px;">
<div class="grid grid-3col" style="grid-template-columns: 20px 60px auto">
<div class ="macro_window" style="vertical-align: middle; padding-left: 3px;">
<div class="grid grid-3col" style="align-items: center; grid-template-columns: 20px 60px auto">
<input type="radio" id="spd" name="stat" value="speed">
<div class="macro_img" style="padding-top: 5px; padding-left: 0px; padding-right: 0px; padding-bottom: 5px;"><img src="systems/mosh/images/icons/ui/attributes/speed.png" style="border:none"/></div>
<div class="macro_desc" style="display: table;">
@@ -69,8 +49,8 @@ if ((macroTarget === 'character' && !game.user.character) || (macroTarget === 't
</div>
</label>
<label for="int">
<div class ="macro_window" style="margin-bottom : 7px; vertical-align: middle; padding-left: 3px;">
<div class="grid grid-3col" style="grid-template-columns: 20px 60px auto">
<div class ="macro_window" style="vertical-align: middle; padding-left: 3px;">
<div class="grid grid-3col" style="align-items: center; grid-template-columns: 20px 60px auto">
<input type="radio" id="int" name="stat" value="intellect">
<div class="macro_img" style="padding-top: 5px; padding-left: 0px; padding-right: 0px; padding-bottom: 5px;"><img src="systems/mosh/images/icons/ui/attributes/intellect.png" style="border:none"/></div>
<div class="macro_desc" style="display: table;">
@@ -82,8 +62,8 @@ if ((macroTarget === 'character' && !game.user.character) || (macroTarget === 't
</div>
</label>
<label for="com">
<div class ="macro_window" style="margin-bottom : 7px; vertical-align: middle; padding-left: 3px;">
<div class="grid grid-3col" style="grid-template-columns: 20px 60px auto">
<div class ="macro_window" style="vertical-align: middle; padding-left: 3px;">
<div class="grid grid-3col" style="align-items: center; grid-template-columns: 20px 60px auto">
<input type="radio" id="com" name="stat" value="combat">
<div class="macro_img" style="padding-top: 5px; padding-left: 0px; padding-right: 0px; padding-bottom: 5px;"><img src="systems/mosh/images/icons/ui/attributes/combat.png" style="border:none"/></div>
<div class="macro_desc" style="display: table;">
@@ -100,7 +80,7 @@ if ((macroTarget === 'character' && !game.user.character) || (macroTarget === 't
label: `Next`,
action: `next`,
callback: (html) => game.mosh.initRollCheck(null,'low',html.find("input[name='stat']:checked").val(),null,null,null),
icon: `<i class="fas fa-chevron-circle-right"></i>`
icon: `fas fa-chevron-circle-right`
}
]
}).render({force: true});
+29 -44
View File
@@ -8,61 +8,46 @@ if ((macroTarget === 'character' && !game.user.character) || (macroTarget === 't
} else {
//pop up the death save dialog box
new foundry.applications.api.DialogV2({
window: {title: `Death Save`},
position: {width: 600,height: 265},
window: {
title: "Death Save"
},
classes: ["macro-popup-dialog"],
position: { width: 600 },
content: `
<style>
.macro_window{
background: rgb(230,230,230);
border-radius: 9px;
}
.macro_img{
display: flex;
justify-content: center;
}
.macro_desc{
font-family: "Roboto", sans-serif;
font-size: 10.5pt;
font-weight: 400;
padding-top: 8px;
padding-right: 8px;
padding-bottom: 8px;
}
.grid-2col {
display: grid;
grid-column: span 2 / span 2;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 2px;
padding: 0;
}
</style>
<div class ="macro_window" style="margin-bottom : 7px;">
<div class="macro_window">
<div class="grid grid-2col" style="grid-template-columns: 150px auto">
<div class="macro_img"><img src="systems/mosh/images/icons/ui/rolltables/death_save.png" style="border:none"/></div>
<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>
<div class="macro_img">
<img src="systems/mosh/images/icons/ui/rolltables/death_save.png" />
</div>
<div class="macro_desc">
<h4>Death Save</h4>
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>
</div>
</div>
<h4>Select your roll type:</h4>
<div class="macro_prompt">
Select your roll type:
</div>
`,
buttons: [
{
label: `Advantage`,
action: 'action_advantage',
callback: () => game.mosh.initRollTable(game.settings.get('mosh','table1eDeath'),`1d10 [+]`,`low`,true,false,null,null),
icon: `<i class="fas fa-angle-double-up"></i>`
label: "Advantage",
action: "action_advantage",
callback: () => game.mosh.initRollTable(game.settings.get("mosh","table1eDeath"), "1d10 [+]", "low", true, false, null, null),
icon: `fas fa-angle-double-up`
},
{
label: `Normal`,
action: 'action_normal',
callback: () => game.mosh.initRollTable(game.settings.get('mosh','table1eDeath'),`1d10`,`low`,true,false,null,null),
icon: `<i class="fas fa-minus"></i>`
label: "Normal",
action: "action_normal",
callback: () => game.mosh.initRollTable(game.settings.get("mosh","table1eDeath"), "1d10", "low", true, false, null, null),
icon: `fas fa-minus`
},
{
label: `Disadvantage`,
action: 'action_disadvantage',
callback: () => game.mosh.initRollTable(game.settings.get('mosh','table1eDeath'),`1d10 [-]`,`low`,true,false,null,null),
icon: `<i class="fas fa-angle-double-down"></i>`
label: "Disadvantage",
action: "action_disadvantage",
callback: () => game.mosh.initRollTable(game.settings.get("mosh","table1eDeath"), "1d10 [-]", "low", true, false, null, null),
icon: `fas fa-angle-double-down`
}
]
}).render({force: true});
}).render({ force: true });
}
+36 -54
View File
@@ -7,62 +7,44 @@ if ((macroTarget === 'character' && !game.user.character) || (macroTarget === 't
//else pop up the dialog
} else {
new foundry.applications.api.DialogV2({
window: {title: `Gain Calm`},
position: {width: 600,height: 265},
content: `
<style>
.macro_window{
background: rgb(230,230,230);
border-radius: 9px;
}
.macro_img{
display: flex;
justify-content: center;
}
.macro_desc{
font-family: "Roboto", sans-serif;
font-size: 10.5pt;
font-weight: 400;
padding-top: 8px;
padding-right: 8px;
padding-bottom: 8px;
}
.grid-2col {
display: grid;
grid-column: span 2 / span 2;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 2px;
padding: 0;
}
</style>
window: {
title: "Gain Calm"
},
classes: ["macro-popup-dialog"],
position: {width: 600},
content: `
<div class ="macro_window" style="margin-bottom : 7px;">
<div class="grid grid-2col" style="grid-template-columns: 150px auto">
<div class="macro_img"><img src="systems/mosh/images/icons/ui/macros/relieve_stress.png" style="border:none"/></div>
<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>
<div class="grid grid-2col" style="grid-template-columns: 150px auto">
<div class="macro_img"><img src="systems/mosh/images/icons/ui/macros/relieve_stress.png" style="border:none"/></div>
<div class="macro_desc">
<h4>Gain Calm</h4>
Occasionally, certain moments, places, or events can automatically <strong>calm you down.</strong> Escaping perilous situations, like 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>
</div>
</div>
<div class="macro_prompt">
Select your modification:
</div>
<h4>Select your modification:</h4>
`,
buttons: [
{
label: `Gain 5 Calm`,
action: 'button_1',
callback: () => game.mosh.initModifyActor('system.other.stress.value',5,null,true),
icon: `<i class="fas fa-angle-up"></i>`
},
{
label: `Gain 10 Calm`,
action: 'button_2',
callback: () => game.mosh.initModifyActor('system.other.stress.value',10,null,true),
icon: `<i class="fas fa-angle-double-up"></i>`
},
{
label: `Gain 1d20 Calm`,
action: 'button_3',
callback: () => game.mosh.initModifyActor('system.other.stress.value',null,`1d20`,true),
icon: `<i class="fas fa-arrow-circle-up"></i>`
}
]
`,
buttons: [
{
label: `Gain 5 Calm`,
action: 'button_1',
callback: () => game.mosh.initModifyActor('system.other.stress.value',5,null,true),
icon: `fas fa-angle-up`
},
{
label: `Gain 10 Calm`,
action: 'button_2',
callback: () => game.mosh.initModifyActor('system.other.stress.value',10,null,true),
icon: `fas fa-angle-double-up`
},
{
label: `Gain 1d20 Calm`,
action: 'button_3',
callback: () => game.mosh.initModifyActor('system.other.stress.value',null,`1d20`,true),
icon: `fas fa-arrow-circle-up`
}
]
}).render({force: true});
}
+20 -39
View File
@@ -7,62 +7,43 @@ if ((macroTarget === 'character' && !game.user.character) || (macroTarget === 't
//else pop up the dialog
} else {
new foundry.applications.api.DialogV2({
window: {title: `Gain Stress`},
position: {width: 600,height: 265},
window: {
title: "Gain Stress"
},
classes: ["macro-popup-dialog"],
position: {width: 600},
content: `
<style>
.macro_window{
background: rgb(230,230,230);
border-radius: 9px;
}
.macro_img{
display: flex;
justify-content: center;
}
.macro_desc{
font-family: "Roboto", sans-serif;
font-size: 10.5pt;
font-weight: 400;
padding-top: 8px;
padding-right: 8px;
padding-bottom: 8px;
}
.grid-2col {
display: grid;
grid-column: span 2 / span 2;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 2px;
padding: 0;
}
</style>
<div class ="macro_window" style="margin-bottom : 7px;">
<div class="grid grid-2col" style="grid-template-columns: 150px auto">
<div class="macro_img"><img src="systems/mosh/images/icons/ui/macros/gain_stress.png" style="border:none"/></div>
<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>
</div>
</div>
<h4>Select your modification:</h4>
<div class ="macro_window" style="margin-bottom : 7px;">
<div class="grid grid-2col" style="grid-template-columns: 150px auto">
<div class="macro_img"><img src="systems/mosh/images/icons/ui/macros/gain_stress.png" style="border:none"/></div>
<div class="macro_desc">
<h4>Gain Stress</h4>
<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>
</div>
</div>
<div class="macro_prompt">
Select your modification:
</div>
`,
buttons: [
{
label: `Gain 1 Stress`,
action: 'button_1',
callback: () => game.mosh.initModifyActor('system.other.stress.value',1,null,true),
icon: `<i class="fas fa-angle-up"></i>`
icon: `fas fa-angle-up`
},
{
label: `Gain 2 Stress`,
action: 'button_2',
callback: () => game.mosh.initModifyActor('system.other.stress.value',2,null,true),
icon: `<i class="fas fa-angle-double-up"></i>`
icon: `fas fa-angle-double-up`
},
{
label: `Gain 1d5 Stress`,
action: 'button_3',
callback: () => game.mosh.initModifyActor('system.other.stress.value',null,`1d5`,true),
icon: `<i class="fas fa-arrow-circle-up"></i>`
icon: `fas fa-arrow-circle-up`
}
]
}).render({force: true});
+20 -39
View File
@@ -7,62 +7,43 @@ if ((macroTarget === 'character' && !game.user.character) || (macroTarget === 't
//else pop up the dialog
} else {
new foundry.applications.api.DialogV2({
window: {title: `Lose Calm`},
position: {width: 600,height: 265},
window: {
title: "Lose Calm"
},
classes: ["macro-popup-dialog"],
position: {width: 600},
content: `
<style>
.macro_window{
background: rgb(230,230,230);
border-radius: 9px;
}
.macro_img{
display: flex;
justify-content: center;
}
.macro_desc{
font-family: 'Roboto', sans-serif;
font-size: 10.5pt;
font-weight: 400;
padding-top: 8px;
padding-right: 8px;
padding-bottom: 8px;
}
.grid-2col {
display: grid;
grid-column: span 2 / span 2;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 2px;
padding: 0;
}
</style>
<div class ='macro_window' style='margin-bottom : 7px;'>
<div class='grid grid-2col' style='grid-template-columns: 150px auto'>
<div class='macro_img'><img src='systems/mosh/images/icons/ui/macros/gain_stress.png' style='border:none'/></div>
<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>
</div>
</div>
<h4>Select your modification:</h4>
<div class ='macro_window' style='margin-bottom : 7px;'>
<div class='grid grid-2col' style='grid-template-columns: 150px auto'>
<div class='macro_img'><img src='systems/mosh/images/icons/ui/macros/gain_stress.png' style='border:none'/></div>
<div class='macro_desc'>
<h4>Lose Calm</h4>
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>
</div>
</div>
<div class="macro_prompt">
Select your modification:
</div>
`,
buttons: [
{
label: `Lose 5 Calm`,
action: `lose_5`,
callback: () => game.mosh.initModifyActor('system.other.stress.value',-5,null,true),
icon: `<i class='fas fa-angle-down'></i>`
icon: `fas fa-angle-down`
},
{
label: `Lose 10 Calm`,
action: `lose_10`,
callback: () => game.mosh.initModifyActor('system.other.stress.value',-10,null,true),
icon: `<i class='fas fa-angle-double-down'></i>`
icon: `fas fa-angle-double-down`
},
{
label: `Lose 1d20 Calm`,
action: `lose_1d20`,
callback: () => game.mosh.initModifyActor('system.other.stress.value',null,`-1d20`,true),
icon: `<i class='fas fa-arrow-circle-down'></i>`
icon: `fas fa-arrow-circle-down`
}
]
}).render({force: true});
+15 -33
View File
@@ -8,61 +8,43 @@ if ((macroTarget === 'character' && !game.user.character) || (macroTarget === 't
} else {
//pop up the panic check dialog box
new foundry.applications.api.DialogV2({
window: {title: `Panic Check`},
position: {width: 600,height: 265},
window: {
title: "Panic Check"
},
classes: ["macro-popup-dialog"],
position: {width: 600},
content: `
<style>
.macro_window{
background: rgb(230,230,230);
border-radius: 9px;
}
.macro_img{
display: flex;
justify-content: center;
}
.macro_desc{
font-family: "Roboto", sans-serif;
font-size: 10.5pt;
font-weight: 400;
padding-top: 8px;
padding-right: 8px;
padding-bottom: 8px;
}
.grid-2col {
display: grid;
grid-column: span 2 / span 2;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 2px;
padding: 0;
}
</style>
<div class ="macro_window" style="margin-bottom : 7px;">
<div class="grid grid-2col" style="grid-template-columns: 150px auto">
<div class="macro_img"><img src="systems/mosh/images/icons/ui/rolltables/panic_check.png" style="border:none"/></div>
<div class="macro_desc"><h3>Panic Check</h3>Stress, Damage, and emotional wear and tear eventually bring characters to their breaking point. When that happens, there’s a chance they Panic. You determine this by making a <strong>Panic Check</strong>. Some results of the Panic Table are so severe that they leave a lasting impression on you. These are called <strong>Conditions</strong>, and they affect you until you are able to treat them.
</div>
<div class="macro_desc">
<h4>Panic Check</h4>
Stress, Damage, and emotional wear and tear eventually bring characters to their breaking point. When that happens, there’s a chance they Panic. You determine this by making a <strong>Panic Check</strong>. Some results of the Panic Table are so severe that they leave a lasting impression on you. These are called <strong>Conditions</strong>, and they affect you until you are able to treat them.
</div>
</div>
</div>
<h4>Select your roll type:</h4>
<div class="macro_prompt">
Select your roll type:
</div>
`,
buttons: [
{
label: `Advantage`,
action: 'button_advantage',
callback: () => game.mosh.initRollTable(`panicCheck`,`[+]`,null,false,false,null,null),
icon: `<i class="fas fa-angle-double-up"></i>`
icon: `fas fa-angle-double-up`
},
{
label: `Normal`,
action: 'button_normal',
callback: () => game.mosh.initRollTable(`panicCheck`,``,null,false,false,null,null),
icon: `<i class="fas fa-minus"></i>`
icon: `fas fa-minus`
},
{
label: `Disadvantage`,
action: 'button_disadvantage',
callback: () => game.mosh.initRollTable(`panicCheck`,`[-]`,null,false,false,null,null),
icon: `<i class="fas fa-angle-double-down"></i>`
icon: `fas fa-angle-double-down`
}
]
}).render({force: true});
+20 -39
View File
@@ -7,62 +7,43 @@ if ((macroTarget === 'character' && !game.user.character) || (macroTarget === 't
//else pop up the dialog
} else {
new foundry.applications.api.DialogV2({
window: {title: `Relieve Stress`},
position: {width: 600,height: 265},
window: {
title: "Relieve Stress"
},
classes: ["macro-popup-dialog"],
position: {width: 600},
content: `
<style>
.macro_window{
background: rgb(230,230,230);
border-radius: 9px;
}
.macro_img{
display: flex;
justify-content: center;
}
.macro_desc{
font-family: "Roboto", sans-serif;
font-size: 10.5pt;
font-weight: 400;
padding-top: 8px;
padding-right: 8px;
padding-bottom: 8px;
}
.grid-2col {
display: grid;
grid-column: span 2 / span 2;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 2px;
padding: 0;
}
</style>
<div class ="macro_window" style="margin-bottom : 7px;">
<div class="grid grid-2col" style="grid-template-columns: 150px auto">
<div class="macro_img"><img src="systems/mosh/images/icons/ui/macros/relieve_stress.png" style="border:none"/></div>
<div class="macro_desc"><h3>Relieve Stress</h3>Occasionally, certain moments, places, or events can automatically <strong>relieve your stress.</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 stress is getting close to 20, you should consider making a <strong>Rest Save</strong> - as the effects of a failed <strong>Panic Check</strong> can be devastating.</div>
</div>
</div>
<h4>Select your modification:</h4>
<div class ="macro_window" style="margin-bottom : 7px;">
<div class="grid grid-2col" style="grid-template-columns: 150px auto">
<div class="macro_img"><img src="systems/mosh/images/icons/ui/macros/relieve_stress.png" style="border:none"/></div>
<div class="macro_desc">
<h4>Relieve Stress</h4>
Occasionally, certain moments, places, or events can automatically <strong>relieve your stress.</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 stress is getting close to 20, you should consider making a <strong>Rest Save</strong> - as the effects of a failed <strong>Panic Check</strong> can be devastating.
</div>
</div>
</div>
<div class="macro_prompt">
Select your modification:
</div>
`,
buttons: [
{
label: `Relieve 1 Stress`,
action: 'button_1',
callback: () => game.mosh.initModifyActor('system.other.stress.value',-1,null,true),
icon: `<i class="fas fa-angle-down"></i>`
icon: `fas fa-angle-down`
},
{
label: `Relieve 2 Stress`,
action: 'button_2',
callback: () => game.mosh.initModifyActor('system.other.stress.value',-2,null,true),
icon: `<i class="fas fa-angle-double-down"></i>`
icon: `fas fa-angle-double-down`
},
{
label: `Relieve 1d5 Stress`,
action: 'button_3',
callback: () => game.mosh.initModifyActor('system.other.stress.value',null,`-1d5`,true),
icon: `<i class="fas fa-arrow-circle-down"></i>`
icon: `fas fa-arrow-circle-down`
}
]
}).render({force: true});
+13 -32
View File
@@ -7,39 +7,20 @@ if ((macroTarget === 'character' && !game.user.character) || (macroTarget === 't
//else pop up the dialog
} else {
new foundry.applications.api.DialogV2({
window: {title: `Rest Save`},
position: {width: 600,height: 237},
window: {
title: "Rest Save"
},
classes: ["macro-popup-dialog"],
position: {width: 600},
content: `
<style>
.macro_window{
background: rgb(230,230,230);
border-radius: 9px;
}
.macro_img{
display: flex;
justify-content: center;
}
.macro_desc{
font-family: "Roboto", sans-serif;
font-size: 10.5pt;
font-weight: 400;
padding-top: 8px;
padding-right: 8px;
padding-bottom: 8px;
}
.grid-2col {
display: grid;
grid-column: span 2 / span 2;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 2px;
padding: 0;
}
</style>
<div class ="macro_window" style="margin-bottom : 7px;">
<div class="grid grid-2col" style="grid-template-columns: 150px auto">
<div class="macro_img"><img src="systems/mosh/images/icons/ui/macros/rest_save.png" style="border:none"/></div>
<div class="macro_desc"><h3>Rest Save</h3>You can relieve Stress by resting in a relatively safe place. If you succeed, reduce your Stress; <strong>if you fail, you gain 1 Stress instead.</strong> Players can gain Advantage on their Rest Save by participating in consensual sex, recreational drug use, a night of heavy drinking, prayer, or any other suitable leisure activity. Unsafe locations may incur Disadvantage.</div>
</div>
<div class="grid grid-2col" style="grid-template-columns: 150px auto">
<div class="macro_img"><img src="systems/mosh/images/icons/ui/macros/rest_save.png" style="border:none"/></div>
<div class="macro_desc">
<h4>Rest Save</h4>
You can relieve Stress by resting in a relatively safe place. If you succeed, reduce your Stress; <strong>if you fail, you gain 1 Stress instead.</strong> Players can gain Advantage on their Rest Save by participating in consensual sex, recreational drug use, a night of heavy drinking, prayer, or any other suitable leisure activity. Unsafe locations may incur Disadvantage.
</div>
</div>
</div>
`,
buttons: [
@@ -47,7 +28,7 @@ if ((macroTarget === 'character' && !game.user.character) || (macroTarget === 't
label: `Next`,
action: 'button_next',
callback: () => game.mosh.initRollCheck(null,'low','restSave',null,null,null),
icon: `<i class="fas fa-chevron-circle-right"></i>`
icon: `fas fa-chevron-circle-right`
}
]
}).render({force: true});
+17 -36
View File
@@ -7,43 +7,24 @@ if ((macroTarget === 'character' && !game.user.character) || (macroTarget === 't
//else pop up the dialog
} else {
new foundry.applications.api.DialogV2({
window: {title: `Save`},
position: {width: 600,height: 470},
window: {
title: "Save"
},
classes: ["macro-popup-dialog"],
position: {width: 600},
content: `
<style>
.macro_window{
background: rgb(230,230,230);
border-radius: 9px;
}
.macro_img{
display: flex;
justify-content: center; //do I need this
}
.macro_desc{
font-family: "Roboto", sans-serif;
font-size: 10.5pt;
font-weight: 400;
padding-top: 8px;
padding-right: 8px;
padding-bottom: 8px;
}
.grid-2col {
display: grid;
grid-column: span 2 / span 2;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 2px;
padding: 0;
}
</style>
<div class ="macro_window" style="margin-bottom : 7px;">
<div class ="macro_window">
<div class="grid grid-2col" style="grid-template-columns: 150px auto">
<div class="macro_img"><img src="systems/mosh/images/icons/ui/macros/save.png" style="border:none"/></div>
<div class="macro_desc"><h3>Save</h3>You have three Saves which represent your ability to withstand different kinds of trauma. In order to avoid certain dangers, you sometimes need to roll a Save. <strong>If you roll less than your Save you succeed. Otherwise you fail, and gain 1 Stress.</strong> A roll of 90-99 is always a failure. A Critical Failure means something bad happens, and furthermore you must make a Panic Check.</div>
<div class="macro_desc">
<h4>Save</h4>
You have three Saves which represent your ability to withstand different kinds of trauma. In order to avoid certain dangers, you sometimes need to roll a Save. <strong>If you roll less than your Save you succeed. Otherwise you fail, and gain 1 Stress.</strong> A roll of 90-99 is always a failure. A Critical Failure means something bad happens, and furthermore you must make a Panic Check.
</div>
</div>
</div>
<label for="san">
<div class ="macro_window" style="margin-bottom : 7px; vertical-align: middle; padding-left: 3px;">
<div class="grid grid-3col" style="grid-template-columns: 20px 60px auto">
<div class ="macro_window" style="vertical-align: middle; padding-left: 3px;">
<div class="grid grid-3col" style="align-items: center; grid-template-columns: 20px 60px auto">
<input type="radio" id="san" name="save" value="sanity" checked="checked">
<div class="macro_img" style="padding-top: 5px; padding-left: 0px; padding-right: 0px; padding-bottom: 5px;"><img src="systems/mosh/images/icons/ui/attributes/sanity.png" style="border:none"/></div>
<div class="macro_desc" style="display: table;">
@@ -55,8 +36,8 @@ if ((macroTarget === 'character' && !game.user.character) || (macroTarget === 't
</div>
</label>
<label for="fer">
<div class ="macro_window" style="margin-bottom : 7px; vertical-align: middle; padding-left: 3px;">
<div class="grid grid-3col" style="grid-template-columns: 20px 60px auto">
<div class ="macro_window" style="vertical-align: middle; padding-left: 3px;">
<div class="grid grid-3col" style="align-items: center; grid-template-columns: 20px 60px auto">
<input type="radio" id="fer" name="save" value="fear">
<div class="macro_img" style="padding-top: 5px; padding-left: 0px; padding-right: 0px; padding-bottom: 5px;"><img src="systems/mosh/images/icons/ui/attributes/fear.png" style="border:none"/></div>
<div class="macro_desc" style="display: table;">
@@ -68,8 +49,8 @@ if ((macroTarget === 'character' && !game.user.character) || (macroTarget === 't
</div>
</label>
<label for="bod">
<div class ="macro_window" style="margin-bottom : 7px; vertical-align: middle; padding-left: 3px;">
<div class="grid grid-3col" style="grid-template-columns: 20px 60px auto">
<div class ="macro_window" style="vertical-align: middle; padding-left: 3px;">
<div class="grid grid-3col" style="align-items: center; grid-template-columns: 20px 60px auto">
<input type="radio" id="bod" name="save" value="body">
<div class="macro_img" style="padding-top: 5px; padding-left: 0px; padding-right: 0px; padding-bottom: 5px;"><img src="systems/mosh/images/icons/ui/attributes/body.png" style="border:none"/></div>
<div class="macro_desc" style="display: table;">
@@ -86,7 +67,7 @@ if ((macroTarget === 'character' && !game.user.character) || (macroTarget === 't
label: `Next`,
action: 'button_1',
callback: (event, button, dialog) => game.mosh.initRollCheck(null,'low',button.form.querySelector("input[name='save']:checked").value,null,null,null),
icon: `<i class="fas fa-chevron-circle-right"></i>`
icon: `fas fa-chevron-circle-right`
}
]
}).render({force: true});
+19 -39
View File
@@ -7,44 +7,24 @@ if ((macroTarget === 'character' && !game.user.character) || (macroTarget === 't
//else pop up the dialog
} else {
new foundry.applications.api.DialogV2({
window: {title: `Stat Check`},
position: {width: 600,height: 545},
window: {
title: "Stat Check"
},
classes: ["macro-popup-dialog"],
position: {width: 600},
content: `
<style>
.macro_window{
background: rgb(230,230,230);
border-radius: 9px;
}
.macro_img{
display: flex;
justify-content: center; //do I need this
}
.macro_desc{
font-family: "Roboto", sans-serif;
font-size: 10.5pt;
font-weight: 400;
padding-top: 8px;
padding-right: 8px;
padding-bottom: 8px;
}
.grid-2col {
display: grid;
grid-column: span 2 / span 2;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 2px;
padding: 0;
}
</style>
<div class ="macro_window" style="margin-bottom : 7px;">
<div class ="macro_window">
<div class="grid grid-2col" style="grid-template-columns: 150px auto">
<div class="macro_img"><img src="systems/mosh/images/icons/ui/macros/stat_check.png" style="border:none"/></div>
<div class="macro_desc"><h3>Stat Check</h3>You have four Stats which represent your ability to act under extreme pressure. Whenever you want to do something and the price for failure is high, roll a stat check. <strong>If you roll less than your Stat you succeed. Otherwise, you fail and gain 1 Stress.</strong> A roll of 90-99 is always a failure. A Critical Failure means something bad happens, and furthermore you must make a Panic Check.</div>
<div class="macro_desc">
<h4>Stat Check</h4>
You have four Stats which represent your ability to act under extreme pressure. Whenever you want to do something and the price for failure is high, roll a stat check. <strong>If you roll less than your Stat you succeed. Otherwise, you fail and gain 1 Stress.</strong> A roll of 90-99 is always a failure. A Critical Failure means something bad happens, and furthermore you must make a Panic Check.
</div>
</div>
</div>
<label for="str">
<div class ="macro_window" style="margin-bottom : 7px; vertical-align: middle; padding-left: 3px;">
<div class="grid grid-3col" style="grid-template-columns: 20px 60px auto">
<div class ="macro_window" style="vertical-align: middle; padding-left: 3px;">
<div class="grid grid-3col" style="align-items: center; grid-template-columns: 20px 60px auto">
<input type="radio" id="str" name="stat" value="strength" checked="checked">
<div class="macro_img" style="padding-top: 5px; padding-left: 0px; padding-right: 0px; padding-bottom: 5px;"><img src="systems/mosh/images/icons/ui/attributes/strength.png" style="border:none"/></div>
<div class="macro_desc" style="display: table;">
@@ -56,8 +36,8 @@ if ((macroTarget === 'character' && !game.user.character) || (macroTarget === 't
</div>
</label>
<label for="spd">
<div class ="macro_window" style="margin-bottom : 7px; vertical-align: middle; padding-left: 3px;">
<div class="grid grid-3col" style="grid-template-columns: 20px 60px auto">
<div class ="macro_window" style="vertical-align: middle; padding-left: 3px;">
<div class="grid grid-3col" style="align-items: center; grid-template-columns: 20px 60px auto">
<input type="radio" id="spd" name="stat" value="speed">
<div class="macro_img" style="padding-top: 5px; padding-left: 0px; padding-right: 0px; padding-bottom: 5px;"><img src="systems/mosh/images/icons/ui/attributes/speed.png" style="border:none"/></div>
<div class="macro_desc" style="display: table;">
@@ -69,8 +49,8 @@ if ((macroTarget === 'character' && !game.user.character) || (macroTarget === 't
</div>
</label>
<label for="int">
<div class ="macro_window" style="margin-bottom : 7px; vertical-align: middle; padding-left: 3px;">
<div class="grid grid-3col" style="grid-template-columns: 20px 60px auto">
<div class ="macro_window" style="vertical-align: middle; padding-left: 3px;">
<div class="grid grid-3col" style="align-items: center; grid-template-columns: 20px 60px auto">
<input type="radio" id="int" name="stat" value="intellect">
<div class="macro_img" style="padding-top: 5px; padding-left: 0px; padding-right: 0px; padding-bottom: 5px;"><img src="systems/mosh/images/icons/ui/attributes/intellect.png" style="border:none"/></div>
<div class="macro_desc" style="display: table;">
@@ -82,8 +62,8 @@ if ((macroTarget === 'character' && !game.user.character) || (macroTarget === 't
</div>
</label>
<label for="com">
<div class ="macro_window" style="margin-bottom : 7px; vertical-align: middle; padding-left: 3px;">
<div class="grid grid-3col" style="grid-template-columns: 20px 60px auto">
<div class ="macro_window" style="vertical-align: middle; padding-left: 3px;">
<div class="grid grid-3col" style="align-items: center; grid-template-columns: 20px 60px auto">
<input type="radio" id="com" name="stat" value="combat">
<div class="macro_img" style="padding-top: 5px; padding-left: 0px; padding-right: 0px; padding-bottom: 5px;"><img src="systems/mosh/images/icons/ui/attributes/combat.png" style="border:none"/></div>
<div class="macro_desc" style="display: table;">
@@ -100,7 +80,7 @@ if ((macroTarget === 'character' && !game.user.character) || (macroTarget === 't
label: `Next`,
action: 'button_1',
callback: (event, button, dialog) => game.mosh.initRollCheck(null,'low',button.form.querySelector("input[name='stat']:checked").value,null,null,null),
icon: `<i class="fas fa-chevron-circle-right"></i>`
icon: `fas fa-chevron-circle-right`
}
]
}).render({force: true});
@@ -8,44 +8,24 @@ if ((macroTarget === 'character' && !game.user.character) || (macroTarget === 't
} else {
//pop up the wound roll dialog box
new foundry.applications.api.DialogV2({
window: {title: `Wound Roll`},
position: {width: 600,height: 650},
window: {
title: "Wound Roll"
},
classes: ["macro-popup-dialog"],
position: {width: 600},
content: `
<style>
.macro_window{
background: rgb(230,230,230);
border-radius: 9px;
}
.macro_img{
display: flex;
justify-content: center;
}
.macro_desc{
font-family: "Roboto", sans-serif;
font-size: 10.5pt;
font-weight: 400;
padding-top: 8px;
padding-right: 8px;
padding-bottom: 8px;
}
.grid-2col {
display: grid;
grid-column: span 2 / span 2;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 2px;
padding: 0;
}
</style>
<div class ="macro_window" style="margin-bottom : 7px;">
<div class ="macro_window">
<div class="grid grid-2col" style="grid-template-columns: 150px auto">
<div class="macro_img"><img src="systems/mosh/images/icons/ui/macros/wound_roll.png" style="border:none"/></div>
<div class="macro_desc"><h3>Wound Roll</h3>Make a <strong>Wound Roll</strong> according to the type of Damage received. <strong>Flesh Wounds</strong> are small inconveniences. <strong>Minor/Major Injuries</strong> cause lasting issues which require medical treatment. <strong>Lethal Injuries</strong> can kill you if not dealt with immediately. <strong>Fatal Injuries</strong> can kill outright. <strong>Bleeding</strong> wounds, if not treated can quickly overwhelm you.</div>
<div class="macro_desc">
<h4>Wound Roll</h4>
Make a <strong>Wound Roll</strong> according to the type of Damage received.<br><strong>Flesh Wounds</strong> are small inconveniences.<br><strong>Minor/Major Injuries</strong> cause lasting issues that require treatment.<br><strong>Lethal Injuries</strong> can kill you if not dealt with immediately.<br><strong>Fatal Injuries</strong> can kill outright.<br><strong>Bleeding</strong> wounds, if not treated can quickly overwhelm you.
</div>
</div>
</div>
<label for="bf">
<div class ="macro_window" style="margin-bottom : 7px; vertical-align: middle; padding-left: 3px;">
<div class="grid grid-3col" style="grid-template-columns: 20px 60px auto">
<div class ="macro_window" style="vertical-align: middle; padding-left: 3px;">
<div class="grid grid-3col" style="align-items: center; grid-template-columns: 20px 60px auto">
<input type="radio" id="bf" name="wound_table" value="31YibfjueXuZdNLb" checked="checked">
<div class="macro_img" style="padding-top: 5px; padding-left: 0px; padding-right: 0px; padding-bottom: 5px;"><img src="systems/mosh/images/icons/ui/rolltables/wounds_blunt_force.png" style="border:none"/></div>
<div class="macro_desc" style="display: table;">
@@ -57,8 +37,8 @@ if ((macroTarget === 'character' && !game.user.character) || (macroTarget === 't
</div>
</label>
<label for="b">
<div class ="macro_window" style="margin-bottom : 7px; vertical-align: middle; padding-left: 3px;">
<div class="grid grid-3col" style="grid-template-columns: 20px 60px auto">
<div class ="macro_window" style="vertical-align: middle; padding-left: 3px;">
<div class="grid grid-3col" style="align-items: center; grid-template-columns: 20px 60px auto">
<input type="radio" id="b" name="wound_table" value="ata3fRz3uoPfNCLh">
<div class="macro_img" style="padding-top: 5px; padding-left: 0px; padding-right: 0px; padding-bottom: 5px;"><img src="systems/mosh/images/icons/ui/rolltables/wounds_bleeding.png" style="border:none"/></div>
<div class="macro_desc" style="display: table;">
@@ -70,8 +50,8 @@ if ((macroTarget === 'character' && !game.user.character) || (macroTarget === 't
</div>
</label>
<label for="g">
<div class ="macro_window" style="margin-bottom : 7px; vertical-align: middle; padding-left: 3px;">
<div class="grid grid-3col" style="grid-template-columns: 20px 60px auto">
<div class ="macro_window" style="vertical-align: middle; padding-left: 3px;">
<div class="grid grid-3col" style="align-items: center; grid-template-columns: 20px 60px auto">
<input type="radio" id="g" name="wound_table" value="XjDU2xFOWEasaZK0">
<div class="macro_img" style="padding-top: 5px; padding-left: 0px; padding-right: 0px; padding-bottom: 5px;"><img src="systems/mosh/images/icons/ui/rolltables/wounds_gunshot.png" style="border:none"/></div>
<div class="macro_desc" style="display: table;">
@@ -83,8 +63,8 @@ if ((macroTarget === 'character' && !game.user.character) || (macroTarget === 't
</div>
</label>
<label for="fe">
<div class ="macro_window" style="margin-bottom : 7px; vertical-align: middle; padding-left: 3px;">
<div class="grid grid-3col" style="grid-template-columns: 20px 60px auto">
<div class ="macro_window" style="vertical-align: middle; padding-left: 3px;">
<div class="grid grid-3col" style="align-items: center; grid-template-columns: 20px 60px auto">
<input type="radio" id="fe" name="wound_table" value="lqiaWwh5cGcJhvnu">
<div class="macro_img" style="padding-top: 5px; padding-left: 0px; padding-right: 0px; padding-bottom: 5px;"><img src="systems/mosh/images/icons/ui/rolltables/wounds_fire_&_explosives.png" style="border:none"/></div>
<div class="macro_desc" style="display: table;">
@@ -96,8 +76,8 @@ if ((macroTarget === 'character' && !game.user.character) || (macroTarget === 't
</div>
</label>
<label for="gm">
<div class ="macro_window" style="margin-bottom : 7px; vertical-align: middle; padding-left: 3px;">
<div class="grid grid-3col" style="grid-template-columns: 20px 60px auto">
<div class ="macro_window" style="vertical-align: middle; padding-left: 3px;">
<div class="grid grid-3col" style="align-items: center; grid-template-columns: 20px 60px auto">
<input type="radio" id="gm" name="wound_table" value="uVfC1CqYdojaJ7yR">
<div class="macro_img" style="padding-top: 5px; padding-left: 0px; padding-right: 0px; padding-bottom: 5px;"><img src="systems/mosh/images/icons/ui/rolltables/wounds_gore_&_massive.png" style="border:none"/></div>
<div class="macro_desc" style="display: table;">
@@ -108,26 +88,28 @@ if ((macroTarget === 'character' && !game.user.character) || (macroTarget === 't
</div>
</div>
</label>
<h4>Select your roll type:</h4>
<div class="macro_prompt">
Select your roll type:
</div>
`,
buttons: [
{
label: `Advantage`,
action: 'action_advantage',
callback: (event, button, dialog) => game.mosh.initRollTable(button.form.querySelector("input[name='wound_table']:checked").value,`1d10 [+]`,`low`,true,false,null,null),
icon: `<i class="fas fa-angle-double-up"></i>`
icon: `fas fa-angle-double-up`
},
{
label: `Normal`,
action: 'action_normal',
callback: (event, button, dialog) => game.mosh.initRollTable(button.form.querySelector("input[name='wound_table']:checked").value,`1d10`,`low`,true,false,null,null),
icon: `<i class="fas fa-minus"></i>`
icon: `fas fa-minus`
},
{
label: `Disadvantage`,
action: 'action_disadvantage',
callback: (event, button, dialog) => game.mosh.initRollTable(button.form.querySelector("input[name='wound_table']:checked").value,`1d10 [-]`,`low`,true,false,null,null),
icon: `<i class="fas fa-angle-double-down"></i>`
icon: `fas fa-angle-double-down`
}
]
}).render({force: true});
+164 -2
View File
@@ -1748,7 +1748,169 @@ p {
text-align: center;
}
/*# sourceMappingURL=styles.css.map */
/* Dialog V2 - Macro Pop Ups */
/* Base dialog styling */
.application.dialog.macro-popup-dialog {
background: rgb(255,255,255);
font-family: "Roboto", sans-serif;
color: #1A1915;
}
/*# sourceMappingURL=styles.css.map */
/* Adjust dialog content gap */
.macro-popup-dialog .dialog-content.standard-form {
gap: .5rem;
}
/* Adjust dialog form gap */
.macro-popup-dialog .dialog-form.standard-form {
gap: .5rem;
}
/* MPD window header */
.macro-popup-dialog .window-header {
background: rgb(25,25,25);
}
/* MPD window content */
.macro-popup-dialog .window-content {
padding: 10px;
}
/* MPD macro window */
.macro-popup-dialog .macro_window {
background: rgb(230,230,230);
border-radius: 9px;
}
/* MPD macro image */
.macro-popup-dialog .macro_img {
}
/* MPD macro desc */
.macro-popup-dialog .macro_desc {
font-family: "Roboto", sans-serif;
font-size: 10.5pt;
font-weight: 400;
padding-top: 8px;
padding-left: 0px;
padding-right: 8px;
padding-bottom: 8px;
}
/* MPD macro desc — title styling */
.macro-popup-dialog .macro_desc h4 {
font-family: "Roboto", sans-serif;
font-size: 14pt;
font-weight: 400;
color: #1A1915;
border-bottom: 1px solid darkred;
margin-bottom: 8px;
}
/* MPD macro prompt */
.macro-popup-dialog .macro_prompt {
}
/* MPD grid layouts */
.macro-popup-dialog .grid-1col {
grid-column: span 1 / span 1;
grid-template-columns: repeat(1, minmax(0, 1fr));
}
.macro-popup-dialog .grid-2col {
display: grid;
grid-column: span 2 / span 2;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 2px;
padding: 0;
}
.macro-popup-dialog .grid-3col {
grid-column: span 3 / span 3;
grid-template-columns: repeat(3, minmax(0, 1fr));
}
/* update buttons to look more old school */
.macro-popup-dialog .form-footer button {
background: rgb(230,230,230);
color: #1A1915;
border: 1px solid #222;
border-radius: 4px;
padding: 4px 10px;
font-size: 11pt;
font-weight: 500;
display: flex;
align-items: center;
gap: 6px;
}
.macro-popup-dialog .form-footer button:hover {
background: #444;
color: #fff;
border-color: #111;
}
/* Custom radio: kill native + theme accents */
.macro-popup-dialog input[type="radio"] {
appearance: none;
-webkit-appearance: none;
accent-color: initial; /* ignore theme accent */
box-sizing: border-box;
width: 16px;
height: 16px;
border: 2px solid #777; /* medium grey ring */
border-radius: 50%;
background: #fff; /* white center when unchecked */
display: inline-flex; /* center the pseudo-dot */
align-items: center;
justify-content: center;
line-height: 0;
margin: 0 8px 0 2px;
vertical-align: middle;
/* nuke any theme glow/orange */
box-shadow: none !important;
outline: none;
}
/* The inner dot (hidden until checked) */
.macro-popup-dialog input[type="radio"]::before {
content: "";
width: 8px;
height: 8px;
border-radius: 50%;
background: #111; /* dot color */
transform: scale(0);
transition: transform 120ms ease-in-out;
}
/* Checked = show the dot */
.macro-popup-dialog input[type="radio"]:checked::before {
transform: scale(1);
}
/* Checked = show the dot */
.macro-popup-dialog input[type="radio"]:checked::after {
color: none !important;
width: 8px;
height: 8px;
border-radius: 50%;
transform: scale(0);
background: #ffffff;
}
/* Hover/focus states (accessible, non-orange) */
.macro-popup-dialog input[type="radio"]:hover { border-color: #5c5c5c; }
.macro-popup-dialog input[type="radio"]:focus-visible {
outline: 2px solid #9a9a9a;
outline-offset: 2px;
}
/* If your theme highlights the whole row via :has(input:checked), strip it here */
.macro-popup-dialog label:has(input[type="radio"]:checked) {
background: inherit !important;
box-shadow: none !important;
}
+3 -2
View File
@@ -556,6 +556,7 @@ export class MothershipActorSheet extends foundry.appv1.sheets.ActorSheet {
let d = new foundry.applications.api.DialogV2({
window: {title: `New Skill`},
classes: ["macro-popup-dialog"],
content: "<h2> Name </h2>\
<input type='text' id='name' name='name' value='New Skill'>\
<h2> Rank </h2> <select style='margin-bottom:10px;'name='rank' id='rank'>\
@@ -564,7 +565,7 @@ export class MothershipActorSheet extends foundry.appv1.sheets.ActorSheet {
<option value='Master'>Master</option></select> <br/>",
buttons: [
{
icon: '<i class="fas fa-check"></i>',
icon: 'fas fa-check',
action: "create",
label: "Create",
callback: (event, button, dialog) => {
@@ -582,7 +583,7 @@ export class MothershipActorSheet extends foundry.appv1.sheets.ActorSheet {
}
},
{
icon: '<i class="fas fa-times"></i>',
icon: 'fas fa-times',
action: "cancel",
label: "Cancel",
callback: () => { }
+43 -33
View File
@@ -900,6 +900,7 @@ export class MothershipActor extends Actor {
//create final dialog data
const dialogData = {
window: {title: game.i18n.localize("Mosh.ChooseAStat")},
classes: ["macro-popup-dialog"],
position: {width: 600,height: 500},
content: dialogDesc + buttonDesc,
buttons: []
@@ -918,7 +919,7 @@ export class MothershipActor extends Actor {
resolve([rollString, aimFor, attribute]);
console.log(`User left the chooseAttribute dialog with: rollString:${rollString}, aimFor:${aimFor}, attribute:${attribute}`);
},
icon: `<i class="fas fa-angle-double-up"></i>`
icon: `fas fa-angle-double-up`
},
{
label: game.i18n.localize("Mosh.Normal"),
@@ -930,7 +931,7 @@ export class MothershipActor extends Actor {
resolve([rollString, aimFor, attribute]);
console.log(`User left the chooseAttribute dialog with: rollString:${rollString}, aimFor:${aimFor}, attribute:${attribute}`);
},
icon: `<i class="fas fa-minus"></i>`
icon: `fas fa-minus`
},
{
label: game.i18n.localize("Mosh.Disadvantage"),
@@ -942,7 +943,7 @@ export class MothershipActor extends Actor {
resolve([rollString, aimFor, attribute]);
console.log(`User left the chooseAttribute dialog with: rollString:${rollString}, aimFor:${aimFor}, attribute:${attribute}`);
},
icon: `<i class="fas fa-angle-double-down"></i>`
icon: `fas fa-angle-double-down`
}
]
//add a next button if we dont need a rollString
@@ -957,7 +958,7 @@ export class MothershipActor extends Actor {
resolve([rollString, aimFor, attribute]);
console.log(`User left the chooseAttribute dialog with: rollString:${rollString}, aimFor:${aimFor}, attribute:${attribute}`);
},
icon: `<i class="fas fa-chevron-circle-right"></i>`
icon: `fas fa-chevron-circle-right`
}
]
}
@@ -981,8 +982,8 @@ export class MothershipActor extends Actor {
//skill template
let skillRow = `
<label for="[RADIO_ID]">
<div class ="macro_window" style="margin-bottom : 7px; vertical-align: middle; padding-left: 3px;">
<div class="grid grid-4col" style="grid-template-columns: 20px 60px 45px auto">
<div class ="macro_window" style="vertical-align: middle; padding-left: 3px;">
<div class="grid grid-4col" style="align-items: center; grid-template-columns: 20px 60px 45px auto">
<input type="radio" id="[RADIO_ID]" name="skill" value="[RADIO_VALUE]">
<div class="macro_img" style="padding-top: 5px; padding-left: 0px; padding-right: 0px; padding-bottom: 5px;"><img src="[RADIO_IMG]" style="border:none"/></div>
<div class="macro_desc" style="display: table;">
@@ -1040,14 +1041,15 @@ export class MothershipActor extends Actor {
}
//create button header if needed
if (!rollString) {
buttonDesc = `<h4>` + game.i18n.localize("Mosh.SelectYourRollType") + `:</h4>`;
buttonDesc = `<div class="macro_prompt">` + game.i18n.localize("Mosh.SelectYourRollType") + `:</div>`;
} else {
buttonDesc = ``;
}
//create final dialog data
const dialogData = {
window: {title: dlgTitle},
position: {width: 600,height: dialogHeight},
classes: ["macro-popup-dialog"],
position: {width: 600},
content: skillHeader + skillList + buttonDesc,
buttons: []
};
@@ -1065,7 +1067,7 @@ export class MothershipActor extends Actor {
resolve([rollString, skill, skillValue]);
console.log(`User left the chooseSkill dialog with: rollString:${rollString}, skill:${skill}, skillValue:${skillValue}`);
},
icon: `<i class="fas fa-angle-double-up"></i>`
icon: `fas fa-angle-double-up`
},
{
label: game.i18n.localize("Mosh.Normal"),
@@ -1077,7 +1079,7 @@ export class MothershipActor extends Actor {
resolve([rollString, skill, skillValue]);
console.log(`User left the chooseSkill dialog with: rollString:${rollString}, skill:${skill}, skillValue:${skillValue}`);
},
icon: `<i class="fas fa-minus"></i>`
icon: `fas fa-minus`
},
{
label: game.i18n.localize("Mosh.Disadvantage"),
@@ -1089,7 +1091,7 @@ export class MothershipActor extends Actor {
resolve([rollString, skill, skillValue]);
console.log(`User left the chooseSkill dialog with: rollString:${rollString}, skill:${skill}, skillValue:${skillValue}`);
},
icon: `<i class="fas fa-angle-double-down"></i>`
icon: `fas fa-angle-double-down`
}
]
//add a next button if we dont need a rollString
@@ -1104,7 +1106,7 @@ export class MothershipActor extends Actor {
resolve([rollString, skill, skillValue]);
console.log(`User left the chooseSkill dialog with: rollString:${rollString}, skill:${skill}, skillValue:${skillValue}`);
},
icon: `<i class="fas fa-chevron-circle-right"></i>`
icon: `fas fa-chevron-circle-right`
}
]
}
@@ -1125,7 +1127,8 @@ export class MothershipActor extends Actor {
//create final dialog data
const dialogData = {
window: {title: dlgTitle},
position: {width: 600,height: 105},
classes: ["macro-popup-dialog"],
position: {width: 600},
content: `<h4>` + game.i18n.localize("Mosh.SelectYourRollType") + `:</h4>`,
buttons: [
{
@@ -1136,7 +1139,7 @@ export class MothershipActor extends Actor {
resolve([rollString]);
console.log(`User left the chooseAdvantage dialog with: rollString:${rollString}`);
},
icon: `<i class="fas fa-angle-double-up"></i>`
icon: `fas fa-angle-double-up`
},
{
label: game.i18n.localize("Mosh.Normal"),
@@ -1146,7 +1149,7 @@ export class MothershipActor extends Actor {
resolve([rollString]);
console.log(`User left the chooseAdvantage dialog with: rollString:${rollString}`);
},
icon: `<i class="fas fa-minus"></i>`
icon: `fas fa-minus`
},
{
label: game.i18n.localize("Mosh.Disadvantage"),
@@ -1156,7 +1159,7 @@ export class MothershipActor extends Actor {
resolve([rollString]);
console.log(`User left the chooseAdvantage dialog with: rollString:${rollString}`);
},
icon: `<i class="fas fa-angle-double-down"></i>`
icon: `fas fa-angle-double-down`
}
]
};
@@ -2262,19 +2265,20 @@ export class MothershipActor extends Actor {
//create final dialog data
const dialogData = {
title: game.i18n.localize("Mosh.WeaponIssue"),
classes: ["macro-popup-dialog"],
content: `<h4>` + game.i18n.localize("Mosh.OutOfAmmoNeedReload") + `</h4><br/>`,
buttons: [
{
label: game.i18n.localize("Mosh.Reload"),
action: `action_reload`,
callback: () => this.reloadWeapon(itemId),
icon: `<i class="fas fa-check"></i>`
icon: `fas fa-check`
},
{
label: `Cancel`,
action: `action_cancel`,
callback: () => {},
icon: `<i class="fas fa-times"></i>`
icon: `fas fa-times`
}
]
};
@@ -2292,13 +2296,14 @@ export class MothershipActor extends Actor {
//create final dialog data
const dialogData = {
title: game.i18n.localize("Mosh.WeaponIssue"),
classes: ["macro-popup-dialog"],
content: `<h4>` + game.i18n.localize("Mosh.OutOfAmmo") + `</h4><br/>`,
buttons: [
{
label: game.i18n.localize("Mosh.OK"),
action: `action_okay`,
callback: () => {},
icon: '<i class="fas fa-check"></i>'
icon: 'fas fa-check'
}
]
};
@@ -2591,7 +2596,8 @@ export class MothershipActor extends Actor {
//create final dialog data
const dialogData = {
window: {title: game.i18n.localize("Mosh.Cover")},
position: {width: 600,height: 580},
classes: ["macro-popup-dialog"],
position: {width: 600},
content: msgContent,
buttons: [
{
@@ -2603,7 +2609,7 @@ export class MothershipActor extends Actor {
});
console.log(`User's cover is now:${button.form.querySelector("input[name='cover']:checked")?.getAttribute("value")}`);
},
icon: '<i class="fas fa-check"></i>'
icon: 'fas fa-check'
}
]
};
@@ -2624,6 +2630,7 @@ export class MothershipActor extends Actor {
//create final dialog data
const dialogData = {
window: {title: game.i18n.localize("Mosh.DistressSignal")},
classes: ["macro-popup-dialog"],
position: {width: 600,height: 265},
content: msgContent,
buttons: [
@@ -2631,19 +2638,19 @@ export class MothershipActor extends Actor {
label: game.i18n.localize("Mosh.Advantage"),
action: `action_advantage`,
callback: () => this.rollTable(game.settings.get('mosh', 'table1eDistressSignal'), `1d10 [+]`, `low`, true, false, null, null),
icon: `<i class="fas fa-angle-double-up"></i>`
icon: `fas fa-angle-double-up`
},
{
label: game.i18n.localize("Mosh.Normal"),
action: `action_normal`,
callback: () => this.rollTable(game.settings.get('mosh', 'table1eDistressSignal'), `1d10`, `low`, true, false, null, null),
icon: `<i class="fas fa-minus"></i>`
icon: `fas fa-minus`
},
{
label: game.i18n.localize("Mosh.Disadvantage"),
action: `action_disadvantage`,
callback: () => this.rollTable(game.settings.get('mosh', 'table1eDistressSignal'), `1d10 [-]`, `low`, true, false, null, null),
icon: `<i class="fas fa-angle-double-down"></i>`
icon: `fas fa-angle-double-down`
}
]
};
@@ -2665,6 +2672,7 @@ export class MothershipActor extends Actor {
//create final dialog data
const dialogData = {
window: {title: game.i18n.localize("Mosh.MaintenanceCheck")},
classes: ["macro-popup-dialog"],
position: {width: 600,height: 265},
content: msgContent,
buttons: [
@@ -2672,19 +2680,19 @@ export class MothershipActor extends Actor {
label: game.i18n.localize("Mosh.Advantage"),
action: `action_advantage`,
callback: () => this.rollTable(`maintenanceCheck`, `1d100 [+]`, `low`, null, null, null, null),
icon: `<i class="fas fa-angle-double-up"></i>`
icon: `fas fa-angle-double-up`
},
{
label: game.i18n.localize("Mosh.Normal"),
action: `action_normal`,
callback: () => this.rollTable(`maintenanceCheck`, `1d100`, `low`, null, null, null, null),
icon: `<i class="fas fa-minus"></i>`
icon: `fas fa-minus`
},
{
label: game.i18n.localize("Mosh.Disadvantage"),
action: `action_disadvantage`,
callback: () => this.rollTable(`maintenanceCheck`, `1d100 [-]`, `low`, null, null, null, null),
icon: `<i class="fas fa-angle-double-down"></i>`
icon: `fas fa-angle-double-down`
}
]
};
@@ -2706,6 +2714,7 @@ export class MothershipActor extends Actor {
//create final dialog data
const dialogData = {
window: {title: game.i18n.localize("Mosh.BankrupcySave")},
classes: ["macro-popup-dialog"],
position: {width: 600,height: 265},
content: msgContent,
buttons: [
@@ -2713,19 +2722,19 @@ export class MothershipActor extends Actor {
label: game.i18n.localize("Mosh.Advantage"),
action: `action_advantage`,
callback: () => this.rollCheck(`1d100 [+]`, `low`, `bankruptcySave`, null, null, null),
icon: `<i class="fas fa-angle-double-up"></i>`
icon: `fas fa-angle-double-up`
},
{
label: game.i18n.localize("Mosh.Normal"),
action: `action_normal`,
callback: () => this.rollCheck(`1d100`, `low`, `bankruptcySave`, null, null, null),
icon: `<i class="fas fa-minus"></i>`
icon: `fas fa-minus`
},
{
label: game.i18n.localize("Mosh.Disadvantage"),
action: `action_disadvantage`,
callback: () => this.rollCheck(`1d100 [-]`, `low`, `bankruptcySave`, null, null, null),
icon: `<i class="fas fa-angle-double-down"></i>`
icon: `fas fa-angle-double-down`
}
]
};
@@ -2782,6 +2791,7 @@ export class MothershipActor extends Actor {
//create final dialog data
const dialogData = {
window: {title: `Morale Check`},
classes: ["macro-popup-dialog"],
position: {width: 600,height: 265},
content: msgContent,
buttons: [
@@ -2789,19 +2799,19 @@ export class MothershipActor extends Actor {
label: game.i18n.localize("Mosh.Advantage"),
action: `action_advantage`,
callback: () => this.rollCheck(`1d10 [+]`, `high-equal`, `moraleCheck`, null, null, null),
icon: `<i class="fas fa-angle-double-up"></i>`
icon: `fas fa-angle-double-up`
},
{
label: game.i18n.localize("Mosh.Normal"),
action: `action_normal`,
callback: () => this.rollCheck(`1d10`, `high-equal`, `moraleCheck`, null, null, null),
icon: `<i class="fas fa-minus"></i>`
icon: `fas fa-minus`
},
{
label: game.i18n.localize("Mosh.Disadvantage"),
action: `action_disadvantage`,
callback: () => this.rollCheck(`1d10 [-]`, `high-equal`, `moraleCheck`, null, null, null),
icon: `<i class="fas fa-angle-double-down"></i>`
icon: `fas fa-angle-double-down`
}
]
};
+3 -2
View File
@@ -261,10 +261,11 @@ export class MothershipClassSheet extends MothershipItemSheet {
let d = new foundry.applications.api.DialogV2({
window: {title: `Select Stat`},
classes: ["macro-popup-dialog"],
content: DialogContent,
buttons: [
{
icon: '<i class="fas fa-check"></i>',
icon: 'fas fa-check',
action: "create",
label: "Create",
callback: (event, button, dialog) => {
@@ -305,7 +306,7 @@ export class MothershipClassSheet extends MothershipItemSheet {
}
},
{
icon: '<i class="fas fa-times"></i>',
icon: 'fas fa-times',
action: "cancel",
label: "Cancel",
callback: () => { }
+4 -16
View File
@@ -288,20 +288,6 @@ Hooks.on("preCreateActor", (document, createData, options, userId) => {
}
})
Hooks.on('renderSidebarTab', async (app, html) => {
console.log(app);
console.log(app.options.id);
if (app.options.id == "actors" || app.title == "Actors Directory") {
console.log("testing~");
let button = $(`<button class="import-json"><i class="fas fa-file-import"></i> Import JSON</button>`);
button.click(function () {
d.render({force: true});
});
html.find(".directory-footer").append(button);
}
});
/* -------------------------------------------- */
/* Hotbar Macros */
@@ -576,13 +562,14 @@ async function noCharSelected() {
//create final dialog data
const dialogData = {
window: {title: `Macro Issue`},
classes: ["macro-popup-dialog"],
content: errorMessage,
buttons: [
{
label: `Ok`,
action: 'action_ok',
callback: () => { },
icon: '<i class="fas fa-check"></i>'
icon: 'fas fa-check'
}
]
};
@@ -608,13 +595,14 @@ async function noShipSelected() {
//create final dialog data
const dialogData = {
window: {title: `Macro Issue`},
classes: ["macro-popup-dialog"],
content: errorMessage,
buttons: [
{
label: `Ok`,
action: 'action_ok',
callback: () => { },
icon: '<i class="fas fa-check"></i>'
icon: 'fas fa-check'
}
]
};
+8 -4
View File
@@ -196,7 +196,7 @@ export class DLActorGenerator extends FormApplication {
let buttons_options = [];
for (let j = 0; j < skillPopupOptions.length; j++) {
buttons_options.push({
icon: '<i class="fas fa-check"></i>',
icon: 'fas fa-check',
action: skillPopupOptions[j].name,
label: skillPopupOptions[j].name,
callback: () => resolve(skillPopupOptions[j].uuid),
@@ -204,6 +204,7 @@ export class DLActorGenerator extends FormApplication {
}
let d = new foundry.applications.api.DialogV2({
window: {title: game.i18n.localize("Mosh.CharacterGenerator.StatOptionPopupTitle")},
classes: ["macro-popup-dialog"],
content: `<p>${game.i18n.localize("Mosh.CharacterGenerator.StatOptionPopupText")}</p>`,
buttons: buttons_options,
default: "1",
@@ -327,10 +328,11 @@ export class DLActorGenerator extends FormApplication {
return new Promise((resolve) => {
let d = new foundry.applications.api.DialogV2({
window: {title: game.i18n.localize("Mosh.CharacterGenerator.SkillOption.PopupTitle")},
classes: ["macro-popup-dialog"],
content: popUpContent,
buttons: [
{
icon: '<i class="fas fa-check"></i>',
icon: 'fas fa-check',
action: `action_save`,
label: "Save",
callback: (event, button, dialog) => {
@@ -370,7 +372,7 @@ export class DLActorGenerator extends FormApplication {
let buttonsData = [];
for (let i=0;i<list_option_skills_or.length;i++){
buttonsData.push({
icon: '<i class="fas fa-check"></i>',
icon: 'fas fa-check',
action: list_option_skills_or[i].name,
label: list_option_skills_or[i].name,//game.i18n.localize("Mosh.CharacterGenerator.SkillOption.ChoiceWord") + ` ${i}`,
callback: () => {
@@ -380,6 +382,7 @@ export class DLActorGenerator extends FormApplication {
}
let d = new foundry.applications.api.DialogV2({
window: {title: game.i18n.localize("Mosh.CharacterGenerator.SkillOption.PopupTitle")},
classes: ["macro-popup-dialog"],
content: popUpContent,
window:{width: 500},
buttons: buttonsData,
@@ -482,7 +485,7 @@ export class DLActorGenerator extends FormApplication {
for (let j = 0; j < option_stats_and_saves.stats.length; j++) {
let prev_bonus = this._element.find(`input[name="system.stats.${option_stats_and_saves.stats[j]}.bonus"]`).prop("value");
buttons_options.push({
icon: '<i class="fas fa-check"></i>',
icon: 'fas fa-check',
action: option_stats_and_saves.stats[j],
label: option_stats_and_saves.stats[j],//.replace(/\.bonus/i,"").replace(/(.*)\.+/i,""),
callback: () => this._element.find(`input[name="system.stats.${option_stats_and_saves.stats[j]}.bonus"]`).prop("value", (parseInt(option_stats_and_saves.modification) + parseInt(prev_bonus)))
@@ -490,6 +493,7 @@ export class DLActorGenerator extends FormApplication {
}
let d = new foundry.applications.api.DialogV2({
window: {title: game.i18n.localize("Mosh.CharacterGenerator.StatOptionPopupTitle")},
classes: ["macro-popup-dialog"],
content: `<p>${game.i18n.localize("Mosh.CharacterGenerator.StatOptionPopupText")} (${option_stats_and_saves.modification})</p>`,
buttons: buttons_options,
default: "1",
Binary file not shown.
+1 -1
View File
@@ -1 +1 @@
2025/06/28-17:22:14.886 4cac Delete type=3 #1
2025/08/18-18:17:23.905 4e10 Delete type=3 #1
Binary file not shown.
+1 -1
View File
@@ -1 +1 @@
2025/06/28-17:22:14.776 5984 Delete type=3 #1
2025/08/18-18:17:23.626 42e8 Delete type=3 #1
Binary file not shown.
+1 -1
View File
@@ -1 +1 @@
2025/06/28-17:22:14.800 6590 Delete type=3 #1
2025/08/18-18:17:23.655 1694 Delete type=3 #1
File diff suppressed because one or more lines are too long
Binary file not shown.
+1 -1
View File
@@ -1 +1 @@
2025/06/28-17:22:14.905 4cac Delete type=3 #1
2025/08/18-18:17:23.921 4e10 Delete type=3 #1
File diff suppressed because one or more lines are too long
Binary file not shown.
+1 -1
View File
@@ -1 +1 @@
2025/06/28-17:22:14.821 1678 Delete type=3 #1
2025/08/18-18:17:23.672 1584 Delete type=3 #1
Binary file not shown.
+1 -1
View File
@@ -1 +1 @@
2025/06/28-17:22:14.925 1678 Delete type=3 #1
2025/08/18-18:17:23.955 4e10 Delete type=3 #1
Binary file not shown.
+1 -1
View File
@@ -1 +1 @@
2025/06/28-17:22:14.841 1678 Delete type=3 #1
2025/08/18-18:17:23.772 1584 Delete type=3 #1
Binary file not shown.
+1 -1
View File
@@ -1 +1 @@
2025/06/28-17:22:14.943 4cac Delete type=3 #1
2025/08/18-18:17:23.973 42e8 Delete type=3 #1
Binary file not shown.
+1 -1
View File
@@ -1 +1 @@
2025/06/28-17:22:14.863 1678 Delete type=3 #1
2025/08/18-18:17:23.791 4e10 Delete type=3 #1
+18 -42
View File
@@ -1,43 +1,19 @@
<style>
.macro_window{
background: rgb(230,230,230);
border-radius: 9px;
}
.macro_img{
display: flex;
justify-content: center;
}
.macro_desc{
font-family: "Roboto", sans-serif;
font-size: 10.5pt;
font-weight: 400;
padding-top: 8px;
padding-right: 8px;
padding-bottom: 8px;
}
.grid-2col {
display: grid;
grid-column: span 2 / span 2;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 2px;
padding: 0;
}
</style>
<!-- HEADER -->
<div class ="macro_window" style="margin-bottom : 7px;">
<div class="grid grid-2col" style="grid-template-columns: 150px auto">
<div class="macro_img"><img src="systems/mosh/images/icons/ui/attributes/armor.png" style="border:none"/></div>
<div class="macro_desc"><h3>{{ localize 'Mosh.Cover' }}</h3>
{{ localize 'Mosh.TheEnvironmentCanProvideProtectionCalled'}} <strong>{{ localize 'Mosh.Cover'}}</strong>.
{{ localize 'Mosh.ItCanBeDestroyedLikeArmor' }}
<strong>{{ localize 'Mosh.IfYouShotWhileInCover'}}.</strong> {{ localize 'Mosh.YourCoverValuesAreDisplayedIn'}} <strong><span style="color: orangered">{{ localize 'Mosh.Orange' }}</span></strong>.</div>
<div class ="macro_window">
<div class="grid grid-2col" style="grid-template-columns: 150px auto">
<div class="macro_img"><img src="systems/mosh/images/icons/ui/attributes/armor.png"/></div>
<div class="macro_desc"><h4>{{ localize 'Mosh.Cover' }}</h4>
{{ localize 'Mosh.TheEnvironmentCanProvideProtectionCalled'}} <strong>{{ localize 'Mosh.Cover'}}</strong>.
{{ localize 'Mosh.ItCanBeDestroyedLikeArmor' }}
<strong>{{ localize 'Mosh.IfYouShotWhileInCover'}}.</strong> {{ localize 'Mosh.YourCoverValuesAreDisplayedIn'}} <strong><span style="color: orangered">{{ localize 'Mosh.Orange' }}</span></strong>.</div>
</div>
</div>
<div class="macro_prompt">
{{ localize 'Mosh.SelectYourCurrentCoverSituation'}}:
</div>
<h4>{{ localize 'Mosh.SelectYourCurrentCoverSituation'}}:</h4>
<!-- NO COVER -->
<label for="none">
<div class ="macro_window" style="margin-top: 7px; margin-bottom: 7px; vertical-align: middle; padding-left: 3px;">
<div class="grid grid-3col" style="grid-template-columns: 20px auto 250px">
<div class ="macro_window" style="vertical-align: middle; padding-left: 3px;">
<div class="grid grid-3col" style="align-items: center; grid-template-columns: 20px auto 250px">
<input type="radio" id="none" name="cover" value="none" {{none_checked}}>
<div class="macro_desc" style="display: table; padding-left: 5px;">
<span style="display: table-cell; vertical-align: middle;">
@@ -60,8 +36,8 @@
</label>
<!-- INSIGNIFICANT COVER -->
<label for="insignificant">
<div class ="macro_window" style="margin-top: 7px; margin-bottom: 7px; vertical-align: middle; padding-left: 3px;">
<div class="grid grid-3col" style="grid-template-columns: 20px auto 250px">
<div class ="macro_window" style="vertical-align: middle; padding-left: 3px;">
<div class="grid grid-3col" style="align-items: center; grid-template-columns: 20px auto 250px">
<input type="radio" id="insignificant" name="cover" value="insignificant" {{insignificant_checked}}>
<div class="macro_desc" style="display: table; padding-left: 5px;">
<span style="display: table-cell; vertical-align: middle;">
@@ -87,8 +63,8 @@
</label>
<!-- LIGHT COVER -->
<label for="light">
<div class ="macro_window" style="margin-top: 7px; margin-bottom : 7px; vertical-align: middle; padding-left: 3px;">
<div class="grid grid-3col" style="grid-template-columns: 20px auto 250px">
<div class ="macro_window" style="vertical-align: middle; padding-left: 3px;">
<div class="grid grid-3col" style="align-items: center; grid-template-columns: 20px auto 250px">
<input type="radio" id="light" name="cover" value="light" {{light_checked}}>
<div class="macro_desc" style="display: table; padding-left: 5px;">
<span style="display: table-cell; vertical-align: middle;">
@@ -114,8 +90,8 @@
</label>
<!-- HEAVY COVER -->
<label for="heavy">
<div class ="macro_window" style="margin-top: 7px; margin-bottom : 7px; vertical-align: middle; padding-left: 3px;">
<div class="grid grid-3col" style="grid-template-columns: 20px auto 250px">
<div class ="macro_window" style="vertical-align: middle; padding-left: 3px;">
<div class="grid grid-3col" style="align-items: center; grid-template-columns: 20px auto 250px">
<input type="radio" id="heavy" name="cover" value="heavy" {{heavy_checked}}>
<div class="macro_desc" style="display: table; padding-left: 5px;">
<span style="display: table-cell; vertical-align: middle;">
@@ -1,39 +1,16 @@
<style>
.macro_window{
background: rgb(230,230,230);
border-radius: 9px;
}
.macro_img{
display: flex;
justify-content: center;
}
.macro_desc{
font-family: "Roboto", sans-serif;
font-size: 10.5pt;
font-weight: 400;
padding-left: 8px;
padding-top: 8px;
padding-right: 8px;
padding-bottom: 8px;
}
.grid-2col {
display: grid;
grid-column: span 2 / span 2;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 2px;
padding: 0;
}
</style>
<div class ="macro_window" style="margin-bottom : 7px;">
<div class="macro_desc"><h3>{{ localize 'Mosh.AddASkill'}}</h3>{{ localize 'Mosh.IfYouHaveARelevantSkill'}} <em>{{ localize 'Mosh.GivingYouAHigherNumber' }}</em>.</div>
<div class ="macro_window">
<div class="macro_desc" style="padding-left: 8px;">
<h4>{{ localize 'Mosh.AddASkill'}}</h4>
{{ localize 'Mosh.IfYouHaveARelevantSkill'}} <em>{{ localize 'Mosh.GivingYouAHigherNumber' }}</em>
</div>
</div>
<label for="">
<dMosh.Normaliv class ="macro_window" style="margin-bottom : 7px; vertical-align: middle; padding-left: 3px;">
<div class="grid grid-2col" style="grid-template-columns: 20px auto">
<div class ="macro_window" style="vertical-align: middle; padding-left: 8px; padding-left: 3px;">
<div class="grid grid-2col" style="align-items: center; grid-template-columns: 20px auto">
<input type="radio" id="" name="skill" value=0 checked >
<div class="macro_desc" style="display: table;">
<span style="display: table-cell; vertical-align: middle;">
<p>{{ localize 'Mosh.DoNotAddASkillToThisRoll' }}<p>
<p> {{ localize 'Mosh.DoNotAddASkillToThisRoll' }}<p>
</span>
</div>
</div>