added gear rolls and moved remaining matrix rolls to sheetworker

This commit is contained in:
Brad Hornbeck
2021-08-27 13:57:16 -04:00
parent 654166cc8f
commit 97f01b19d1
3 changed files with 252 additions and 150 deletions
+51 -10
View File
@@ -794,6 +794,8 @@ min-width: 0;
line-height: 25px;
font-size: 10px;
}
.pictos3-button,
#sensorexp,
#vehiclesensor,
.d6-button,
@@ -848,6 +850,7 @@ min-width: 0;
color: red;
}
.charsheet button[type=action].pictos3-button:hover,
.charsheet button[type=action].d6-button:hover,
.charsheet button[type=action].pictos-custom-button:hover,
.charsheet button[type=action].explosive-dice:hover,
@@ -866,13 +869,15 @@ min-width: 0;
#vehiclesensor,
.pictos-button {
font-family: 'Pictos';
}
.d6-button {
font-family: 'dicefontd6';
}
.pictos3-button {
font-family: 'Pictos Three';
}
/* GENERAL STYLING OF ELEMENTS WITHIN THE SHEET */
.atable {
@@ -926,6 +931,7 @@ min-width: 0;
/* TEMPLATE sytling*/
.sheet-rolltemplate-item div.sheet-rtcontainer,
.sheet-rolltemplate-info div.sheet-rtcontainer,
.sheet-rolltemplate-vehicle div.sheet-rtcontainer,
.sheet-rolltemplate-matrix div.sheet-rtcontainer,
@@ -974,6 +980,7 @@ min-width: 0;
color: black;
}
.sheet-rolltemplate-item div.sheet-rtheader,
.sheet-rolltemplate-info div.sheet-rtheader,
.sheet-rolltemplate-skill div.sheet-rtheader,
.sheet-rolltemplate-attribute div.sheet-rtheader {
@@ -1001,6 +1008,7 @@ min-width: 0;
}
.sheet-rolltemplate-info div.sheet-rtrow:nth-child(odd),
.sheet-rolltemplate-item div.sheet-rtrow:nth-child(odd),
.sheet-rolltemplate-vehicle div.sheet-rtrow:nth-child(odd),
.sheet-rolltemplate-matrix div.sheet-rtrow:nth-child(odd),
.sheet-rolltemplate-spell div.sheet-rtrow:nth-child(odd),
@@ -1015,6 +1023,7 @@ min-width: 0;
}
.sheet-rolltemplate-item div.sheet-rtrow:nth-child(even),
.sheet-rolltemplate-info div.sheet-rtrow:nth-child(even),
.sheet-rolltemplate-vehicle div.sheet-rtrow:nth-child(even),
.sheet-rolltemplate-matrix div.sheet-rtrow:nth-child(even),
@@ -1028,6 +1037,7 @@ min-width: 0;
.sheet-rolltemplate-spell div.sheet-rtrow:nth-child(even) {
background-color: lightgrey;
}
.sheet-rolltemplate-item .sheet-numberspan,
.sheet-rolltemplate-info .sheet-numberspan,
.sheet-rolltemplate-vehicle .sheet-numberspan,
.sheet-rolltemplate-matrix .sheet-numberspan,
@@ -1047,6 +1057,7 @@ min-width: 0;
padding-right: 3px;
border: 2px solid rgba(167, 168, 170, 1);
}
.sheet-rolltemplate-item .inlinerollresult,
.sheet-rolltemplate-info .inlinerollresult,
.sheet-rolltemplate-vehicle .inlinerollresult,
.sheet-rolltemplate-matrix .inlinerollresult,
@@ -1064,6 +1075,8 @@ min-width: 0;
border: 2px solid rgba(167, 168, 170, 1);
}
.sheet-rolltemplate-item .inlinerollresult.fullcrit,
.sheet-rolltemplate-info .inlinerollresult.fullcrit,
.sheet-rolltemplate-vehicle .inlinerollresult.fullcrit,
.sheet-rolltemplate-matrix .inlinerollresult.fullcrit,
@@ -1078,6 +1091,7 @@ min-width: 0;
border: 2px solid #3FB315;
}
.sheet-rolltemplate-item .inlinerollresult.fullfail,
.sheet-rolltemplate-info .inlinerollresult.fullfail,
.sheet-rolltemplate-vehicle .inlinerollresult.fullfail,
.sheet-rolltemplate-matrix .inlinerollresult.fullfail,
@@ -1092,6 +1106,7 @@ min-width: 0;
border: 2px solid #B31515;
}
.sheet-rolltemplate-item .inlinerollresult.importantroll,
.sheet-rolltemplate-info .inlinerollresult.importantroll,
.sheet-rolltemplate-vehicle .inlinerollresult.importantroll,
.sheet-rolltemplate-matrix .inlinerollresult.importantroll,
@@ -1451,15 +1466,33 @@ melee-table-row input[type="textarea"],
text-align: left;
grid-template-columns: 25px 25px 80px 100px 45px 40px 40px 40px 40px 50px 25px 25px 25px 25px 40px 50px 40px 40px 40px 30px 1fr;
}
.ammo-table-row [type="number"],
.cyberware-list input[type="number"],
.deck-utilities-special input[type="number"],
.deck-utilities-defensive input[type="number"],
.deck-utilities-offensive input[type="number"],
.deck-utilities-addrow input[type="number"],
.gear-table input[type="number"],
.credsticks input[type="number"],
.securitytally input[type="number"],
.matrix-intruder-tally input[type="number"],
.ic-attributes-table input[type="number"],
.edges-table input[type="number"],
.skills-table input[type="number"],
.melee-table-row input[type="number"],
.armorsets-table-row input[type="number"],
.weaponfocus-attributes input[type="number"],
.foci-table input[type="number"],
.adept-skills-table input[type="number"],
.magic-spells-row input[type="number"],
.deck-utilities-addrow input[type="number"],
.adept-skills-table input[type="number"] {
box-sizing: border-box;
width: 100% !important;
height: 100%;
font-size: 12px;
text-align: center;
vertical-align: middle;
}
.explosives-table-row input[type="number"],
.ranged-table-row input[type="number"] {
box-sizing: border-box;
@@ -1492,7 +1525,6 @@ melee-table-row input[type="textarea"],
.vehicles-table input[type="number"],
.credsticks input[type="number"],
.karma-history input[type="number"],
.show-weaponmods input[type="number"] {
width: 100% !important;
@@ -1764,6 +1796,7 @@ melee-table-row input[type="textarea"],
}
.mediumselect {
justif
width: 90px;
font-size: 10px;
}
@@ -1789,6 +1822,17 @@ melee-table-row input[type="textarea"],
width: 40px;
font-size: 10px;
}
.ammo-table-row [type="text"],
.armorsets-table-row [type="text"],
.cyberware-list input[type="text"],
.deck-utilities-defensive input[type="text"],
.deck-utilities-offensive input[type="text"],
.deck-utilities-addrow input[type="text"],
.deck-utilities-special input[type="text"],
.gear-table input[type="text"],
.securitytally input[type="text"],
.matrix-intruder-tally input[type="text"],
.ic-attributes-table input[type="text"],
.edges-table input[type="text"],
.skills-table input[type="text"],
.vehicle-info input[type="text"] {
@@ -2239,7 +2283,7 @@ input.enable-fa:not(:checked)~span.show_fa_dice {
.matrix-status {
align-items: center;
display: grid;
grid-template-columns: 30px 185px 25px 85px 35px 155px 70px 35px 200px;
grid-template-columns: 30px 185px 25px 85px 35px 155px 70px 35px 80px 120px;
}
.matrixalert-format[value="4"]~div.matrix-always-displayed {
@@ -2658,13 +2702,10 @@ input.enable-fa:not(:checked)~span.show_fa_dice {
grid-template-columns: 300px 250px 250px;
column-gap: 20px;
}
.gear {
display: grid;
grid-template-columns: 600px;
}
.gear-table {
display: grid;
grid-template-columns: 125px 60px 60px 60px 60px 40px 255px;
grid-template-columns: 125px 60px 60px 60px 100px 50px 70px 40px 1fr;
row-gap: 20px;
}
+200 -139
View File
@@ -1887,7 +1887,7 @@
<div class="table-item"><input type="number" name="attr_decksleaze-rating" value=0></div>
<div class="table-item"><input type="number" name="attr_decksleaze-multiplier" value=3></div>
<div class="table-item"><input type="number" name="attr_decksleaze-size" value=0></div>
<div class="table-item"><input type="checkbox" name="attr_decksleaze-loaded" value=1></div>
<div class="table-item"><input type="checkbox" name="attr_decksleaze-loaded" class="text-mid-center" value=1></div>
<div class="table-item"><input type="number" name="attr_decksleaze-rating-final" value=0></div>
<div class="table-item"><button type="action" name="act_matrixtest" class="d6-button" title="Sleaze Utility Test" id="decksleaze-rating-final">L</button></div>
<div class="table-item"><button type="action" name="act_swapmemory" class="pictos-button" title="Reload Sleaze Utility from Disk" id="decksleaze-rating">0</button></div>
@@ -1896,7 +1896,7 @@
<div class="table-item"><input type="number" name="attr_decktrack-rating" value=0></div>
<div class="table-item"><input type="number" name="attr_decktrack-multiplier" value=8></div>
<div class="table-item"><input type="number" name="attr_decktrack-size" value=0></div>
<div class="table-item"><input type="checkbox" name="attr_decktrack-loaded" value=1></div>
<div class="table-item"><input type="checkbox" name="attr_decktrack-loaded" class="text-mid-center" value=1></div>
<div class="table-item"><input type="number" name="attr_decktrack-rating-final" value=0></div>
<div class="table-item"><button type="action" name="act_matrixtest" class="d6-button" title="Tracking Utility Test" id="decktrack-rating-final">L</button></div>
<div class="table-item"><button type="action" name="act_swapmemory" class="pictos-button" title="Reload Tracking Utility from Disk" id="decktrack-rating">0</button></div>
@@ -1919,7 +1919,7 @@
<div class="table-item"><input type="number" name="attr_deckarmor-rating" value=0></div>
<div class="table-item"><input type="number" name="attr_deckarmor-multiplier" value=3></div>
<div class="table-item"><input type="number" name="attr_deckarmor-size" value=0></div>
<div class="table-item"><input type="checkbox" name="attr_deckarmor-loaded" value=1></div>
<div class="table-item"><input type="checkbox" name="attr_deckarmor-loaded" class="text-mid-center" value=1></div>
<div class="table-item"><input type="number" name="attr_deckarmor-rating-final" value=0></div>
<div class="table-item"><button type="action" name="act_matrixtest" class="d6-button" title="Armor Utility Test" id="deckarmor-rating-final">L</button></div>
<div class="table-item"><button type="action" name="act_swapmemory" class="pictos-button" title="Reload Armor Utility from Disk" id="deckarmor-rating">0</button></div>
@@ -1928,7 +1928,7 @@
<div class="table-item"><input type="number" name="attr_deckcloak-rating" value=0></div>
<div class="table-item"><input type="number" name="attr_deckcloak-multiplier" value=3></div>
<div class="table-item"><input type="number" name="attr_deckcloak-size" value=0></div>
<div class="table-item" style="text-align: center;"><input type="checkbox" name="attr_deckcloak-loaded" value=1> </div>
<div class="table-item"><input type="checkbox" name="attr_deckcloak-loaded" class="text-mid-center" value=1> </div>
<div class="table-item"><input type="number" name="attr_deckcloak-rating-final" value=0></div>
<div class="table-item"><button type="action" name="act_matrixtest" class="d6-button" title="Cloak Utility Test" id="deckcloak-rating-final">L</button></div>
<div class="table-item"><button type="action" name="act_swapmemory" class="pictos-button" title="Reload Cloak Utility from Disk" id="deckcloak-rating">0</button></div>
@@ -1937,7 +1937,7 @@
<div class="table-item"><input type="number" name="attr_decklockon-rating" value=0></div>
<div class="table-item"><input type="number" name="attr_decklockon-multiplier" value=3></div>
<div class="table-item"><input type="number" name="attr_decklockon-size" value=0></div>
<div class="table-item" style="text-align: center;"><input type="checkbox" name="attr_decklockon-loaded" value=1> </div>
<div class="table-item"><input type="checkbox" name="attr_decklockon-loaded" class="text-mid-center" value=1> </div>
<div class="table-item"><input type="number" name="attr_decklockon-rating-final" value=0></div>
<div class="table-item"><button type="action" name="act_matrixtest" class="d6-button" title="Lock-On Utility Test" id="decklockon-rating-final">L</button></div>
<div class="table-item"><button type="action" name="act_swapmemory" class="pictos-button" title="Reload Lock-On Utility from Disk" id="decklockon-rating">0</button></div>
@@ -1946,7 +1946,7 @@
<div class="table-item"><input type="number" name="attr_deckmedic-rating" value=0></div>
<div class="table-item"><input type="number" name="attr_deckmedic-multiplier" value=4></div>
<div class="table-item"><input type="number" name="attr_deckmedic-size" value=0></div>
<div class="table-item" style="text-align: center;"><input type="checkbox" name="attr_deckmedic-loaded" value=1> </div>
<div class="table-item"><input type="checkbox" name="attr_deckmedic-loaded" class="text-mid-center" value=1> </div>
<div class="table-item"><input type="number" name="attr_deckmedic-rating-final" value=0></div>
<div class="table-item"><button type="action" name="act_matrixtest" class="d6-button" title="Medic Utility Test" id="deckmedic-rating-final">L</button></div>
<div class="table-item"><button type="action" name="act_swapmemory" class="pictos-button" title="Reload Medic Utility from Disk" id="deckmedic-rating">0</button></div>
@@ -1954,11 +1954,11 @@
</div>
<fieldset class="repeating_defensiveutils">
<div class="deck-utilities-defensive">
<div class="table-item-left"><input type="text" name="attr_utility" style="width:85px;"></div>
<div class="table-item-left"><input type="text" name="attr_utility"></div>
<div class="table-item"><input type="number" name="attr_rating" value=0></div>
<div class="table-item"><input type="number" name="attr_multiplier" value=0></div>
<div class="table-item"><input type="number" name="attr_size" value=0></div>
<div class="table-item" style="text-align: center;"><input type="checkbox" name="attr_loaded" value=1> </div>
<div class="table-item "><input class="text-mid-center" type="checkbox" name="attr_loaded" value=1> </div>
<div class="table-item"><input type="number" name="attr_rating-final" value=0></div>
<div class="table-item"><button type="action" name="act_matrixrepeatingtest" class="d6-button" title="Utility Test" id="repeating">L</button></div>
<div class="table-item"><button type="action" name="act_swapmemory" class="pictos-button" title="Reload Utility from Disk" id="repeating">0</button></div>
@@ -1979,7 +1979,7 @@
<header class="table-top-mid">Test</header>
<header class="table-top-mid">Swap Memory</header>
<header class="table-top-right">Notes</header>
<div class="table-item-left"><select name="attr_deckattacklevel" style="width: 100px;">
<div class="table-item-left"><select name="attr_deckattacklevel" class="mediumselect2">
<option value="L">Attack (L)</option>
<option value="M" selected>Attack (M)</option>
<option value="S">Attack (S)</option>
@@ -1989,7 +1989,7 @@
<div class="table-item"><input type="number" name="attr_deckattack-rating" value=0></div>
<div class="table-item"><input type="number" name="attr_deckattack-multiplier" value=4></div>
<div class="table-item"><input type="number" name="attr_deckattack-size" value=0></div>
<div class="table-item" style="text-align: center;"><input type="checkbox" name="attr_deckattack-loaded" value=1></div>
<div class="table-item"><input type="checkbox" name="attr_deckattack-loaded" class="text-mid-center" value=1></div>
<div class="table-item"><input type="number" name="attr_deckattack-rating-final" value=0></div>
<div class="table-item"><button type="action" name="act_matrixattack" class="d6-button" title="Execute Attack vs. System Code or Icon" id="deckattack">L</button></div>
<div class="table-item"><button type="action" name="act_matrixtest" class="d6-button" title="Attack Utility Test" id="deckattack-rating-final">L</button></div>
@@ -1999,7 +1999,7 @@
<div class="table-item"><input type="number" name="attr_deckblackhammer-rating" value=0></div>
<div class="table-item"><input type="number" name="attr_deckblackhammer-multiplier" value=20></div>
<div class="table-item"><input type="number" name="attr_deckblackhammer-size" value=0></div>
<div class="table-item" style="text-align: center;"><input type="checkbox" name="attr_deckblackhammer-loaded" value=1></div>
<div class="table-item"><input type="checkbox" name="attr_deckblackhammer-loaded" class="text-mid-center" value=1></div>
<div class="table-item"><input type="number" name="attr_deckblackhammer-rating-final" value=0></div>
<div class="table-item"><button type="action" name="act_matrixattack" class="d6-button" title="Blackhammer Utility Attack" id="deckblackhammer">L</button></div>
<div class="table-item"><button type="action" name="act_matrixtest" class="d6-button" title="Blackhammer Utility Test" id="deckblackhammer-rating-final">L</button></div>
@@ -2009,7 +2009,7 @@
<div class="table-item"><input type="number" name="attr_deckkilljoy-rating" value=0></div>
<div class="table-item"><input type="number" name="attr_deckkilljoy-multiplier" value=10></div>
<div class="table-item"><input type="number" name="attr_deckkilljoy-size" value=0></div>
<div class="table-item" style="text-align: center;"><input type="checkbox" name="attr_deckkilljoy-loaded" value=1></div>
<div class="table-item"><input type="checkbox" name="attr_deckkilljoy-loaded" class="text-mid-center" value=1></div>
<div class="table-item"><input type="number" name="attr_deckkilljoy-rating-final" value=0></div>
<div class="table-item"><button type="action" name="act_matrixattack" class="d6-button" title="KillJoy Utility Attack" id="deckkilljoy">L</button></div>
<div class="table-item"><button type="action" name="act_matrixtest" class="d6-button" title="KillJoy Utility Test" id="deckkilljoy-rating-final">L</button></div>
@@ -2019,7 +2019,7 @@
<div class="table-item"><input type="number" name="attr_deckslow-rating" value=0></div>
<div class="table-item"><input type="number" name="attr_deckslow-multiplier" value=4></div>
<div class="table-item"><input type="number" name="attr_deckslow-size" value=0></div>
<div class="table-item" style="text-align: center;"><input type="checkbox" name="attr_deckslow-loaded" value=1></div>
<div class="table-item"><input type="checkbox" name="attr_deckslow-loaded" class="text-mid-center" value=1></div>
<div class="table-item"><input type="number" name="attr_deckslow-rating-final" value=0></div>
<div class="table-item"><button type="action" name="act_matrixattack" class="d6-button" title="Slow Utility Attack" id="deckslow">L</button></div>
<div class="table-item"><button type="action" name="act_matrixtest" class="d6-button" title="Slow Utility Test" id="deckslow-rating-final">L</button></div>
@@ -2030,11 +2030,11 @@
</div>
<fieldset class="repeating_offensiveutils">
<div class="deck-utilities-offensive">
<div class="table-item-left"><input type="text" name="attr_utility" style="width:85px;"></div>
<div class="table-item-left"><input type="text" name="attr_utility"></div>
<div class="table-item"><input type="number" name="attr_rating" value=0></div>
<div class="table-item"><input type="number" name="attr_multiplier" value=0></div>
<div class="table-item"><input type="number" name="attr_size" value=0></div>
<div class="table-item" style="text-align: center;"><input type="checkbox" name="attr_loaded" value=1> </div>
<div class="table-item"><input type="checkbox" name="attr_loaded" class="text-mid-center" value=1> </div>
<div class="table-item"><input type="number" name="attr_rating-final" value=0></div>
<div class="table-item"><button type="action" name="act_matrixrepeatingtest" class="d6-button" title="Utility Attack" id="matrixrepeatingattack">L</button></div>
<div class="table-item"><button type="action" name="act_matrixrepeatingtest" class="d6-button" title="Utility Test" id="matrixrepeatingtest">L</button></div>
@@ -2126,7 +2126,9 @@
<header class="table-top-mid">Rating</header>
<header class="table-top-mid">Weight</header>
<header class="table-top-mid">Conceal</header>
<header class="table-top-mid">Type</header>
<header class="table-top-mid">Quantity</header>
<header class="table-top-mid">Pool</header>
<header class="table-top-mid">Roll</header>
<header class="table-top-right">Description</header>
</div>
@@ -2136,11 +2138,24 @@
<div class="table-item"><input type="number" name="attr_rating" value=0 min=0></div>
<div class="table-item"><input type="number" name="attr_weight" value=0 step='0.01' min='0.00'></div>
<div class="table-item"><input type="number" name="attr_conceal" value=0 ></div>
<div class="table-item"><select name="attr_type" class="mediumselect2">
<option value='reuse'>Reusable</option>
<option value='onetime'>Consumeable</option>
</select>
</div>
<div class="table-item"><input type="number" name="attr_quantity" value=0 min=0></div>
<div class="table-item"><button type="roll" class="d6-dice" name="roll_use_item" title="Use Item"
value="&{template:gear} {{name=@{item}}} {{ Success Test = [[ {@{rating}d6>?{What is the Target Number?}!!} ]] }}"></button>
</div>
<div class="table-item"><input type="text" name="attr_description" style="width:250px;"></div>
<div class="table-item"><select name="attr_pool" class="mediumselect2">
<option SELECTED value="none">None</option>
<option value="combat">Combat</option>
<option value="task">Task</option>
<option value="hacking">Hacking</option>
<option value="control">Control</option>
<option value="spell">Spell</option>
<option value="astral">Astral</option>
</select>
</div>
<div class="table-item"><button type="action" class="d6-button" name="act_usegear" title="Use Item">L</button></div>
<div class="table-item"><input type="text" name="attr_description"></div>
</div>
</fieldset>
</div>
@@ -3023,7 +3038,7 @@
<option value="-1">Smart Goggles</option>
</select>
<div><input name="attr_rangefinder" type="number"></div>
<textarea name="attr_notes" style='width:300px;height:20px'></textarea>
<input name="attr_notes" type="text"></input>
</div>
</div>
</fieldset>
@@ -3056,7 +3071,7 @@
</div>
<fieldset class="repeating_armor">
<div class="armorsets-table-row">
<div style="text-align: center; padding-top: 8px;"><input type="checkbox" name="attr_equipped">
<div class="text-mid-center" ><input type="checkbox" name="attr_equipped">
</div>
<input type=text name="attr_armorname" class="myweapontxt">
<div><select name="attr_slot" class="mediumselect2">
@@ -3071,7 +3086,7 @@
</div>
<input type="number" value=0 name="attr_ballistic">
<input type="number" value=0 name="attr_impact">
<textarea name="attr_armornotes" style='width:300px;height:18px;'></textarea>
<input name="attr_armornotes" type="text"></input>
</div>
<div class="table-bottom" />
</fieldset>
@@ -3094,10 +3109,10 @@
</div>
<fieldset class="repeating_ammunition">
<div class="ammo-table-row">
<div class="text-mid-center"><input type="text" name="attr_ammotype"></div>
<div class="text-mid-center"><input type="number" name="attr_ammocount"></div>
<div class="text-mid-center"><input type="number" name="attr_ammoweight"></div>
<textarea name="attr_ammonotes" style='width:300px;height:18px'></textarea>
<div><input type="text" name="attr_ammotype"></div>
<div><input type="number" name="attr_ammocount"></div>
<div><input type="number" name="attr_ammoweight"></div>
<input name="attr_ammonotes" type="text"></input>
</div>
<div class="table-bottom" />
</fieldset>
@@ -3129,15 +3144,15 @@
<div>/</div>
<div class="header"> Slave</div>
</div>
<div><select name="attr_matrixobject" style="width: 65px;">
<div><select name="attr_matrixobject" class="mediumselect2">
<option>Grid</option>
<option>Host</option>
<option>VM</option>
</select></div>
<div><input type="text" name="attr_parentgrid"></div>
<input type="text" name="attr_parentgrid">
<div class="matrix-rating">
<div><select name="attr_matrixcode" style="width: 80px;">
<option>BLUE</option>
<div><select name="attr_matrixcode" class="mediumselect2">
<option SELECTED>BLUE</option>
<option>GREEN</option>
<option>ORANGE</option>
<option>RED</option>
@@ -3172,8 +3187,8 @@
<div>Detection Roll</div><div><button type="action" class="d6-button" name="act_matrixdetect" title="Detection Roll" id="systemdetect">L</button></div>
<div>Security Tally <input title="Security Tally for all intruding icons in the system"type="number" name="attr_matrixsecuritytally"></div>
<div title="Reset Security Tally for all icons in the system">Reset Tally</div><div><button type="action" class="pictos-button" name="act_matrixdetect" title="Detection Roll" id="resettally">0</button></div>
<div>Alert Status
<select name="attr_matrixalert" style="width: 70px;">
<div>Alert Status</div>
<select name="attr_matrixalert" class="mediumselect2">
<option value=0>None</option>
<option value=4>Passive</option>
<option value=5>Active</option>
@@ -3181,7 +3196,6 @@
<input type="number" name="attr_matrixalertTN" hidden=true>
</div>
</div>
</div>
<div class="matrixhost">
<input type='hidden' class='securitysheaf-switch' name='attr_securitysheafswitch' value="show" />
<div class="securitysheaf-show">
@@ -3215,7 +3229,7 @@
</div>
<fieldset class="repeating_intruders">
<div class="matrix-intruder-tally">
<div class="table-item-left"><input type="text" name="attr_intrudername" class="myweapontxt"></div>
<div class="table-item-left"><input type="text" name="attr_intrudername"></div>
<div class="table-item"><button type="action" class="d6-button" name="act_detect" id="systemdetect" title="Detection Roll for intruding icon">L</button></div>
<div class="table-item"><input type="number" name="attr_securitytally" value=0></div>
<div class="table-item"><button type="action" class="pictos-button" name="act_detect" id="resetsecuritytally" title="Reset Security Tally">0</button></div>
@@ -3223,7 +3237,7 @@
</fieldset>
</div>
</div>
</div>
<br>
<input type='hidden' class='ic-switch' name='attr_ic-switch' value="show" />
<div class="ic-show">
@@ -3254,14 +3268,13 @@
<header class="table-top-right">Resist</header>
</div>
<fieldset class="repeating_ic">
<input type="hidden" name="attr_matrix-penalty">
<input type="hidden" name="attr_ic-penalty" value=0>
<div class="ic-attributes-table">
<div><input type="text" name="attr_icname" style="width: 110px;"></div>
<div><input type="text" name="attr_icname"></div>
<div><input type="number" name="attr_icrating"></div>
<div><span name="attr_matrixsecuritynumber"></span>d6 +<span name="attr_icrating"></span><button
type="action" name="act_init" class="d6-button" title="IC Initiative Roll">L</button></div>
<div><input type="number" name="attr_matrix-damage" sytle="width: 60px;" min=0 max=10></div>
<div><select name="attr_ictype" style="width: 80px;">
<div><span name="attr_matrixsecuritynumber"></span>d6 +<span name="attr_icrating"></span><button type="action" name="act_init" class="d6-button" title="IC Initiative Roll">L</button></div>
<div><input type="number" name="attr_ic-damage" value=0 min=0 max=10></div>
<div><select name="attr_ictype" class="mediumselect2">
<option>Crippler</option>
<option>Killer</option>
<option>Probe</option>
@@ -3278,11 +3291,11 @@
<option>Cerebropathic</option>
<option>Psychotropic</option>
</select></div>
<div><select name="attr_matrix-iconstatus" style="width: 85px;">
<option SELECTED>Legitimate</option>
<option>Intruder</option>
<div><select name="attr_matrix-iconstatus" class="mediumselect2">
<option SELECTED>Intruder</option>
<option>Legitimate</option>
</select></div>
<div><select name="attr_ictargettest" style="width: 80px;">
<div><select name="attr_ictargettest" class="mediumselect2">
<option value=@{target|decker|bod}>Bod</option>
<option value=@{target|decker|evasion}>Evasion</option>
<option value=@{target|decker|sensor}>Sensor</option>
@@ -3294,28 +3307,13 @@
<option>MPCP</option>
<option>Jammer</option>
</select></div>
<div><button type="roll" class="d6-dice" name="roll_matrix_sensor" title="Sensor Test"
value="&{template:matrix} {{myname=@{character_name}}} {{target=@{target|decker|character_name}}}{{action=Sensor Test}}{{roll=[[@{matrixsecurityrating}d6>[[ {2,(@{target|decker|deck-evasion-final} +@{matrix-penalty} +?{Miscellaneous Modifiers|0})}kh1]]!! ]] }}"></button>
</div>
<div><button type="roll" class="d6-dice" name="roll_matrix_evade" title="Evade Detection"
value="&{template:matrix}{{myname=@{character_name}}}{{target=@{target|decker|character_name}}}{{action=Evade Detection}}{{roll=[[@{matrixsecurityrating}d6>[[ {2,(@{target|decker|deck-sensors-final} +@{matrix-penalty} +?{Miscellaneous Modifiers|0} )}kh1]]!! ]] }}"></button>
</div>
<div><button type="roll" class="d6-dice" name="roll_matrix_parry" title="Parry Attack"
value="&{template:matrix}{{myname=@{character_name}}}{{target=@{target|decker|character_name}}}{{action=Parry Attack}}{{roll=[[@{matrixsecurityrating}d6>[[ {2,(@{target|decker|deck-evasion-final} + @{matrix-penalty} +?{Miscellaneous Modifiers|0} )}kh1]]!! ]] }}"></button>
</div>
<div><button type="roll" class="d6-dice" name="roll_matrix_position" title="Position Attack"
value="&{template:matrix}{{myname=@{character_name}}}{{target=@{target|decker|character_name}}}{{action=Position Attack}}{{roll= [[@{matrixsecurityrating}d6>[[ {2,(@{target|decker|deck-evasion-final} + @{matrix-penalty} +?{Miscellaneous Modifiers|0} )}kh1]]!! ]] }}"></button>
</div>
<div><button type="roll" class="d6-dice" name="roll_icattack" title="IC Attack Roll"
value="&{template:matrix} {{target=@{target|decker|character_name}}} {{character=@{character_name}}} {{action=IC Attack}} {{roll=[[@{matrixsecurityrating}d6>[[ {2,(@{deck-tn}+@{matrix-penalty} +?{Miscellaneous Modifiers|0})}kh1]]!! ]]}}">
</button></div>
<div><button type="roll" class="d6-dice" name="roll_icresist" title="IC Resist Roll"
value="&{template:matrix}{{myname=@{character_name}}}{{target=?{Power of Attack?}}}{{action=Damage Resistance Test}}{{roll= [[ @{matrixsecurityrating}d6>[[{2,(?{Power of Attack?|2} + ?{Miscellaneous Modifiers|0} )}kh1]]!! ]] }}"></button>
</button>
</div>
</div>
<div class="table-item-left"><textarea name="attr_icnotes" style='width:275px;height:25px;'></textarea>
<div><button type="action" class="d6-button" name="act_combat" title="Sensor Test" id="icsensortest">L</button></div>
<div><button type="action" class="d6-button" name="act_combat" title="Evade Detection" id="icevade">L</button></div>
<div><button type="action" class="d6-button" name="act_combat" title="Parry Attack" id="icparry">L</button></div>
<div><button type="action" class="d6-button" name="act_combat" title="Position Attack" id="icposition">L</button></div>
<div><button type="action" class="d6-button" name="act_combat" title="IC Attack" id="icattack">L</button></div>
<div><button type="action" class="pictos3-button" name="act_combat" title="IC Resist" id="icresist">b</button></div>
<div><textarea name="attr_icnotes" style='width:275px;height:25px;'></textarea>
</div>
</fieldset>
</div>
@@ -3328,6 +3326,7 @@
type="action" name="act_matrixsystemset">Apply</button>
</div>
</div>
<div class="vehicles">
<input type='hidden' class='sheet-tabstoggle' name='attr_sheetTab'>
<input type='hidden' class='buttontoggle' name='attr_sheettype' />
@@ -4220,10 +4219,10 @@
</div>
<fieldset class="repeating_cyberware">
<div class="cyberware-list">
<div class="table-item-left"><input type="text" name="attr_cyberware-name" style="width:120px"></div>
<div class="table-item-left"><input type="text" name="attr_cyberware-name"></div>
<div class="table-item"><input type="number" name="attr_cyberware-rating"></div>
<div class="table-item"><input type='number' name='attr_cyberware-essence' step='0.01' value=0></div>
<div class="table-item"><input type="text" name="attr_cyberware-notes" style='width:300px'></div>
<div class="table-item"><input type="text" name="attr_cyberware-notes"></div>
</fieldset>
<div class="SRH2">Bioware</div>
<div class="cyberware-list">
@@ -4234,10 +4233,10 @@
</div>
<fieldset class="repeating_bioware">
<div class="cyberware-list">
<div class="table-item-left"><input type="text" name="attr_bioware-name" style="width:120px"></div>
<div class="table-item-left"><input type="text" name="attr_bioware-name"></div>
<div class="table-item"><input type="number" name="attr_bioware-rating"></div>
<div class="table-item"><input type='number' name='attr_bioware-index' step='0.01' value=0></div>
<div class="table-item"><input type="text" name="attr_bioware-notes" style='width:300px;'></div>
<div class="table-item"><input type="text" name="attr_bioware-notes"></div>
</div>
</fieldset>
<div class="SRH2">Nanotech</div>
@@ -4249,10 +4248,10 @@
</div>
<fieldset class="repeating_nanotech">
<div class="cyberware-list">
<div class="table-item-left"><input type="text" name="attr_nanotech-name" style="width:120px"></div>
<div class="table-item-left"><input type="text" name="attr_nanotech-name"></div>
<div class="table-item"><input type="number" name="attr_nanotech-rating"></div>
<div class="table-item"><input type='number' name='attr_nanotech-essence' step='0.01' value=0></div>
<div class="table-item"><input type="text" name="attr_nanotech-notes" style='width:300px;'></div>
<div class="table-item"><input type="text" name="attr_nanotech-notes"></div>
</div>
</fieldset>
</div>
@@ -4446,6 +4445,45 @@ buttonlist.forEach(button => {
});
on('clicked:repeating_gear:usegear', (info) => {
var atts=[];
var source=info['sourceAttribute'].split('_');
var sourceattr=source.pop();
var myrepeat=source.join('_').concat('_');
atts.push(myrepeat.concat("rating"));
atts.push(myrepeat.concat("quantity"));
atts.push(myrepeat.concat("type"));
atts.push(myrepeat.concat("pool"));
atts.push(myrepeat.concat("name"));
getAttrs(atts, function(myval) {
var sets={};
let rating=parseInt(myval[myrepeat.concat("rating")]);
let qty=parseInt(myval[myrepeat.concat("quantity")]);
let mypool=myval[myrepeat.concat("pool")];
const poolname = mypool.charAt(0).toUpperCase() + mypool.slice(1);
const pool=mypool + "pool";
let myname=myval[myrepeat.concat("name")];
let mytype=myval[myrepeat.concat("type")];
calcDice=rating;
if ( mypool != "none" ) calcDice += " + ?{" + poolname + " Pool Dice?}";
var myroll="&{template:item} {{item=" + myname +"}}{{myname=@{character_name}}}";
myroll += "{{targetnumber=[[?{Target Number?|4}]]}}";
if ( mypool != "none" ) myroll += "{{poolname=" + poolname + " Pool}}{{pooldice=[[?{" + poolname + " Pool Dice?|0}]]}}";
myroll += "{{rolldice=[[" + calcDice + " ]]}}";
myroll += "{{result=[[ [[ " + calcDice + " ]]d6>[[?{Target Number?}]]!! ]]}}";
if ( ( mytype == "onetime" ) && ( qty < 1 ) ) myroll="/w gm &{template:info}{{character=@{character_name}}}{{action=You are out of " + myname + "}}";
console.log(myroll);
startRoll(myroll, (results) => {
if ( mypool != "none" ) updatepoolused("taskpool", results.results.pooldice.result);
if (( mytype == "onetime" ) && ( qty > 0 )) {
sets[myrepeat.concat("quantity")] = qty -1;
setAttrs(sets);
}
finishRoll( results.rollId);
});
});
});
on('clicked:repeating_credsticks:checkcredstick', (info) => {
var atts=[];
var source=info['sourceAttribute'].split('_');
@@ -4456,7 +4494,7 @@ buttonlist.forEach(button => {
getAttrs(atts, function(myval) {
let rating=parseInt(myval[myrepeat.concat("rating")]);
let myid=myval[myrepeat.concat("id")];
var myroll="&{template:skill} {{skill=" + myid + " credstick}}{{myname=@{character_name}}}{{poolname=Task Pool}}{{targetnumber=[[?{Verification System Rating?|4}]]}}";
var myroll="&{template:item} {{item=" + myid + " credstick}}{{myname=@{character_name}}}{{poolname=Task Pool}}{{targetnumber=[[?{Verification System Rating?|4}]]}}";
myroll += "{{pooldice=[[?{Task Pool Dice?|0}]]}}{{rolldice=[[" + rating + " + ?{Task Pool Dice?} ]]}}";
myroll += "{{result=[[ [[ " + rating + " + ?{Task Pool Dice?} ]]d6>[[?{Verification System Rating?}]]!! ]]}}";
console.log(myroll);
@@ -5007,9 +5045,9 @@ buttonlist.forEach(button => {
});
var initiative = function (init, reaction, dmgpen, mytitle, character) {
console.log('init ' + init + ' reaction ' + reaction + ' dmgpen ' + dmgpen + ' mytitle ' + mytitle + ' character ' + character );
penatts=["stun_pen", "wound_pen", "matrix-penalty", "vehicle-penalty", "rccommand-penalty", "rcsimsense-penalty", "rcsystem-penalty"];
getAttrs(penatts, function (myval) {
console.log('test');
console.log(init, reaction)
var myroll="&{template:init} {{character=" + character + "}}{{type=" + mytitle + "}}"
myroll += "{{roll=[[" + init + "d6+" + reaction + dmgpen + " &{tracker}]]}}"
@@ -5029,6 +5067,7 @@ buttonlist.forEach(button => {
});
};
on('clicked:init-aug', (info) => {
const myid=info["htmlAttributes"]["id"]
let init="@{initiative|max}";
let reaction="@{reaction|max}";
let dmgpen=" -@{wp-char}";
@@ -5038,6 +5077,8 @@ buttonlist.forEach(button => {
});
on('clicked:repeating_ic:init', (info) => {
gets=[];
var source=info['sourceAttribute'].split('_');
@@ -5046,18 +5087,15 @@ buttonlist.forEach(button => {
const mytitle=info["htmlAttributes"]["title"]
gets.push(myrepeat.concat("icrating"));
gets.push(myrepeat.concat("icname"));
gets.push(myrepeat.concat("matrix-damage"));
gets.push(myrepeat.concat("ic-penalty"));
getAttrs(gets, function (myval) {
var penalty;
console.log(myval);
const init = "@{matrixsecuritynumber}";
const reaction = parseInt(myval[myrepeat.concat("icrating")]);
const character = myval[myrepeat.concat("icname")];
const dmg = parseInt(myval[myrepeat.concat("matrix-damage")]);
var penalty = " - 0";
if ( dmg > 10) penalty = " - 100";
else if (dmg > 5) penalty = " - 3";
else if (dmg > 2) penalty = " - 2";
else if (dmg > 0) penalty = " - 1";
var penalty = -1 * parseInt(myval[myrepeat.concat("ic-penalty")]);
if ( penalty == 0 ) penalty = " + 0 ";
initiative(init, reaction, penalty, mytitle, character);
});
@@ -5356,7 +5394,7 @@ buttonlist.forEach(button => {
});
on('clicked:vehicleposition', (info) => {
calcTN="[[{2,(@{handling} + @{speed-exceeding} + @{driving-position-terrain} - @{vehicle-actionbonus} + (@{vehicle-autonav} * @{autonav}) + @{vehicle-driver}stun_pen} +@{vehicle-driver}wound_pen} +@{wp-vehicle} )}kh1]]";
calcTN="[[{2,(@{handling} + @{speed-exceeding} + @{driving-position-terrain} - @{vehicle-actionbonus} + (@{vehicle-autonav} * @{autonav}) + @{vehicle-driver}stun_pen} +@{vehicle-driver}wound_pen} + @{wp-vehicle} )}kh1]]";
calcDice="[[@{vehicle-skill-final} + ?{Control Pool Dice?}]]"
var myroll="&{template:vehicle}{{type=Position Maneuever}}{{controlpool=[[?{Control Pool Dice?|0}]]}}{{character=@{character_name}}}"
myroll += "{{targetnumber=" + calcTN + "}}{{position=[[0]]}}"
@@ -6553,44 +6591,31 @@ on("change:deck-systemrating change:matrix-iconstatus change:deck-activemem chan
setAttrs({"deck-mem-overloaded": myoverloaded, "deck-util-overloaded": myratingoload});
});
});
const matrixtn={BLUE: {Intruder: 3, Legitimate: 6, secrating: 1}, GREEN: {Intruder: 4, Legitimate: 5, secrating: 2}, ORANGE: {Intruder: 5, Legitimate: 4, secrating: 3}, RED: {Intruder: 6, Legitimate: 3, secrating: 4}};
on("change:deck-systemrating change:matrix-iconstatus", function() {
getAttrs(["deck-systemrating","matrix-iconstatus"], function(myval) {
sets={};
var mytn=0;
switch(myval["deck-systemrating"]) {
case "Blue":
if (myval["matrix-iconstatus"] == "Intruder") {
mytn=3;
} else {
mytn=6;
}
break;
case "Green":
if (myval["matrix-iconstatus"] == "Intruder") {
mytn=4;
} else {
mytn=5;
}
break;
case "Orange":
if (myval["matrix-iconstatus"] == "Intruder") {
mytn=5;
} else {
mytn=4;
}
break;
case "Red":
if (myval["matrix-iconstatus"] == "Intruder") {
mytn=6;
} else {
mytn=3;
}
break;
}
setAttrs({"deck-tn": mytn});
const rating=myval["deck-systemrating"].toUpperCase();
const icon=myval["matrix-iconstatus"];
sets["deck-tn"]=matrixtn[rating][icon];
console.log(sets)
setAttrs(sets);
});
});
on("change:matrixcode", function() {
console.log('matrixsecuritynumber')
getAttrs(["matrixcode"], function (myvar) {
const rating=myvar["matrixcode"].toUpperCase();
sets={};
sets["matrixsecuritynumber"]=matrixtn[rating]["secrating"];
console.log(sets)
setAttrs(sets);
});
});
on("change:deckattacklevel", function() {
const multipliers={L:2, M:3, S:4, D:5};
getAttrs(["deckattacklevel"], function(myval) {
@@ -6600,6 +6625,46 @@ on("change:deckattacklevel", function() {
});
});
on('clicked:repeating_ic:combat', (info) => {
const mytitle=info["htmlAttributes"]["title"]
const myid=info["htmlAttributes"]["id"]
gets=["matrixcode"];
var source=info['sourceAttribute'].split('_');
var sourceattr=source.pop();
var myrepeat=source.join('_').concat('_');
gets.push(myrepeat.concat("icrating"));
gets.push(myrepeat.concat("icname"));
gets.push(myrepeat.concat("ic-penalty"));
gets.push(myrepeat.concat("matrix-iconstatus"));
getAttrs(gets, function (myval) {
var myatt="@{target|Target|deck-evasion-final}";
const code=myval["matrixcode"].toUpperCase();
const rating=parseInt(myval[myrepeat.concat("icrating")]);
const name=myval[myrepeat.concat("icname")];
const penalty=parseInt(myval[myrepeat.concat("ic-penalty")]);
const targeticon=myval[myrepeat.concat("matrix-iconstatus")];
const attacktn =matrixtn[code][targeticon];
var target="{{target=@{target|Target|token_name}}}";
if ( mytitle == "Evade Detection" ) myatt = "@{target|Target|deck-sensors-final}";
if ( mytitle == "IC Attack" ) myatt = attacktn;
if ( mytitle == "IC Resist" ) myatt = "?{Power of Attack?|2}";
if ( mytitle == "IC Resist" ) target = "{{target=" + name + "}}";
var calcTN= myatt + " +?{Miscellaneous Modifiers|0} + " + penalty;
var calcDice="@{matrixsecurityrating}"
var myroll="&{template:matrix}{{myname=" + name + "}}";
myroll+=target;
myroll+="{{rolldice=[[" + calcDice + "]]}}{{targetnumber=[[" + calcTN + "]]}}";
myroll+="{{action=" + mytitle + "}}"
myroll+="{{roll= [[ [[" + calcDice + "]]d6>[[ {2,(" + calcTN + ")}kh1]]!! ]] }}"
console.log(myroll);
startRoll(myroll, (results) => {
finishRoll( results.rollId);
});
});
});
on("clicked:deck-utilities-unloadall", function() {
utilatts=[];
utilrepeatatts=[];
@@ -7354,7 +7419,7 @@ on("change:visionprofile change:visibility", function() {
updateVisionTNs();
});
on("change:matrix-damage change:rccommand-damage change:rcsimsense-damage change:rcsystem-damage change:vehicle-damage change:repeating_ic:matrix-damage", function(eventinfo) {
on("change:matrix-damage change:rccommand-damage change:rcsimsense-damage change:rcsystem-damage change:vehicle-damage change:repeating_ic:ic-damage", function(eventinfo) {
let myattribute=""
console.log(eventinfo);
if ( eventinfo["sourceAttribute"].startsWith("repeating") ) {
@@ -7407,27 +7472,6 @@ on("change:metatype change:quickness change:acceleration change:handling-street
});
on("change:matrixcode", function() {
console.log('matrixsecuritynumber')
getAttrs(["matrixcode"], function (myvar) {
switch (myvar.matrixcode) {
case "BLUE":
var myval = 1
break;
case "GREEN":
var myval = 2
break;
case "ORANGE":
var myval = 3
break;
case "RED":
var myval = 4
break;
}
setAttrs({matrixsecuritynumber: myval});
});
});
on("change:deck-dni change:intelligence_max change:reaction change:deck-asist change:deck-response change:deck-realityfilter", function() {
getAttrs(["deck-dni", "intelligence_max", "reaction", "deck-response", "deck-asist", "deck-realityfilter"], function (myval) {
var dnibonus=0;
@@ -7669,13 +7713,18 @@ var updatePenalty = function(attribute) {
let myatt = attribute.concat("-damage");
let mypen = attribute.concat("-penalty");
getAttrs([myatt], function(myval) {
sets={};
console.log('dmg ' + myval[myatt]);
console.log('pen ' + mypen);
var penalty = 0;
var dmg = parseInt(myval[myatt]);
if ( dmg > 10) penalty = 4;
else if (dmg > 5) penalty = 3;
else if (dmg > 2) penalty = 2;
else if (dmg > 0) penalty = 1;
setAttrs({[mypen]: penalty});
sets[mypen]=penalty;
console.log(sets);
setAttrs(sets);
});
};
@@ -8203,6 +8252,18 @@ powers: ["Accident", "Divination", "Guard", "Materialization", "Search"]
</div>
</rolltemplate>
<rolltemplate class="sheet-rolltemplate-item">
<div class="sheet-rtcontainer">
<div class="sheet-rtheader">{{myname}} uses {{item}}</div>
<div class="sheet-rtrow"><b>Rolling:</b> {{rolldice}}d6 vs. {{targetnumber}} </div>
<div class="sheet-rtrow"><span>Item Test: </span>{{result}}</div>
{{#description}}<div class="rtrow">{{description}}</div>{{/description}}
{{#poolname}}<div class="sheet-rtrow">{{poolname}}: {{pooldice}}</div>{{/poolname}}
{{#notes}}<div class="sheet-rtrow"> {{notes}}</div>{{/notes}}
{{#dicepool}}<div class="sheet-rtrow">Dice Pool Used: {{dicepool}}</div>{{/dicepool}}
</div>
</rolltemplate>
<rolltemplate class="sheet-rolltemplate-skill">
<div class="sheet-rtcontainer">
<div class="sheet-rtheader">{{myname}}: {{skill}}</div>
@@ -8289,7 +8350,7 @@ powers: ["Accident", "Divination", "Guard", "Materialization", "Search"]
<div class="sheet-rtcontainer">
<div class="sheet-rtheader">{{character}}: Info</div>
<div class="sheet-rtrow">Action: {{action}}</div>
<div class="sheet-rtrow">Type: {{type}}</div>
{{#type}}<div class="sheet-rtrow">Type: {{type}}</div>{{/type}}
{{#info1}}<div class="sheet-rtrow">{{info1}}</div>{{/info1}}
{{#info2}}<div class="sheet-rtrow">{{info2}}</div>{{/info2}}
</div>
+1 -1
View File
@@ -2,7 +2,7 @@
"html": "shadowrun3e.html",
"css": "shadowrun3e.css",
"authors": "Brad Hornbeck",
"roll20userid": "Brad H.",
"roll20userid": "9045742",
"preview": "shadowrun3.PNG",
"instructions": "https://shadowrun3roll20.fandom.com/wiki/Shadowrun3.roll20_Wiki"
}