BESM4eExtras v1.2.0
Added weapon customizations to weapon attack roll templates. Added protection layers to weapon defense roll templates. Added shock value to weapon defense roll templates. Few minor bug fixes.
This commit is contained in:
+558
-20
@@ -30,7 +30,7 @@
|
||||
<div class="row padt padb"><h3 class="col-1 center border"><span>Sheet Options</span></h3></div>
|
||||
<div class="row center padb">
|
||||
<div class="col-1-5 padr"><h4 class="center border"><span>Sheet Version
|
||||
<input type="text" class="center" name="attr_version" value="1.1.3" readonly />
|
||||
<input type="text" class="center" name="attr_version" value="1.2.0" readonly />
|
||||
</span></h4></div>
|
||||
<div class="col-1-5 padr"><h4 class="center border"><span>Sheet Type
|
||||
<select class="border"><option value="Sheet">Character</option><!--<option value="NPC Sheet">NPC</option><option value="Thing Sheet">Thing</option><option value="GM Sheet">GM</option>--></select>
|
||||
@@ -3980,7 +3980,7 @@
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-1-2 padr fontsize-12px"><input type="text" value="Duration" disabled /></div>
|
||||
<div class="col-1-2 padr fontsize-12px"><select name="attr_enhancementduration"><option value=0>Per attribute description</option><option value=1>10 minutes / 2 rounds</option><option value=2>1 hour / 5 rounds</option><option value=3>1 day / 10 rounds</option><option value=4>1 week / 1 minute</option><option value=5>1 month / 1 hour</option><option value=6>1 season / 1 day</option><option value=7>1 year / 1 week</option><option value=8>10 years / 1 month</option><option value=9>100 years / 1 year</option><option value=10>Permanent</option></select></div>
|
||||
<div class="col-1-2 padr fontsize-12px"><select name="attr_enhancementduration"><option value=0>Per attribute description</option><option value=1>10 minutes / 2 rounds</option><option value=2>1 hour / 5 rounds</option><option value=3>1 day / 10 rounds</option><option value=4>1 week / 1 minute</option><option value=5>1 month / 1 hour</option><option value=6>1 season / 1 day</option><option value=10>Permanent</option></select></div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-1-2 padr fontsize-12px"><input type="text" value="Potent" disabled /></div>
|
||||
@@ -4074,7 +4074,7 @@
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-1-2 padr fontsize-12px"><input type="text" value="Brutal" readonly /></div>
|
||||
<div class="col-1-2 padr fontsize-12px"><select name="attr_enhancementbrutal"><option value=0>False</option><option value=1>Level 1 Weapon</option><option value=2>Level 2 Weapon</option><option value=3>Level 3 Weapon</option><option value=4>Level 4 Weapon</option><option value=5>Level 5 Weapon</option><option value=6>Level 6 Weapon</option><option value=7>+</option></select></div>
|
||||
<div class="col-1-2 padr fontsize-12px"><select name="attr_enhancementbrutal"><option value=0>False</option><option value=1>Level 1 Weapon</option><option value=2>Level 2 Weapon</option><option value=3>Level 3 Weapon</option><option value=4>Level 4 Weapon</option><option value=5>Level 5 Weapon</option><option value=6>Level 6 Weapon</option></select></div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-1-2 padr fontsize-12px"><input type="text" value="Concealment" readonly /></div>
|
||||
@@ -4106,7 +4106,7 @@
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-1-2 padr fontsize-12px"><input type="text" value="Hardboiled" readonly /></div>
|
||||
<div class="col-1-2 padr fontsize-12px"><select name="attr_enhancementhardboiled"><option value=0>False</option><option value=1>Shock Value +10</option><option value=2>Shock Value +20</option><option value=3>Shock Value +30</option><option value=4>Shock Value +40</option><option value=5>Shock Value +50</option><option value=6>Shock Value +60</option><option value=7>+</option></select></div>
|
||||
<div class="col-1-2 padr fontsize-12px"><select name="attr_enhancementhardboiled"><option value=0>False</option><option value=1>Shock Value +10</option><option value=2>Shock Value +20</option><option value=3>Shock Value +30</option><option value=4>Shock Value +40</option><option value=5>Shock Value +50</option><option value=6>Shock Value +60</option></select></div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-1-2 padr fontsize-12px"><input type="text" value="Judge Opponent" readonly /></div>
|
||||
@@ -4493,7 +4493,7 @@
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-1-2 padr fontsize-12px"><input type="text" value="Continuing" disabled /></div>
|
||||
<div class="col-1-2 padr fontsize-12px"><select name="attr_enhancementcontinuing"><option value=0>False</option><option value=1>1/True</option><option value=2>2</option><option value=3>3</option><option value=4>4</option><option value=5>5</option><option value=6>6</option><option value=7>+</option></select></div>
|
||||
<div class="col-1-2 padr fontsize-12px"><select name="attr_enhancementcontinuing"><option value=0>False</option><option value=1>1/True</option><option value=2>2</option><option value=3>3</option><option value=4>4</option><option value=5>5</option><option value=6>6</option></select></div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-1-2 padr fontsize-12px"><input type="text" value="Defense" disabled /></div>
|
||||
@@ -4505,7 +4505,7 @@
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-1-2 padr fontsize-12px"><input type="text" value="Enervation" disabled /></div>
|
||||
<div class="col-1-2 padr fontsize-12px"><select name="attr_enhancementenervation"><option value=0>False</option><option value=1>5 energy drain</option><option value=2>10 energy drain</option><option value=3>15 energy drain</option><option value=4>20 energy drain</option><option value=5>25 energy drain</option><option value=6>30 energy drain</option><option value=7>+</option></select></div>
|
||||
<div class="col-1-2 padr fontsize-12px"><select name="attr_enhancementenervation"><option value=0>False</option><option value=1>5 energy drain</option><option value=2>10 energy drain</option><option value=3>15 energy drain</option><option value=4>20 energy drain</option><option value=5>25 energy drain</option><option value=6>30 energy drain</option></select></div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-1-2 padr fontsize-12px"><input type="text" value="Flare - Audible" disabled /></div>
|
||||
@@ -4565,7 +4565,7 @@
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-1-2 padr fontsize-12px"><input type="text" value="Knockback" disabled /></div>
|
||||
<div class="col-1-2 padr fontsize-12px"><select name="attr_enhancementknockback"><option value=0>Normal</option><option value=1>x1</option><option value=2>x2</option><option value=3>x4</option><option value=4>x8</option><option value=5>x16</option><option value=6>x32</option><option value=7>+</option></select></div>
|
||||
<div class="col-1-2 padr fontsize-12px"><select name="attr_enhancementknockback"><option value=0>Normal</option><option value=1>x2</option><option value=2>x4</option><option value=3>x8</option><option value=4>x16</option><option value=5>x32</option><option value=6>x64</option></select></div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-1-2 padr fontsize-12px"><input type="text" value="Linked" disabled /></div>
|
||||
@@ -4585,11 +4585,11 @@
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-1-2 padr fontsize-12px"><input type="text" value="Penetrating Armor" disabled /></div>
|
||||
<div class="col-1-2 padr fontsize-12px"><select name="attr_enhancementpenetrating"><option value=0>False</option><option value=1>-10 armor rating</option><option value=2>-20 armor rating</option><option value=3>-30 armor rating</option><option value=4>-40 armor rating</option><option value=5>-50 armor rating</option><option value=6>-60 armor rating</option><option value=7>+</option></select></div>
|
||||
<div class="col-1-2 padr fontsize-12px"><select name="attr_enhancementpenetrating"><option value=0>False</option><option value=1>-10 armor rating</option><option value=2>-20 armor rating</option><option value=3>-30 armor rating</option><option value=4>-40 armor rating</option><option value=5>-50 armor rating</option><option value=6>-60 armor rating</option></select></div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-1-2 padr fontsize-12px"><input type="text" value="Piercing Forcefield" disabled /></div>
|
||||
<div class="col-1-2 padr fontsize-12px"><select name="attr_enhancementpiercing"><option value=0>False</option><option value=1>-10 armor rating</option><option value=2>-20 armor rating</option><option value=3>-30 armor rating</option><option value=4>-40 armor rating</option><option value=5>-50 armor rating</option><option value=6>-60 armor rating</option><option value=7>+</option></select></div>
|
||||
<div class="col-1-2 padr fontsize-12px"><select name="attr_enhancementpiercing"><option value=0>False</option><option value=1>-10 armor rating</option><option value=2>-20 armor rating</option><option value=3>-30 armor rating</option><option value=4>-40 armor rating</option><option value=5>-50 armor rating</option><option value=6>-60 armor rating</option></select></div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-1-2 padr fontsize-12px"><input type="text" value="Psychic" disabled /></div>
|
||||
@@ -4597,7 +4597,7 @@
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-1-2 padr fontsize-12px"><input type="text" value="Quake" disabled /></div>
|
||||
<div class="col-1-2 padr fontsize-12px"><select name="attr_enhancementquake"><option value=0>False</option><option value=1>2 m deep fissure</option><option value=2>5 m deep fissure</option><option value=3>10 m deep fissure</option><option value=4>30 m deep fissure</option><option value=5>100 m deep fissure</option><option value=6>300 m deep fissure</option><option value=7>+</option></select></div>
|
||||
<div class="col-1-2 padr fontsize-12px"><select name="attr_enhancementquake"><option value=0>False</option><option value=1>2 m deep fissure</option><option value=2>5 m deep fissure</option><option value=3>10 m deep fissure</option><option value=4>30 m deep fissure</option><option value=5>100 m deep fissure</option><option value=6>300 m deep fissure</option></select></div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-1-2 padr fontsize-12px"><input type="text" value="Reach" disabled /></div>
|
||||
@@ -4609,7 +4609,7 @@
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-1-2 padr fontsize-12px"><input type="text" value="Spreading" disabled /></div>
|
||||
<div class="col-1-2 padr fontsize-12px"><select name="attr_enhancementspreading"><option value=0>False</option><option value=1>1 target</option><option value=2>2 targets</option><option value=3>3 targets</option><option value=4>4 targets</option><option value=5>5 targets</option><option value=6>6 targets</option><option value=7>+</option></select></div>
|
||||
<div class="col-1-2 padr fontsize-12px"><select name="attr_enhancementspreading"><option value=0>False</option><option value=1>1 target</option><option value=2>2 targets</option><option value=3>3 targets</option><option value=4>4 targets</option><option value=5>5 targets</option><option value=6>6 targets</option></select></div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-1-2 padr fontsize-12px"><input type="text" value="Stun Only" disabled /></div>
|
||||
@@ -4617,7 +4617,7 @@
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-1-2 padr fontsize-12px"><input type="text" value="Tangle" disabled /></div>
|
||||
<div class="col-1-2 padr fontsize-12px"><select name="attr_enhancementtangle"><option value=0>False</option><option value=1>5 HP Tangle</option><option value=2>10 HP Tangle</option><option value=3>15 HP Tangle</option><option value=4>20 HP Tangle</option><option value=5>25 HP Tangle</option><option value=6>30 HP Tangle</option><option value=7>+</option></select></div>
|
||||
<div class="col-1-2 padr fontsize-12px"><select name="attr_enhancementtangle"><option value=0>False</option><option value=1>5 HP Tangle</option><option value=2>10 HP Tangle</option><option value=3>15 HP Tangle</option><option value=4>20 HP Tangle</option><option value=5>25 HP Tangle</option><option value=6>30 HP Tangle</option></select></div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-1-2 padr fontsize-12px"><input type="text" value="Targeted" disabled /></div>
|
||||
@@ -5150,7 +5150,7 @@
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-1-2 padr fontsize-12px"><input type="text" value="Non-Penetrating" disabled /></div>
|
||||
<div class="col-1-2 padr fontsize-12px"><select name="attr_limiternonpenetrating"><option value=0>False</option><option value=1>+10 Armor Rating</option><option value=2>+20 Armor Rating</option><option value=3>+30 Armor Rating</option><option value=4>+40 Armor Rating</option><option value=5>+50 Armor Rating</option><option value=6>+60 Armor Rating</option><option value=7>+</option></select></div>
|
||||
<div class="col-1-2 padr fontsize-12px"><select name="attr_limiternonpenetrating"><option value=0>False</option><option value=1>+10 Armor Rating</option><option value=2>+20 Armor Rating</option><option value=3>+30 Armor Rating</option><option value=4>+40 Armor Rating</option><option value=5>+50 Armor Rating</option><option value=6>+60 Armor Rating</option></select></div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-1-2 padr fontsize-12px"><input type="text" value="Stoppable" disabled /></div>
|
||||
@@ -5728,8 +5728,270 @@
|
||||
<div class="col-7-12 padr rt-value center">{{damage12}}</div>
|
||||
{{/rollTotal() roll 12}}
|
||||
</div>
|
||||
|
||||
{{/attack}} {{#defense}}
|
||||
{{/attack}} {{#area}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Area</div>
|
||||
<div class="col-7-12 padr rt-value center">{{radius}} m radius</div>
|
||||
</div>
|
||||
{{/area}} {{#duration}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Duration</div>
|
||||
<div class="col-7-12 padr rt-value center">{{time}}</div>
|
||||
</div>
|
||||
{{/duration}} {{#range}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Range</div>
|
||||
<div class="col-7-12 padr rt-value center">{{distance}} {{kilometers}}m</div>
|
||||
</div>
|
||||
{{/range}} {{#autofire}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Autofire - Attack</div>
|
||||
<div class="col-7-12 padr rt-value center">Number of Hits</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">>1-3</div>
|
||||
<div class="col-7-12 padr rt-value center">1</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">>4-6</div>
|
||||
<div class="col-7-12 padr rt-value center">2</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">>7-9</div>
|
||||
<div class="col-7-12 padr rt-value center">3</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">>10-12</div>
|
||||
<div class="col-7-12 padr rt-value center">4</div>
|
||||
</div>
|
||||
{{/autofire}} {{#blight}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Blight</div>
|
||||
<div class="col-7-12 padr rt-value center">Body vs TN{{blight}}</div>
|
||||
</div>
|
||||
{{/blight}} {{#contact}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Contact</div>
|
||||
<div class="col-7-12 padr rt-value center"></div>
|
||||
</div>
|
||||
{{/contact}} {{#contagious}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Contagious</div>
|
||||
<div class="col-7-12 padr rt-value center"></div>
|
||||
</div>
|
||||
{{/contagious}} {{#continuing}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Continuing Damage</div>
|
||||
{{#rollTotal() roll 2}}
|
||||
<div class="col-7-12 padr rt-value center">{{continuing2}}</div>
|
||||
{{/rollTotal() roll 2}} {{#rollTotal() roll 3}}
|
||||
<div class="col-7-12 padr rt-value center">{{continuing3}}</div>
|
||||
{{/rollTotal() roll 3}} {{#rollTotal() roll 4}}
|
||||
<div class="col-7-12 padr rt-value center">{{continuing4}}</div>
|
||||
{{/rollTotal() roll 4}} {{#rollTotal() roll 5}}
|
||||
<div class="col-7-12 padr rt-value center">{{continuing5}}</div>
|
||||
{{/rollTotal() roll 5}} {{#rollTotal() roll 6}}
|
||||
<div class="col-7-12 padr rt-value center">{{continuing6}}</div>
|
||||
{{/rollTotal() roll 6}} {{#rollTotal() roll 7}}
|
||||
<div class="col-7-12 padr rt-value center">{{continuing7}}</div>
|
||||
{{/rollTotal() roll 7}} {{#rollTotal() roll 8}}
|
||||
<div class="col-7-12 padr rt-value center">{{continuing8}}</div>
|
||||
{{/rollTotal() roll 8}} {{#rollTotal() roll 9}}
|
||||
<div class="col-7-12 padr rt-value center">{{continuing9}}</div>
|
||||
{{/rollTotal() roll 9}} {{#rollTotal() roll 10}}
|
||||
<div class="col-7-12 padr rt-value center">{{continuing10}}</div>
|
||||
{{/rollTotal() roll 10}} {{#rollTotal() roll 11}}
|
||||
<div class="col-7-12 padr rt-value center">{{continuing11}}</div>
|
||||
{{/rollTotal() roll 11}} {{#rollTotal() roll 12}}
|
||||
<div class="col-7-12 padr rt-value center">{{continuing12}}</div>
|
||||
{{/rollTotal() roll 12}}
|
||||
</div>
|
||||
{{/continuing}} {{#drain}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Drain</div>
|
||||
<div class="col-7-12 padr rt-value center">{{draintype}} -{{drain}}</div>
|
||||
</div>
|
||||
{{/drain}} {{#enervation}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Enervation</div>
|
||||
<div class="col-7-12 padr rt-value center">Energy -{{enervation}}</div>
|
||||
</div>
|
||||
{{/enervation}} {{#flare}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Flare ({{sense}})</div>
|
||||
<div class="col-7-12 padr rt-value center">{{obstacle}} Obstacle vs. TN 12</div>
|
||||
</div>
|
||||
{{/flare}} {{#flexible}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Flexible</div>
|
||||
<div class="col-7-12 padr rt-value center"></div>
|
||||
</div>
|
||||
{{/flexible}} {{#helper}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Helper</div>
|
||||
<div class="col-7-12 padr rt-value center"></div>
|
||||
</div>
|
||||
{{/helper}} {{#homing}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Homing</div>
|
||||
<div class="col-7-12 padr rt-value center"></div>
|
||||
</div>
|
||||
{{/homing}} {{#incapacitating}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Incapacitating</div>
|
||||
<div class="col-7-12 padr rt-value center">{{obstacle}} vs. TN 12</div>
|
||||
</div>
|
||||
{{/incapacitating}} {{#inconspicuous}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Inconspicuous</div>
|
||||
<div class="col-7-12 padr rt-value center"></div>
|
||||
</div>
|
||||
{{/inconspicuous}} {{#incurable}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Incurable</div>
|
||||
<div class="col-7-12 padr rt-value center">{{recovery}}</div>
|
||||
</div>
|
||||
{{/incurable}} {{#irritant}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Irritant</div>
|
||||
<div class="col-7-12 padr rt-value center">{{obstacle}} vs. TN 12</div>
|
||||
</div>
|
||||
{{/irritant}} {{#knockback}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Knockback</div>
|
||||
<div class="col-7-12 padr rt-value center">x{{kb}}</div>
|
||||
</div>
|
||||
{{/knockback}} {{#multidimensional}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Multidimensional</div>
|
||||
<div class="col-7-12 padr rt-value center"></div>
|
||||
</div>
|
||||
{{/multidimensional}} {{#pen}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">{{penname}}</div>
|
||||
<div class="col-7-12 padr rt-value center">{{pentype}} -{{pen}}</div>
|
||||
</div>
|
||||
{{/pen}} {{#psychic}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Psychic</div>
|
||||
<div class="col-7-12 padr rt-value center"></div>
|
||||
</div>
|
||||
{{/psychic}} {{#quake}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Quake</div>
|
||||
<div class="col-7-12 padr rt-value center">{{fissure}} m deep fissure</div>
|
||||
</div>
|
||||
{{/quake}} {{#reach}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Reach</div>
|
||||
<div class="col-7-12 padr rt-value center"></div>
|
||||
</div>
|
||||
{{/reach}} {{#selective}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Selective</div>
|
||||
<div class="col-7-12 padr rt-value center"></div>
|
||||
</div>
|
||||
{{/selective}} {{#spreading}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Spreading</div>
|
||||
<div class="col-7-12 padr rt-value center">{{spreading}} additional target</div>
|
||||
</div>
|
||||
{{/spreading}} {{#stunonly}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Stun Only</div>
|
||||
<div class="col-7-12 padr rt-value center"></div>
|
||||
</div>
|
||||
{{/stunonly}} {{#tangle}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Tangle</div>
|
||||
<div class="col-7-12 padr rt-value center">{{tangle}} HP</div>
|
||||
</div>
|
||||
{{/tangle}} {{#targeted}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Targeted</div>
|
||||
<div class="col-7-12 padr rt-value center">x2 vs {{hasenemy}}</div>
|
||||
</div>
|
||||
{{/targeted}} {{#vampiric}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Vampiric</div>
|
||||
<div class="col-7-12 padr rt-value center">{{stolenhealth}} health</div>
|
||||
</div>
|
||||
{{/vampiric}} {{#ammo}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Ammo</div>
|
||||
<div class="col-7-12 padr rt-value center">{{ammunition}}</div>
|
||||
</div>
|
||||
{{/ammo}} {{#backblast}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Backblast Affects</div>
|
||||
<div class="col-7-12 padr rt-value center">{{bystander}}</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Backblast Damage</div>
|
||||
{{#rollTotal() roll 2}}
|
||||
<div class="col-7-12 padr rt-value center">{{continuing2}}</div>
|
||||
{{/rollTotal() roll 2}} {{#rollTotal() roll 3}}
|
||||
<div class="col-7-12 padr rt-value center">{{continuing3}}</div>
|
||||
{{/rollTotal() roll 3}} {{#rollTotal() roll 4}}
|
||||
<div class="col-7-12 padr rt-value center">{{continuing4}}</div>
|
||||
{{/rollTotal() roll 4}} {{#rollTotal() roll 5}}
|
||||
<div class="col-7-12 padr rt-value center">{{continuing5}}</div>
|
||||
{{/rollTotal() roll 5}} {{#rollTotal() roll 6}}
|
||||
<div class="col-7-12 padr rt-value center">{{continuing6}}</div>
|
||||
{{/rollTotal() roll 6}} {{#rollTotal() roll 7}}
|
||||
<div class="col-7-12 padr rt-value center">{{continuing7}}</div>
|
||||
{{/rollTotal() roll 7}} {{#rollTotal() roll 8}}
|
||||
<div class="col-7-12 padr rt-value center">{{continuing8}}</div>
|
||||
{{/rollTotal() roll 8}} {{#rollTotal() roll 9}}
|
||||
<div class="col-7-12 padr rt-value center">{{continuing9}}</div>
|
||||
{{/rollTotal() roll 9}} {{#rollTotal() roll 10}}
|
||||
<div class="col-7-12 padr rt-value center">{{continuing10}}</div>
|
||||
{{/rollTotal() roll 10}} {{#rollTotal() roll 11}}
|
||||
<div class="col-7-12 padr rt-value center">{{continuing11}}</div>
|
||||
{{/rollTotal() roll 11}} {{#rollTotal() roll 12}}
|
||||
<div class="col-7-12 padr rt-value center">{{continuing12}}</div>
|
||||
{{/rollTotal() roll 12}}
|
||||
</div>
|
||||
{{/backblast}} {{#exclusive}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Exclusive</div>
|
||||
<div class="col-7-12 padr rt-value center">{{hasenemy}}</div>
|
||||
</div>
|
||||
{{/exclusive}} {{#fieldless}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Fieldless</div>
|
||||
<div class="col-7-12 padr rt-value center"></div>
|
||||
</div>
|
||||
{{/fieldless}} {{#nostun}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">No Stun</div>
|
||||
<div class="col-7-12 padr rt-value center"></div>
|
||||
</div>
|
||||
{{/nostun}} {{#nonpenetrating}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Non-penetrating</div>
|
||||
<div class="col-7-12 padr rt-value center">AR +{{wontpenetrate}}</div>
|
||||
</div>
|
||||
{{/nonpenetrating}} {{#stoppable}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Stoppable</div>
|
||||
<div class="col-7-12 padr rt-value center">{{timetostop}}</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Stoppable</div>
|
||||
<div class="col-7-12 padr rt-value center">{{stopdamage}}</div>
|
||||
</div>
|
||||
{{/stoppable}} {{#toxic}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Toxic</div>
|
||||
<div class="col-7-12 padr rt-value center">{{escapable}}</div>
|
||||
</div>
|
||||
{{/toxic}} {{#unreliable}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Unreliable</div>
|
||||
<div class="col-7-12 padr rt-value center">Die roll of {{failure}}</div>
|
||||
</div>
|
||||
{{/unreliable}} {{#defense}}
|
||||
<div class="rt-emote"><i>{{character_name}} defends{{#target_name}} {{target_name}}{{/target_name}} with {{pronoun}} {{weapon_name}}!</i></div>
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Maneuver</div>
|
||||
@@ -5747,8 +6009,103 @@
|
||||
<div class="col-5-12 padl padr rt-key">Total</div>
|
||||
<div class="col-7-12 padr rt-value center">{{total}}</div>
|
||||
</div>
|
||||
{{#forcefield}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Forcefield</div>
|
||||
<div class="col-7-12 padr rt-value center">{{forcefield}}</div>
|
||||
</div>
|
||||
{{/forcefield}} {{#armor1}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Primary Armor</div>
|
||||
<div class="col-7-12 padr rt-value center">{{armor1}}</div>
|
||||
</div>
|
||||
{{/armor1}} {{#armor2}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Secondary Armor</div>
|
||||
<div class="col-7-12 padr rt-value center">{{armor2}}</div>
|
||||
</div>
|
||||
{{/armor2}} {{#armor3}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Tertiary Armor</div>
|
||||
<div class="col-7-12 padr rt-value center">{{armor3}}</div>
|
||||
</div>
|
||||
{{/armor3}} {{#mindshield}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Mind Shield</div>
|
||||
<div class="col-7-12 padr rt-value center">{{mindshield}}</div>
|
||||
</div>
|
||||
{{/mindshield}} {{#absorption1}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Absorption - Health</div>
|
||||
<div class="col-7-12 padr rt-value center">{{absorption1}}</div>
|
||||
</div>
|
||||
{{/absorption1}} {{#absorption2}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Absorption - Energy</div>
|
||||
<div class="col-7-12 padr rt-value center">{{absorption2}}</div>
|
||||
</div>
|
||||
{{/absorption2}} {{#conversion}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Conversion</div>
|
||||
<div class="col-7-12 padr rt-value center">{{conversion}}</div>
|
||||
</div>
|
||||
{{/conversion}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Shock Value</div>
|
||||
<div class="col-7-12 padr rt-value center">{{shock}}</div>
|
||||
</div>
|
||||
{{/defense}} {{#doesnothing}}
|
||||
<div class="rt-emote"><i>{{character_name}} does nothing...</i></div>
|
||||
{{#forcefield}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Forcefield</div>
|
||||
<div class="col-7-12 padr rt-value center">{{forcefield}}</div>
|
||||
</div>
|
||||
{{/forcefield}} {{#shield}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Shield</div>
|
||||
<div class="col-7-12 padr rt-value center">{{shield}}</div>
|
||||
</div>
|
||||
{{/shield}} {{#armor1}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Primary Armor</div>
|
||||
<div class="col-7-12 padr rt-value center">{{armor1}}</div>
|
||||
</div>
|
||||
{{/armor1}} {{#armor2}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Secondary Armor</div>
|
||||
<div class="col-7-12 padr rt-value center">{{armor2}}</div>
|
||||
</div>
|
||||
{{/armor2}} {{#armor3}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Tertiary Armor</div>
|
||||
<div class="col-7-12 padr rt-value center">{{armor3}}</div>
|
||||
</div>
|
||||
{{/armor3}} {{#mindshield}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Mind Shield</div>
|
||||
<div class="col-7-12 padr rt-value center">{{mindshield}}</div>
|
||||
</div>
|
||||
{{/mindshield}} {{#absorption1}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Absorption - Health</div>
|
||||
<div class="col-7-12 padr rt-value center">{{absorption1}}</div>
|
||||
</div>
|
||||
{{/absorption1}} {{#absorption2}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Absorption - Energy</div>
|
||||
<div class="col-7-12 padr rt-value center">{{absorption2}}</div>
|
||||
</div>
|
||||
{{/absorption2}} {{#conversion}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Conversion</div>
|
||||
<div class="col-7-12 padr rt-value center">{{conversion}}</div>
|
||||
</div>
|
||||
{{/conversion}}
|
||||
<div class="row">
|
||||
<div class="col-5-12 padl padr rt-key">Shock Value</div>
|
||||
<div class="col-7-12 padr rt-value center">{{shock}}</div>
|
||||
</div>
|
||||
{{/doesnothing}} {{#twodsix}}
|
||||
<div class="rt-emote"><i>{{character_name}} rolls 2d6...</i></div>
|
||||
<div class="row">
|
||||
@@ -5886,7 +6243,7 @@
|
||||
const major_obstacle_maneuvers_regex = /(bypassarmor|vitalspot)/i;
|
||||
const weapon_customizations_array = ['accurate', 'area', 'duration', 'range', 'aura', 'autofire', 'blight', 'contact', 'contageous', 'continuing', 'drain', 'enervation', 'flare', 'flexible', 'homing', 'inaccurate', 'incapacitating', 'incurable', 'insidious', 'irritant', 'knockback', 'multidimensional', 'penetrating', 'piercing', 'psychic', 'quake', 'reach', 'selective', 'spreading', 'stun', 'tangle', 'trap', 'vampiric'];
|
||||
const combattechniques_array = ['blackout', 'blindfighting', 'blindshooting', 'criticalstrike', 'enhancedknockback', 'extendedrange', 'farshot', 'lethalblow', 'multipletargets', 'perciseaim', 'rushattack', 'twoweapons'];
|
||||
const stats_array = ['static_stat_type_set', 'static_stat_temp_energy', 'static_stat_temp_health', 'stat_total_social', 'static_stat_total_shame', 'stat_total_sanity', 'static_stat_total_maddness', 'stat_total_energy', 'static_stat_total_fatigue', 'stat_total_health', 'static_stat_total_wounds', 'static_character_points_spent', 'bodystate', 'mindstate', 'soulstate', 'static_stat_base_body', 'static_stat_base_mind', 'static_stat_base_soul', 'stat_total_body', 'stat_total_mind', 'stat_total_soul', 'stat_total_acv', 'stat_total_dcv', 'stat_total_str', 'stat_total_cre', 'stat_total_com', 'stat_total_awa', 'stat_total_dex', 'stat_total_agi', 'stat_total_con', 'stat_total_int', 'stat_total_per', 'stat_total_rea', 'stat_total_wil', 'stat_total_cha', 'strstate', 'agistate', 'dexstate', 'constate', 'intstate', 'reastate', 'perstate', 'crestate', 'wilstate', 'chastate', 'awastate', 'comstate'];
|
||||
const stats_array = ['static_stat_type_set', 'static_stat_temp_energy', 'static_stat_temp_health', 'stat_total_social', 'static_stat_total_shame', 'stat_total_sanity', 'static_stat_total_maddness', 'stat_total_energy', 'static_stat_total_fatigue', 'stat_total_health', 'static_stat_total_wounds', 'stat_total_shock', 'static_character_points_spent', 'bodystate', 'mindstate', 'soulstate', 'static_stat_base_body', 'static_stat_base_mind', 'static_stat_base_soul', 'stat_total_body', 'stat_total_mind', 'stat_total_soul', 'stat_total_acv', 'stat_total_dcv', 'stat_total_str', 'stat_total_cre', 'stat_total_com', 'stat_total_awa', 'stat_total_dex', 'stat_total_agi', 'stat_total_con', 'stat_total_int', 'stat_total_per', 'stat_total_rea', 'stat_total_wil', 'stat_total_cha', 'strstate', 'agistate', 'dexstate', 'constate', 'intstate', 'reastate', 'perstate', 'crestate', 'wilstate', 'chastate', 'awastate', 'comstate'];
|
||||
const rolls_array = ['static_roll_type_selection','static_button_personal_defense','static_button_movement_defense'];
|
||||
const combat_stats_array = ['mainhand_state', 'offhand_state', 'mainhand_source', 'offhand_source', 'extraarms', 'extraarms_inuse', 'attrdb', 'static_button_targeted_damage', 'static_button_targeted_attack', 'static_button_targeted_defense', 'massivedamage_targeted', 'massivedamage', 'enemyattack', 'enemydefense'];
|
||||
const size_template_values_array = ['size', 'height', 'mass', 'size_lift', 'size_strdmg', 'size_ar', 'size_extradmg', 'size_rnghitdef', 'size_rngspd'];
|
||||
@@ -6036,7 +6393,7 @@
|
||||
result[result.length] = `protection_${protection}_state`;
|
||||
result[result.length] = `protection_${protection}_source`;
|
||||
result[result.length] = `protection_${protection}_name`;
|
||||
result[result.length] = `protection_${protection}_rank`;
|
||||
result[result.length] = `protection_${protection}_ar`;
|
||||
});
|
||||
return result;
|
||||
}
|
||||
@@ -8362,7 +8719,7 @@
|
||||
if (/(attrsrc|objects|uniquephenomena)/i.test(characteristic)) {
|
||||
fetch = capital(value[`repeating_attr_${rowID}_${characteristic}`]);
|
||||
} else if (characteristic == "unique") {
|
||||
fetch = capital(getCustomizationVale(debug, value, rowID, characteristic));
|
||||
fetch = capital(getCustomizationValue(debug, value, rowID, 'type', characteristic));
|
||||
} else {
|
||||
fetch = capital(getCustomizationValue(debug, value, rowID, 'name', characteristic));
|
||||
}
|
||||
@@ -8752,7 +9109,6 @@
|
||||
case attribute == 'regeneration' && setting == 'showcollectiontype': set = 1; break;
|
||||
case attribute == 'resilient' && setting == 'showconditions': set = 1; break;
|
||||
case attribute == 'skill' && setting == 'showskillgroup': set = 1; break;
|
||||
case attribute == 'skill' && setting == 'showskillgroup': set = 1; break;
|
||||
case attribute == 'supersense' && setting == 'showsupersense': set = 1; break;
|
||||
case attribute == 'transmute' && setting == 'showvariablestat': set = 1; break;
|
||||
case attribute == 'weapon' && setting == 'showdamagetype': set = 1; break;
|
||||
@@ -8781,6 +9137,7 @@
|
||||
case `focuseddamage`: result = 'showweaponclass'; break;
|
||||
case `objects`: result = 'showobject'; break;
|
||||
case `specialized`: result = 'showdamagetype'; break;
|
||||
case `targeted`: result = 'showenemy'; break;
|
||||
case `targeteddamage`: result = 'showenemy'; break;
|
||||
case `uniquephenomena`: result = 'showuniquephenomena'; break;
|
||||
case `unpredictable`: result = `showvariablestat`; break;
|
||||
@@ -10083,6 +10440,17 @@
|
||||
const superstrength =
|
||||
getSumOfActiveAttrLevels(attrdb, 'superstrength') || 0;
|
||||
console.log(`[setCombatRoll()] superstrength = ${superstrength}`);
|
||||
const shockvalue = parseInt(value.stat_total_shock) || 0;
|
||||
console.log(`[setCombatRoll()] shockvalue = ${shockvalue}`);
|
||||
const forcefield = parseInt(value.protection_forcefield_ar) || 0;
|
||||
const shield = parseInt(value.protection_shield_ar) || 0;
|
||||
const armor1 = parseInt(value.protection_armor1_ar) || 0;
|
||||
const armor2 = parseInt(value.protection_armor2_ar) || 0;
|
||||
const armor3 = parseInt(value.protection_armor3_ar) || 0;
|
||||
const mindshield = parseInt(value.protection_mindshield_ar) || 0;
|
||||
const absorption1 = parseInt(value.protection_absorption1_ar) || 0;
|
||||
const absorption2 = parseInt(value.protection_absorption2_ar) || 0;
|
||||
const conversion = parseInt(value.protection_conversion_ar) || 0;
|
||||
let maneuver =
|
||||
setObj.static_activity_maneuver_name || value.static_activity_maneuver_name;
|
||||
maneuver =
|
||||
@@ -10126,12 +10494,64 @@
|
||||
maneuver == 'weakpoint' ?
|
||||
`{{weakpoint=[[ [[?{Weak Point is|Large, ${setDice(rollmod, -2)}|Small, ${setDice(rollmod, -1)}|Tiny, ${setDice(rollmod, -1)}}]] ]] }}` :
|
||||
'';
|
||||
var result = `&{template:besmDefault} {{ismelee=${isMelee}}} {{character_name=@{name}}} {{pronoun=@{pronoun}}} {{maneuver=${maneuver}}} {{weapon_name=${name}}}`;
|
||||
var result = `&{template:besmDefault} {{ismelee=${isMelee}}} {{character_name=@{name}}} {{pronoun=@{pronoun}}} {{maneuver=${maneuver}}} {{weapon_name=${name}}} {{shock=${shockvalue}}}`;
|
||||
if (acv > 0) {
|
||||
result = `${result} {{title=Attack}} {{attack=1}} {{target_name=@{target|name}}} {{acv=${acv}}} {{damage_type=${damagetype}}} {{damage2=${Math.round(damage * 0.25)}}} {{damage3=${Math.round(damage * 0.35)}}} {{damage4=${Math.round(damage * 0.45)}}} {{damage5=${Math.round(damage * 0.55)}}} {{damage6=${Math.round(damage * 0.65)}}} {{damage7=${Math.round(damage * 0.75)}}} {{damage8=${Math.round(damage * 0.9)}}} {{damage9=${Math.round(damage * 1.05)}}} {{damage10=${Math.round(damage * 1.2)}}} {{damage11=${Math.round(damage * 1.35)}}} {{damage12=${Math.round(damage * 1.5)}}}`;
|
||||
if (isWeapon > 0){
|
||||
_.each(weapon.customizations, customization => {
|
||||
switch (customization.name) {
|
||||
case 'ammo':
|
||||
const ammunition = parseInt(value[`repeating_attr_${rowID}_ammo`]) || 0;
|
||||
result = `${result} {{${customization.name}=${customization.rank}}} {{ammunition=${ammunition}}}`;
|
||||
break;
|
||||
case 'area':
|
||||
const radius = get1or3(customization.rank, 3) * (10 ** (Math.ceil((customization.rank) / 2)));
|
||||
result = `${result} {{${customization.name}=${customization.rank}}} {{radius=${radius}}}`;
|
||||
break;
|
||||
case 'backblast':
|
||||
const bystander = customization.rank > 1 ? 'User and bystanders' :
|
||||
customization.rank > 0 ? 'Bystanders only' : '';
|
||||
result = `${result} {{bystander=${bystander}}} {{${customization.name}=${customization.rank}}} {{continuing2=${Math.round((damage * 0.25)/5)}}} {{continuing3=${Math.round((damage * 0.35)/5)}}} {{continuing4=${Math.round((damage * 0.45)/5)}}} {{continuing5=${Math.round((damage * 0.55)/5)}}} {{continuing6=${Math.round((damage * 0.65)/5)}}} {{continuing7=${Math.round((damage * 0.75)/5)}}} {{continuing8=${Math.round((damage * 0.9)/5)}}} {{continuing9=${Math.round((damage * 1.05)/5)}}} {{continuing10=${Math.round((damage * 1.2)/5)}}} {{continuing11=${Math.round((damage * 1.35)/5)}}} {{continuing12=${Math.round((damage * 1.5)/5)}}}`;
|
||||
break;
|
||||
case 'blight':
|
||||
const blightrank = customization.rank > 2 ? 18 :
|
||||
customization.rank > 1 ? 15 :
|
||||
customization.rank > 0 ? 12 : 0;
|
||||
result = `${result} {{${customization.name}=${blightrank}}}`;
|
||||
break;
|
||||
case 'continuing':
|
||||
result = `${result} {{${customization.name}=${customization.rank}}} {{continuing2=${Math.round((damage * 0.25)/5)}}} {{continuing3=${Math.round((damage * 0.35)/5)}}} {{continuing4=${Math.round((damage * 0.45)/5)}}} {{continuing5=${Math.round((damage * 0.55)/5)}}} {{continuing6=${Math.round((damage * 0.65)/5)}}} {{continuing7=${Math.round((damage * 0.75)/5)}}} {{continuing8=${Math.round((damage * 0.9)/5)}}} {{continuing9=${Math.round((damage * 1.05)/5)}}} {{continuing10=${Math.round((damage * 1.2)/5)}}} {{continuing11=${Math.round((damage * 1.35)/5)}}} {{continuing12=${Math.round((damage * 1.5)/5)}}}`;
|
||||
break;
|
||||
case 'drain':
|
||||
const draintype = value[`repeating_attr_${rowID}_draintype`] || '';
|
||||
result = `${result} {{${customization.name}=${customization.rank}}} {{draintype=${draintype}}}`;
|
||||
break;
|
||||
case 'duration':
|
||||
const timeobj = {
|
||||
1:"2 rounds",
|
||||
2:"5 rounds",
|
||||
3:"10 rounds",
|
||||
4:"1 minute",
|
||||
5:"1 hour",
|
||||
6:"1 day",
|
||||
10:"Permanent"
|
||||
};
|
||||
const time = timeobj[customization.rank] || "0";
|
||||
result = `${result} {{${customization.name}=${customization.rank}}} {{time=${time}}}`;
|
||||
break;
|
||||
case 'enervation':
|
||||
result = `${result} {{${customization.name}=${customization.rank * 5}}}`;
|
||||
break;
|
||||
case 'flareaudible':
|
||||
case 'flarescent':
|
||||
case 'flaretactile':
|
||||
case 'flaretaste':
|
||||
case 'flarevisual':
|
||||
const sense = customization.name.replace(/flare/g, '');
|
||||
const obstacle = customization.rank > 2 ? 'Major' :
|
||||
customization.rank > 1 ? 'Minor' : 'No';
|
||||
result = `${result} {{flare=${customization.rank}}} {{sense=${sense}}} {{obstacle=${obstacle}}}`;
|
||||
break;
|
||||
case `flexible`:
|
||||
rollmod = (getIsGrappling(maneuver)) ? rollmod - customization.rank : rollmod;
|
||||
result = `${result} {{${customization.name}=${customization.rank}}}`;
|
||||
@@ -10144,6 +10564,105 @@
|
||||
rollmod = rollmod - 1;
|
||||
result = `${result} {{${customization.name}=${customization.rank}}}`;
|
||||
break;
|
||||
case 'incapacitating':
|
||||
case 'irritant':
|
||||
const hasobstacle = customization.rank > 2 ? 'major' :
|
||||
customization.rank > 1 ? 'minor' : 'none';
|
||||
result = `${result} {{${customization.name}=${customization.rank}}} {{obstacle=${hasobstacle}}}`;
|
||||
break;
|
||||
case 'incurable':
|
||||
const recovery = customization.rank > 2 ? 'special' :
|
||||
customization.rank > 1 ? 'slow' : 'normal';
|
||||
result = `${result} {{${customization.name}=${customization.rank}}} {{recovery=${recovery}}}`;
|
||||
break;
|
||||
case 'knockback':
|
||||
const kb = 1 << customization.rank -1;
|
||||
result = `${result} {{${customization.name}=${customization.rank}}} {{kb=${kb}}}`;
|
||||
break;
|
||||
case 'nonpenetrating':
|
||||
const wontpenetrate = parseInt(customization.rank * 10);
|
||||
result = `${result} {{${customization.name}=${customization.rank}}} {{wontpenetrate=${wontpenetrate}}}`;
|
||||
break;
|
||||
case 'penetrating':
|
||||
case 'piercing':
|
||||
const penname = customization.name == 'penetrating' ? 'Armor' :
|
||||
customization.name == 'piercing' ? 'Forcefield' : '';
|
||||
const pen = customization.rank * 10;
|
||||
const pentype = capital(customization.name);
|
||||
result = `${result} {{penname=${penname}}} {{pentype=${pentype}}} {{pen=${pen}}}`;
|
||||
break;
|
||||
case 'quake':
|
||||
const fissureobj = {
|
||||
1:"2",
|
||||
2:"5",
|
||||
3:"10",
|
||||
4:"30",
|
||||
5:"100",
|
||||
6:"300"
|
||||
};
|
||||
const fissure = fissureobj[customization.rank] || "0";
|
||||
result = `${result} {{${customization.name}=${customization.rank}}} {{fissure=${fissure}}}`;
|
||||
break;
|
||||
case 'range':
|
||||
const extended = getSumOfActiveSubAttrRanks(attrdb, 'combattechnique', 'extendedrange') || 0;
|
||||
const distanceobj = {
|
||||
1:3,
|
||||
2:10,
|
||||
3:100,
|
||||
4:1,
|
||||
5:10,
|
||||
6:100
|
||||
};
|
||||
const distance = distanceobj[customization.rank] * (extended + 1) || "0";
|
||||
const kilometers = customization.rank > 3 ? 'k' : '';
|
||||
result = `${result} {{${customization.name}=${customization.rank}}} {{distance=${distance}}} {{kilometers=${kilometers}}}`;
|
||||
break;
|
||||
case 'stoppable':
|
||||
const stopdamage = parseInt(value[`repeating_attr_${rowID}_level`]) * 10;
|
||||
const timetostop = customization.rank > 3 ? '1 hour' :
|
||||
customization.rank > 2 ? '1 minute' :
|
||||
customization.rank > 1 ? '5 rounds' :
|
||||
customization.rank > 0 ? '1 round' : '';
|
||||
result = `${result} {{${customization.name}=${customization.rank}}} {{timetostop=${timetostop}}} {{stopdamage=${stopdamage}}}`;
|
||||
break;
|
||||
case 'tangle':
|
||||
result = `${result} {{${customization.name}=${customization.rank * 5}}}`;
|
||||
break;
|
||||
case 'exclusive':
|
||||
case 'targeted':
|
||||
const hasenemy = value[`repeating_attr_${rowID}_enemy`] || '';
|
||||
result = `${result} {{${customization.name}=${customization.rank}}} {{hasenemy=${hasenemy}}}`;
|
||||
break;
|
||||
case 'toxic':
|
||||
const escapable = customization.rank > 1 ? 'Escapable' :
|
||||
customization.rank > 0 ? 'Non-escapable' : '';
|
||||
result = `${result} {{${customization.name}=${customization.rank}}} {{escapable=${escapable}}}`;
|
||||
break;
|
||||
case 'unreliable':
|
||||
const failure = customization.rank > 1 ? `${customization.rank + 1} or less` :
|
||||
customization.rank > 0 ? '2' : '';
|
||||
result = `${result} {{${customization.name}=${customization.rank}}} {{failure=${failure}}}`;
|
||||
break;
|
||||
case 'vampiric':
|
||||
const stolenhealth = customization.rank > 2 ? 'Increase' :
|
||||
customization.rank > 0 ? 'Restore' : '';
|
||||
result = `${result} {{${customization.name}=${customization.rank}}} {{stolenhealth=${stolenhealth}}}`;
|
||||
break;
|
||||
case 'autofire':
|
||||
case 'contact':
|
||||
case 'contagious':
|
||||
case 'fieldless':
|
||||
case 'helper':
|
||||
case 'inconspicuous':
|
||||
case 'insidious':
|
||||
case 'multidimensional':
|
||||
case 'nostun':
|
||||
case 'psychic':
|
||||
case 'reach':
|
||||
case 'selective':
|
||||
case 'spreading':
|
||||
case 'stunonly':
|
||||
result = `${result} {{${customization.name}=${customization.rank}}}`;
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -10151,8 +10670,25 @@
|
||||
} else if (dcv > 0) {
|
||||
if (maneuver == 'defendother') result = `${result} {{target_name=@{target|name}}}`;
|
||||
result = `${result} {{dcv=${dcv}}} {{title=Defend}} {{defense=1}} {{total=[[[[?{Roll is|Normal, ${setDice(rollmod)}|Minor Edge, ${setDice(rollmod, 1)}|Minor Obstacle, ${setDice(rollmod, -1)}|Major Edge, ${setDice(rollmod, 2)}|Major Obstacle, ${setDice(rollmod, -2)}}]]+[[${dcv}]]]]}} {{roll=$[[0]]}}`;
|
||||
if(forcefield > 0) result = `${result} {{forcefield=${forcefield}}}`;
|
||||
if(armor1 > 0) result = `${result} {{armor1=${armor1}}}`;
|
||||
if(armor2 > 0) result = `${result} {{armor2=${armor2}}}`;
|
||||
if(armor3 > 0) result = `${result} {{armor3=${armor3}}}`;
|
||||
if(mindshield > 0) result = `${result} {{mindshield=${mindshield}}}`;
|
||||
if(absorption1 > 0) result = `${result} {{absorption1=${absorption1}}}`;
|
||||
if(absorption2 > 0) result = `${result} {{absorption2=${absorption2}}}`;
|
||||
if(conversion > 0) result = `${result} {{conversion=${conversion}}}`;
|
||||
} else {
|
||||
result = `&{template:besmDefault} {{character_name=@{name}}} {{maneuver=${sourceAttr}}} {{doesnothing=1}} {{title=Does Nothing}}`;
|
||||
if(forcefield > 0) result = `${result} {{forcefield=${forcefield}}}`;
|
||||
if(shield > 0) result = `${result} {{shield=${shield}}}`;
|
||||
if(armor1 > 0) result = `${result} {{armor1=${armor1}}}`;
|
||||
if(armor2 > 0) result = `${result} {{armor2=${armor2}}}`;
|
||||
if(armor3 > 0) result = `${result} {{armor3=${armor3}}}`;
|
||||
if(mindshield > 0) result = `${result} {{mindshield=${mindshield}}}`;
|
||||
if(absorption1 > 0) result = `${result} {{absorption1=${absorption1}}}`;
|
||||
if(absorption2 > 0) result = `${result} {{absorption2=${absorption2}}}`;
|
||||
if(conversion > 0) result = `${result} {{conversion=${conversion}}}`;
|
||||
}
|
||||
if (debug) console.log(`[setCombatRoll()] result = ${result}`);
|
||||
setObj.maneuverroll = result;
|
||||
@@ -10676,6 +11212,8 @@
|
||||
|
||||
getAttrs(getAttrsString, (value) => {
|
||||
|
||||
console.log(`[Captured Attributes] value:`); console.log(value);
|
||||
|
||||
const debug = parseInt(value[`show_debug_messages`]) || 0;
|
||||
var attrdb = JSON.parse(value.attrdb);
|
||||
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 126 KiB After Width: | Height: | Size: 148 KiB |
Reference in New Issue
Block a user