[SalvageUnion] add weapon heat automation
This commit is contained in:
@@ -4,6 +4,11 @@
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
.ui-dialog .charsheet .rollButton button[type=action]:before {
|
||||
content: "t";
|
||||
font-family: "dicefontd20";
|
||||
}
|
||||
|
||||
summary{
|
||||
display:list-item;
|
||||
list-style-position: outside;
|
||||
|
||||
@@ -175,7 +175,7 @@
|
||||
|
||||
<div class="mech">
|
||||
<h2>Mech
|
||||
<button type="roll" value="&{template:roll}{{name=@{character_name}}}{{roll=[[1d20]]}}{{mech=1}}"></button>
|
||||
<button type="roll" value="&{template:roll}{{name=@{character_name}}}{{roll=[[1d20]]}}{{mech=1}}{{heatroll=[[0]]}}"></button>
|
||||
</h2>
|
||||
<div style="display:flex">
|
||||
<div class="twocolumns">
|
||||
@@ -214,7 +214,7 @@
|
||||
<label> of <input type="number" min="0" name="attr_energy_max" value="10"></label>
|
||||
</div>
|
||||
<div class="descValuePair">
|
||||
<button type="action" class="textbutton" name="act_reactOverload">Heat</button>
|
||||
<button type="roll" class="textbutton" value="&{template:roll}{{name=@{character_name}}}{{mech=1}}{{heatroll=[[1d20]]}}{{heat=[[@{heat}]]}}">Heat</button>
|
||||
<input type="number" min="0" max="10" name="attr_heat" value="0">
|
||||
<label> of <input type="number" min="0" name="attr_heat_max" value="10"> </label>
|
||||
</div>
|
||||
@@ -230,11 +230,11 @@
|
||||
<div>
|
||||
<fieldset class="repeating_mechweapons">
|
||||
<details>
|
||||
<summary>
|
||||
<summary class="rollButton">
|
||||
<input type="text" name="attr_weaponname" title="Name of the Weapon">
|
||||
<input type="text" name="attr_range" title="Range">
|
||||
<input type="text" name="attr_damage" title="Damage">
|
||||
<button type="roll" title="Fire the Weapon" value="&{template:weapon}{{callsign=@{character_name}}}{{range=@{range}}}{{weapon_name=@{weaponname}}}{{roll=[[1d20]]}}{{damage=@{damage}}}{{mech=1}}">
|
||||
<button type="action" name="act_roll" title="Fire the Weapon" value="&{template:weapon}{{callsign=@{character_name}}}{{range=@{prefix-range}}}{{weapon_name=@{prefix-weaponname}}}{{roll=[[1d20]]}}{{damage=@{prefix-damage}}}{{weaponheat=[[@{prefix-weaponheat}]]}}{{mech=1}}{{heatroll=[[0]]}}">
|
||||
</button>
|
||||
</summary>
|
||||
<details class="subdetails">
|
||||
@@ -243,15 +243,15 @@
|
||||
</summary>
|
||||
<div class="descValuePair">
|
||||
<label>Heat produced</label>
|
||||
<input type="text" name="heat" placeholder="1">
|
||||
<input type="number" name="attr_weaponheat" value="0" min="0">
|
||||
</div>
|
||||
<div class="descValuePair">
|
||||
<label>Cost</label>
|
||||
<input type="text" name="cost" placeholder="1 T1 Scrap">
|
||||
<input type="text" name="attr_cost" placeholder="1 T1 Scrap">
|
||||
</div>
|
||||
<div class="descValuePair">
|
||||
<label>Slots</label>
|
||||
<input type="text" name="slot" placeholder="1 System">
|
||||
<input type="text" name="attr_slot" placeholder="1 System">
|
||||
</div>
|
||||
</details>
|
||||
<textarea name="attr_weaponDetails"></textarea>
|
||||
@@ -376,7 +376,7 @@
|
||||
<input type="text" name="attr_weaponname" title="Name of the Weapon">
|
||||
<input type="text" name="attr_range" title="Range">
|
||||
<input type="text" name="attr_damage" title="Damage">
|
||||
<button type="roll" title="Fire the Weapon" value="&{template:weapon}{{callsign=@{character_name}}}{{range=@{range}}}{{weapon_name=@{weaponname}}}{{roll=[[1d20]]}}{{damage=@{damage}}}{{mech=1}}">
|
||||
<button type="roll" title="Fire the Weapon" value="&{template:weapon}{{callsign=@{character_name}}}{{range=@{range}}}{{weapon_name=@{weaponname}}}{{roll=[[1d20]]}}{{damage=@{damage}}}">
|
||||
</button>
|
||||
</summary>
|
||||
<details class="subdetails">
|
||||
@@ -385,7 +385,7 @@
|
||||
</summary>
|
||||
<div class="descValuePair">
|
||||
<label>Heat produced</label>
|
||||
<input type="text" name="heat" placeholder="1">
|
||||
<input type="number" name="heat" value="0">
|
||||
</div>
|
||||
<div class="descValuePair">
|
||||
<label>Cost</label>
|
||||
@@ -460,7 +460,7 @@
|
||||
|
||||
|
||||
<script type="text/worker">
|
||||
const buttonlist = ["pilot","mech","crawler","settings"];
|
||||
const buttonlist = ["pilot","mech","crawler","settings"];
|
||||
buttonlist.forEach(button => {
|
||||
on(`clicked:${button}`, function() {
|
||||
setAttrs({
|
||||
@@ -469,6 +469,27 @@
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
on('clicked:repeating_mechweapons:roll',
|
||||
async (event) => {
|
||||
// prefix gets an empty string for normal attributes, and repeating_section_ID_ for repeating attributes
|
||||
var prefix = event.sourceAttribute.split('_').slice(0,3).join('_') + '_'
|
||||
|
||||
let rollPart = event.htmlAttributes.value.replaceAll('prefix-', `${prefix}`);
|
||||
let results = await startRoll(rollPart);
|
||||
|
||||
let attrs = await asw.getAttrs(['heat']);
|
||||
let resultingHeat = parseInt(attrs.heat) + results.results.weaponheat.result;
|
||||
asw.setAttrs({
|
||||
heat: resultingHeat
|
||||
});
|
||||
|
||||
finishRoll(
|
||||
results.rollId,
|
||||
{}
|
||||
);
|
||||
});
|
||||
|
||||
on('clicked:reactPush', async (ev) => {
|
||||
await push(ev, 'roll');
|
||||
});
|
||||
@@ -590,6 +611,13 @@ const asw = (() => {
|
||||
</td>
|
||||
</tr>
|
||||
{{/damage}}
|
||||
{{#^rollTotal() weaponheat 0}}
|
||||
<tr>
|
||||
<td>
|
||||
Weaponheat: {{weaponheat}}
|
||||
</td>
|
||||
</tr>
|
||||
{{/^rollTotal() weaponheat 0}}
|
||||
{{#heat}}
|
||||
<tr>
|
||||
<td>
|
||||
@@ -605,9 +633,11 @@ const asw = (() => {
|
||||
</table>
|
||||
{{#mech}}
|
||||
<div class="sheet-rolltemplate-button-row">
|
||||
{{#rollTotal() heatroll 0}}
|
||||
<div class="sheet-rolltemplate-button">
|
||||
[Push](~{{callsign}}|reactPushWeapon)
|
||||
</div>
|
||||
{{/rollTotal() heatroll 0}}
|
||||
|
||||
{{#^rollGreater() heatroll heat}}
|
||||
<div class="sheet-rolltemplate-button">
|
||||
@@ -670,9 +700,11 @@ const asw = (() => {
|
||||
{{#mech}}
|
||||
<div class="sheet-rolltemplate-button-row">
|
||||
|
||||
{{#rollTotal() heatroll 0}}
|
||||
<div class="sheet-rolltemplate-button">
|
||||
[Push](~{{name}}|reactPush)
|
||||
</div>
|
||||
{{/rollTotal() heatroll 0}}
|
||||
|
||||
{{#^rollGreater() heatroll heat}}
|
||||
<div class="sheet-rolltemplate-button">
|
||||
|
||||
Reference in New Issue
Block a user