mirror of
https://github.com/Nighthawk42/roll20-character-sheets.git
synced 2026-08-30 03:40:32 +00:00
[Zafir] Setting up automatic attacks and abilities for GM enemy units
This commit is contained in:
@@ -287,5 +287,6 @@
|
||||
"Area of Effect Attacks:":"Area of Effect Attacks:",
|
||||
"Will Attacks":"Will Attacks",
|
||||
"Will Attacks:":"Will Attacks:",
|
||||
"Items:":"Items:"
|
||||
"Items:":"Items:",
|
||||
"Bonus:":"Bonus:"
|
||||
}
|
||||
|
||||
+5
-1
@@ -369,7 +369,7 @@ button.sheet-addbtn {
|
||||
|
||||
.sheet-enemyattacklist button.sheet-addbtn {
|
||||
float: right;
|
||||
margin-left: 12px;
|
||||
margin-left: 0px;
|
||||
}
|
||||
|
||||
button.sheet-skillbtn {
|
||||
@@ -1103,6 +1103,10 @@ div.sheet-itemUsable {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.sheet-tabstoggle[value="Passive"] ~ div.sheet-itemNotPassive {
|
||||
display: none;
|
||||
}
|
||||
|
||||
button.sheet-atkbtn,
|
||||
button.sheet-aabbtn,
|
||||
button.sheet-pabbtn,
|
||||
|
||||
+397
-100
@@ -341,7 +341,7 @@
|
||||
<div class="customattack attack clearfix">
|
||||
<button type="roll" name="roll_gatk" class="btn"
|
||||
value="&{template:zafirgrenade} {{name=@{gatkname}}} {{targets=@{gtargets}}} {{targetsroll=[[@{gtargets}]]}} {{crit1=[[ [Crit Dice] (@{gatkcritdice})d6>6]]}} {{damage1=[[ [Damage] @{gatkdamage}]]}} {{critdmg1=[[ [Damage] @{gatkdamage} + @{gatkcritdamage}]]}} {{crit2=[[ [Crit Dice] (@{gatkcritdice})d6>6]]}} {{damage2=[[ [Damage] @{gatkdamage}]]}} {{critdmg2=[[ [Damage] @{gatkdamage} + @{gatkcritdamage}]]}} {{crit3=[[ [Crit Dice] (@{gatkcritdice})d6>6]]}} {{damage3=[[ [Damage] @{gatkdamage}]]}} {{critdmg3=[[ [Damage] @{gatkdamage} + @{gatkcritdamage}]]}} {{crit4=[[ [Crit Dice] (@{gatkcritdice})d6>6]]}} {{damage4=[[ [Damage] @{gatkdamage}]]}} {{critdmg4=[[ [Damage] @{gatkdamage} + @{gatkcritdamage}]]}} {{crit5=[[ [Crit Dice] (@{gatkcritdice})d6>6]]}} {{damage5=[[ [Damage] @{gatkdamage}]]}} {{critdmg5=[[ [Damage] @{gatkdamage} + @{gatkcritdamage}]]}} {{notes=@{geffects}}} {{player=@{char_name}}}"><span data-i18n="Grenade Attack">Grenade Attack</span></button>
|
||||
<input type="text" name="attr_gatkname" spellcheck="false" placeholder="Grenade Type" style="width:110px;margin-right:10px;">
|
||||
<input type="text" name="attr_gatkname" spellcheck="false" placeholder="Custom Grenade" style="width:110px;margin-right:10px;">
|
||||
<label> <input type="number" name="attr_gatkcritdice" value="0"> <span data-i18n="crit">crit</span> <input type="text" name="attr_gatkdamage" spellcheck="false" value="0">(+<input type="number" name="attr_gatkcritdamage" value="0">)</label>
|
||||
</div>
|
||||
<br />
|
||||
@@ -464,7 +464,7 @@
|
||||
<input type="hidden" name="attr_itemeffects" />
|
||||
<input type="hidden" class="tabstoggle" name="attr_itemtype" value="Utility" />
|
||||
<div class="itemUtility">
|
||||
<input type="hidden" class="tabstoggle" name="attr_itemusage" value="Passive" />
|
||||
<input type="hidden" class="tabstoggle" name="attr_itemusage" value="Passive" />
|
||||
<div class="itemUsable">
|
||||
<div class="attack clearfix">
|
||||
<div class="flexcontainer">
|
||||
@@ -1122,28 +1122,31 @@
|
||||
<label data-i18n="Overwatch:">Overwatch:</label><select name="attr_atkoverwatch">
|
||||
<option value="No" data-i18n="Normal Attack Option">Normal Attack (+0)</option>
|
||||
<option value="Yes" data-i18n="Overwatch Attack Option">Overwatch Reaction Attack (-1 aim)</option>
|
||||
</select>
|
||||
</select><br />
|
||||
<label data-i18n="Bonus:">Bonus:</label><input type="number" name="attr_gmatkaimdice" value="0" style="position:relative;right:3px;"><span data-i18n="aim">aim</span> <input type="number" name="attr_gmatkcritdice" value="0"> <span data-i18n="crit">crit</span>
|
||||
<br />
|
||||
<div class="customattack attack clearfix">
|
||||
<button type="roll" name="roll_gmatk" class="btn" value="&{template:zafir} {{name=@{gmatkname}}} {{aim=[[ [Aim Dice] (@{gmatkaimdicetotal})d6>5]]}} {{crit=[[ [Crit Dice] (@{gmatkcritdicetotal})d6>6]]}} {{damage=[[(@{gmatkdamage})]]}} {{critdmg=[[(@{gmatkdamage}) + (@{gmatkcritdamage})]]}} {{notes=@{selectedenemyatknotes}}} {{enemy=@{selectedenemy}}}"><span data-i18n="Attack">Attack</span></button>
|
||||
<input type="text" name="attr_gmatkname" spellcheck="false" placeholder="Attack Name" style="width:110px;margin-right:10px;">
|
||||
<input type="text" name="attr_gmatkname" spellcheck="false" placeholder="Custom" style="width:110px;margin-right:10px;">
|
||||
<label> <input type="number" name="attr_gmatkaimdice" value="0"> <span data-i18n="aim">aim</span> <input type="number" name="attr_gmatkcritdice" value="0"> <span data-i18n="crit">crit</span> <input type="text" name="attr_gmatkdamage" spellcheck="false" value="0">(+<input type="number" name="attr_gmatkcritdamage" value="0">)</label>
|
||||
</div>
|
||||
<input type="hidden" class="valuehider" name="attr_selectedenemyatk0_id" value="">
|
||||
<div class="customattack attack clearfix">
|
||||
<button type="roll" name="roll_gmatk0" class="btn" value="&{template:zafir} {{name=@{selectedenemyatkname}}} {{aim=[[ [Aim Dice] (@{gmatkaimdicetotal}+@{selectedenemyatkaim})d6>5]]}} {{crit=[[ [Crit Dice] (@{gmatkcritdicetotal}+@{selectedenemyatkcrit})d6>6]]}} {{damage=[[(@{selectedenemyatkdmg})]]}} {{critdmg=[[(@{selectedenemyatkdmg}) + (@{selectedenemyatkcritdmg})]]}} {{notes=@{selectedenemyatknotes}}} {{enemy=@{selectedenemy}}}"><span data-i18n="Attack">Attack</span></button>
|
||||
<label style="width:110px;overflow:hidden;text-overflow:ellipsis;"><span name="attr_selectedenemyatkname"></span></label>
|
||||
<label>+<span name="attr_selectedenemyatkaim"></span> <span data-i18n="aim">aim</span> +<span name="attr_selectedenemyatkcrit"></span> <span data-i18n="crit">crit</span> <span name="attr_selectedenemyatkdmg"></span> (+<span name="attr_selectedenemyatkcritdmg"></span>)</label>
|
||||
</div>
|
||||
<input type="hidden" class="valuehider" name="attr_selectedenemyatk1_id" value="">
|
||||
<div class="customattack attack clearfix">
|
||||
<input type="hidden" name="attr_gmatk1aimdicetotal" />
|
||||
<input type="hidden" name="attr_gmatk1critdicetotal" />
|
||||
<button type="roll" name="roll_gmatk1" class="btn" value="&{template:zafir} {{name=@{gmatk1name}}} {{aim=[[ [Aim Dice] (@{gmatk1aimdicetotal})d6>5]]}} {{crit=[[ [Crit Dice] (@{gmatk1critdicetotal})d6>6]]}} {{damage=[[(@{gmatk1damage})]]}} {{critdmg=[[(@{gmatk1damage}) + (@{gmatk1critdamage})]]}} {{notes=@{selectedenemyatk1notes}}} {{enemy=@{selectedenemy}}}"><span data-i18n="Attack">Attack</span></button>
|
||||
<input type="text" name="attr_gmatk1name" spellcheck="false" placeholder="Attack Name" style="width:110px;margin-right:10px;">
|
||||
<label> <input type="number" name="attr_gmatk1aimdice" value="0"> <span data-i18n="aim">aim</span> <input type="number" name="attr_gmatk1critdice" value="0"> <span data-i18n="crit">crit</span> <input type="text" name="attr_gmatk1damage" spellcheck="false" value="0">(+<input type="number" name="attr_gmatk1critdamage" value="0">)</label>
|
||||
<button type="roll" name="roll_gmatk1" class="btn" value="&{template:zafir} {{name=@{selectedenemyatk1name}}} {{aim=[[ [Aim Dice] (@{gmatkaimdicetotal}+@{selectedenemyatk1aim})d6>5]]}} {{crit=[[ [Crit Dice] (@{gmatkcritdicetotal}+@{selectedenemyatk1crit})d6>6]]}} {{damage=[[(@{selectedenemyatk1dmg})]]}} {{critdmg=[[(@{selectedenemyatk1dmg}) + (@{selectedenemyatk1critdmg})]]}} {{notes=@{selectedenemyatk1notes}}} {{enemy=@{selectedenemy}}}"><span data-i18n="Attack">Attack</span></button>
|
||||
<label style="width:110px;overflow:hidden;text-overflow:ellipsis;"><span name="attr_selectedenemyatk1name"></span></label>
|
||||
<label>+<span name="attr_selectedenemyatk1aim"></span> <span data-i18n="aim">aim</span> +<span name="attr_selectedenemyatk1crit"></span> <span data-i18n="crit">crit</span> <span name="attr_selectedenemyatk1dmg"></span> (+<span name="attr_selectedenemyatk1critdmg"></span>)</label>
|
||||
</div>
|
||||
<input type="hidden" class="valuehider" name="attr_selectedenemyatk2_id" value="">
|
||||
<div class="customattack attack clearfix">
|
||||
<input type="hidden" name="attr_gmatk2aimdicetotal" />
|
||||
<input type="hidden" name="attr_gmatk2critdicetotal" />
|
||||
<button type="roll" name="roll_gmatk2" class="btn" value="&{template:zafir} {{name=@{gmatk2name}}} {{aim=[[ [Aim Dice] (@{gmatk2aimdicetotal})d6>5]]}} {{crit=[[ [Crit Dice] (@{gmatk2critdicetotal})d6>6]]}} {{damage=[[(@{gmatk2damage})]]}} {{critdmg=[[(@{gmatk2damage}) + (@{gmatk2critdamage})]]}} {{notes=@{selectedenemyatk2notes}}} {{enemy=@{selectedenemy}}}"><span data-i18n="Attack">Attack</span></button>
|
||||
<input type="text" name="attr_gmatk2name" spellcheck="false" placeholder="Attack Name" style="width:110px;margin-right:10px;">
|
||||
<label> <input type="number" name="attr_gmatk2aimdice" value="0"> <span data-i18n="aim">aim</span> <input type="number" name="attr_gmatk2critdice" value="0"> <span data-i18n="crit">crit</span> <input type="text" name="attr_gmatk2damage" spellcheck="false" value="0">(+<input type="number" name="attr_gmatk2critdamage" value="0">)</label>
|
||||
<button type="roll" name="roll_gmatk2" class="btn" value="&{template:zafir} {{name=@{selectedenemyatk2name}}} {{aim=[[ [Aim Dice] (@{gmatkaimdicetotal}+@{selectedenemyatk2aim})d6>5]]}} {{crit=[[ [Crit Dice] (@{gmatkcritdicetotal}+@{selectedenemyatk2crit})d6>6]]}} {{damage=[[(@{selectedenemyatk2dmg})]]}} {{critdmg=[[(@{selectedenemyatk2dmg}) + (@{selectedenemyatk2critdmg})]]}} {{notes=@{selectedenemyatk2notes}}} {{enemy=@{selectedenemy}}}"><span data-i18n="Attack">Attack</span></button>
|
||||
<label style="width:110px;overflow:hidden;text-overflow:ellipsis;"><span name="attr_selectedenemyatk2name"></span></label>
|
||||
<label>+<span name="attr_selectedenemyatk2aim"></span> <span data-i18n="aim">aim</span> +<span name="attr_selectedenemyatk2crit"></span> <span data-i18n="crit">crit</span> <span name="attr_selectedenemyatk2dmg"></span> (+<span name="attr_selectedenemyatk2critdmg"></span>)</label>
|
||||
</div>
|
||||
<br />
|
||||
<!-- Grenade Attack -->
|
||||
@@ -1153,9 +1156,34 @@
|
||||
<div class="customattack attack clearfix">
|
||||
<button type="roll" name="roll_gmgatk" class="btn"
|
||||
value="&{template:zafirgrenade} {{name=@{gmgatkname}}} {{targets=@{gmgtargets}}} {{targetsroll=[[@{gmgtargets}]]}} {{crit1=[[ [Crit Dice] (@{gmgatkcritdice})d6>6]]}} {{damage1=[[ [Damage] @{gmgatkdamage}]]}} {{critdmg1=[[ [Damage] @{gmgatkdamage} + @{gmgatkcritdamage}]]}} {{crit2=[[ [Crit Dice] (@{gmgatkcritdice})d6>6]]}} {{damage2=[[ [Damage] @{gmgatkdamage}]]}} {{critdmg2=[[ [Damage] @{gmgatkdamage} + @{gmgatkcritdamage}]]}} {{crit3=[[ [Crit Dice] (@{gmgatkcritdice})d6>6]]}} {{damage3=[[ [Damage] @{gmgatkdamage}]]}} {{critdmg3=[[ [Damage] @{gmgatkdamage} + @{gmgatkcritdamage}]]}} {{crit4=[[ [Crit Dice] (@{gmgatkcritdice})d6>6]]}} {{damage4=[[ [Damage] @{gmgatkdamage}]]}} {{critdmg4=[[ [Damage] @{gmgatkdamage} + @{gmgatkcritdamage}]]}} {{crit5=[[ [Crit Dice] (@{gmgatkcritdice})d6>6]]}} {{damage5=[[ [Damage] @{gmgatkdamage}]]}} {{critdmg5=[[ [Damage] @{gmgatkdamage} + @{gmgatkcritdamage}]]}} {{notes=@{gmgeffects}}} {{enemy=@{selectedenemy}}}"><span data-i18n="Grenade Attack">Grenade Attack</span></button>
|
||||
<input type="text" name="attr_gmgatkname" spellcheck="false" placeholder="Grenade Type" style="width:110px;margin-right:10px;">
|
||||
<input type="text" name="attr_gmgatkname" spellcheck="false" placeholder="Custom" style="width:110px;margin-right:10px;">
|
||||
<label> <input type="number" name="attr_gmgatkcritdice" value="0"> <span data-i18n="crit">crit</span> <input type="text" name="attr_gmgatkdamage" spellcheck="false" value="0">(+<input type="number" name="attr_gmgatkcritdamage" value="0">)</label>
|
||||
</div>
|
||||
|
||||
<input type="hidden" class="valuehider" name="attr_selectedenemygrenadeatk0_id" value="">
|
||||
<div class="customattack attack clearfix">
|
||||
<button type="roll" name="roll_gmgatk" class="btn"
|
||||
value="&{template:zafirgrenade} {{name=@{selectedenemygrenadeatk0name}}} {{targets=@{gmgtargets}}} {{targetsroll=[[@{gmgtargets}]]}} {{crit1=[[ [Crit Dice] (@{selectedenemygrenadeatk0critdice})d6>6]]}} {{damage1=[[ [Damage] @{selectedenemygrenadeatk0damage}]]}} {{critdmg1=[[ [Damage] @{selectedenemygrenadeatk0damage} + @{selectedenemygrenadeatk0critdmg}]]}} {{crit2=[[ [Crit Dice] (@{selectedenemygrenadeatk0critdice})d6>6]]}} {{damage2=[[ [Damage] @{selectedenemygrenadeatk0damage}]]}} {{critdmg2=[[ [Damage] @{selectedenemygrenadeatk0damage} + @{selectedenemygrenadeatk0critdmg}]]}} {{crit3=[[ [Crit Dice] (@{selectedenemygrenadeatk0critdice})d6>6]]}} {{damage3=[[ [Damage] @{selectedenemygrenadeatk0damage}]]}} {{critdmg3=[[ [Damage] @{selectedenemygrenadeatk0damage} + @{selectedenemygrenadeatk0critdmg}]]}} {{crit4=[[ [Crit Dice] (@{selectedenemygrenadeatk0critdice})d6>6]]}} {{damage4=[[ [Damage] @{selectedenemygrenadeatk0damage}]]}} {{critdmg4=[[ [Damage] @{selectedenemygrenadeatk0damage} + @{selectedenemygrenadeatk0critdmg}]]}} {{crit5=[[ [Crit Dice] (@{selectedenemygrenadeatk0critdice})d6>6]]}} {{damage5=[[ [Damage] @{selectedenemygrenadeatk0damage}]]}} {{critdmg5=[[ [Damage] @{selectedenemygrenadeatk0damage} + @{selectedenemygrenadeatk0critdmg}]]}} {{notes=@{selectedenemygrenadeatk0effect}}} {{enemy=@{selectedenemy}}}"><span data-i18n="Grenade Attack">Grenade Attack</span></button>
|
||||
<label style="width:110px;overflow:hidden;text-overflow:ellipsis;"><span name="attr_selectedenemygrenadeatk0name"></span></label>
|
||||
<label>+<span name="attr_selectedenemygrenadeatk0critdice" value="0"></span> <span data-i18n="crit">crit</span> <span name="attr_selectedenemygrenadeatk0damage" value="0"></span> (+<span name="attr_selectedenemygrenadeatk0critdmg"></span>)</label>
|
||||
</div>
|
||||
|
||||
<input type="hidden" class="valuehider" name="attr_selectedenemygrenadeatk1_id" value="">
|
||||
<div class="customattack attack clearfix">
|
||||
<button type="roll" name="roll_gmgatk" class="btn"
|
||||
value="&{template:zafirgrenade} {{name=@{selectedenemygrenadeatk1name}}} {{targets=@{gmgtargets}}} {{targetsroll=[[@{gmgtargets}]]}} {{crit1=[[ [Crit Dice] (@{selectedenemygrenadeatk1critdice})d6>6]]}} {{damage1=[[ [Damage] @{selectedenemygrenadeatk1damage}]]}} {{critdmg1=[[ [Damage] @{selectedenemygrenadeatk1damage} + @{selectedenemygrenadeatk1critdmg}]]}} {{crit2=[[ [Crit Dice] (@{selectedenemygrenadeatk1critdice})d6>6]]}} {{damage2=[[ [Damage] @{selectedenemygrenadeatk1damage}]]}} {{critdmg2=[[ [Damage] @{selectedenemygrenadeatk1damage} + @{selectedenemygrenadeatk1critdmg}]]}} {{crit3=[[ [Crit Dice] (@{selectedenemygrenadeatk1critdice})d6>6]]}} {{damage3=[[ [Damage] @{selectedenemygrenadeatk1damage}]]}} {{critdmg3=[[ [Damage] @{selectedenemygrenadeatk1damage} + @{selectedenemygrenadeatk1critdmg}]]}} {{crit4=[[ [Crit Dice] (@{selectedenemygrenadeatk1critdice})d6>6]]}} {{damage4=[[ [Damage] @{selectedenemygrenadeatk1damage}]]}} {{critdmg4=[[ [Damage] @{selectedenemygrenadeatk1damage} + @{selectedenemygrenadeatk1critdmg}]]}} {{crit5=[[ [Crit Dice] (@{selectedenemygrenadeatk1critdice})d6>6]]}} {{damage5=[[ [Damage] @{selectedenemygrenadeatk1damage}]]}} {{critdmg5=[[ [Damage] @{selectedenemygrenadeatk1damage} + @{selectedenemygrenadeatk1critdmg}]]}} {{notes=@{selectedenemygrenadeatk1effect}}} {{enemy=@{selectedenemy}}}"><span data-i18n="Grenade Attack">Grenade Attack</span></button>
|
||||
<label style="width:110px;overflow:hidden;text-overflow:ellipsis;"><span name="attr_selectedenemygrenadeatk1name"></span></label>
|
||||
<label>+<span name="attr_selectedenemygrenadeatk1critdice" value="0"></span> <span data-i18n="crit">crit</span> <span name="attr_selectedenemygrenadeatk1damage" value="0"></span> (+<span name="attr_selectedenemygrenadeatk1critdmg"></span>)</label>
|
||||
</div>
|
||||
|
||||
<input type="hidden" class="valuehider" name="attr_selectedenemygrenadeatk2_id" value="">
|
||||
<div class="customattack attack clearfix">
|
||||
<button type="roll" name="roll_gmgatk" class="btn"
|
||||
value="&{template:zafirgrenade} {{name=@{selectedenemygrenadeatk2name}}} {{targets=@{gmgtargets}}} {{targetsroll=[[@{gmgtargets}]]}} {{crit1=[[ [Crit Dice] (@{selectedenemygrenadeatk2critdice})d6>6]]}} {{damage1=[[ [Damage] @{selectedenemygrenadeatk2damage}]]}} {{critdmg1=[[ [Damage] @{selectedenemygrenadeatk2damage} + @{selectedenemygrenadeatk2critdmg}]]}} {{crit2=[[ [Crit Dice] (@{selectedenemygrenadeatk2critdice})d6>6]]}} {{damage2=[[ [Damage] @{selectedenemygrenadeatk2damage}]]}} {{critdmg2=[[ [Damage] @{selectedenemygrenadeatk2damage} + @{selectedenemygrenadeatk2critdmg}]]}} {{crit3=[[ [Crit Dice] (@{selectedenemygrenadeatk2critdice})d6>6]]}} {{damage3=[[ [Damage] @{selectedenemygrenadeatk2damage}]]}} {{critdmg3=[[ [Damage] @{selectedenemygrenadeatk2damage} + @{selectedenemygrenadeatk2critdmg}]]}} {{crit4=[[ [Crit Dice] (@{selectedenemygrenadeatk2critdice})d6>6]]}} {{damage4=[[ [Damage] @{selectedenemygrenadeatk2damage}]]}} {{critdmg4=[[ [Damage] @{selectedenemygrenadeatk2damage} + @{selectedenemygrenadeatk2critdmg}]]}} {{crit5=[[ [Crit Dice] (@{selectedenemygrenadeatk2critdice})d6>6]]}} {{damage5=[[ [Damage] @{selectedenemygrenadeatk2damage}]]}} {{critdmg5=[[ [Damage] @{selectedenemygrenadeatk2damage} + @{selectedenemygrenadeatk2critdmg}]]}} {{notes=@{selectedenemygrenadeatk2effect}}} {{enemy=@{selectedenemy}}}"><span data-i18n="Grenade Attack">Grenade Attack</span></button>
|
||||
<label style="width:110px;overflow:hidden;text-overflow:ellipsis;"><span name="attr_selectedenemygrenadeatk2name"></span></label>
|
||||
<label>+<span name="attr_selectedenemygrenadeatk2critdice" value="0"></span> <span data-i18n="crit">crit</span> <span name="attr_selectedenemygrenadeatk2damage" value="0"></span> (+<span name="attr_selectedenemygrenadeatk2critdmg"></span>)</label>
|
||||
</div>
|
||||
|
||||
<br />
|
||||
<!-- Will Attack -->
|
||||
<div>
|
||||
@@ -1177,9 +1205,10 @@
|
||||
<option value="Ally" data-i18n="Ally Panicked Option">Target's Ally Panicked (+1 will)</option>
|
||||
<option value="Target" data-i18n="Target Panicked Option">Target is Panicked (+1 will, +2 crit)</option>
|
||||
</select><br />
|
||||
<label data-i18n="Bonus:">Bonus:</label><input type="number" name="attr_gmwatkwill" value="0" style="position:relative;right:3px;"><span data-i18n="will">will</span> <input type="number" name="attr_gmwatkwillcrit" value="0"> <span data-i18n="crit">crit</span><br />
|
||||
<div class="customattack attack clearfix willattack">
|
||||
<button type="roll" name="roll_willattack" class="btn" value="&{template:zafirwillattack} {{name=@{gmwatkname}}} {{aim=[[ [Will Attack Dice] (@{gmwatkaimdice})d6>5]]}} {{crit=[[ [Crit Effect Dice] (@{gmwatkcritdice})d6>6]]}} {{resist=[[ [Resist Dice] (@{gmwatkresistdice})d6>6]]}} {{enemy=@{selectedenemy}}}"><span data-i18n="Will Attack">Will Attack</span></button>
|
||||
<input type="text" name="attr_gmwatkname" spellcheck="false" placeholder="Will Attack" style="width:110px;margin-right:10px;">
|
||||
<input type="text" name="attr_gmwatkname" spellcheck="false" placeholder="Custom" style="width:110px;margin-right:10px;">
|
||||
<label><input type="number" name="attr_gmwatkwill" value="0"> <span data-i18n="will">will</span> <input type="number" name="attr_gmwatkwillcrit" value="0"> <span data-i18n="crit">crit</span> <input type="number" name="attr_gmenemywill" value="0"> <span data-i18n="resist">resist</span></label>
|
||||
</div>
|
||||
<div class="customattack attack clearfix willattack">
|
||||
@@ -1187,30 +1216,161 @@
|
||||
<input type="text" name="attr_panicname" spellcheck="false" placeholder="Character" style="width:110px;margin-right:10px;">
|
||||
<label>2 <span data-i18n="will">will</span> <input type="number" name="attr_panicresist" value="0"> <span data-i18n="resist">resist</span></label>
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
<!-- Dodge Roller -->
|
||||
<div>
|
||||
<h3 data-i18n="Dodge">Dodge</h3>
|
||||
<div class="attack customattack clearfix dodgeroller">
|
||||
<button type="roll" name="roll_dodge" class="btn" value="&{template:zafirdodge} {{dodge=[[ [Dodge Dice] (@{gmdodgedice})d6>6]]}} {{enemy=@{selectedenemy}}}"><span data-i18n="Dodge">Dodge</span></button>
|
||||
<label style="width:110px" data-i18n="Dodge Dice:">Dodge Dice:</label><input type="number" name="attr_gmdodgedice" value="0" />
|
||||
|
||||
<input type="hidden" class="valuehider" name="attr_selectedenemywillatk0_id" value="">
|
||||
<div class="customattack attack clearfix willattack">
|
||||
<button type="roll" name="roll_willattack" class="btn" value="&{template:zafirwillattack} {{name=@{selectedenemywillatk0name}}} {{aim=[[ [Will Attack Dice] (@{gmwatkaimdice}+@{selectedenemywill})d6>5]]}} {{crit=[[ [Crit Effect Dice] (@{selectedenemywillatk0critdice})d6>6]]}} {{resist=[[ [Resist Dice] (@{gmwatkresistdice})d6>6]]}} {{enemy=@{selectedenemy}}}"><span data-i18n="Will Attack">Will Attack</span></button>
|
||||
<label style="width:110px;overflow:hidden;text-overflow:ellipsis;"><span name="attr_selectedenemywillatk0name"></span></label>
|
||||
<label>+<span name="attr_selectedenemywill"></span> <span data-i18n="will">will</span> +<span name="attr_selectedenemywillatk0critdice" value="0"></span> <span data-i18n="crit">crit</span> <input type="number" name="attr_gmenemywill" value="0"> <span data-i18n="resist">resist</span></label>
|
||||
</div>
|
||||
|
||||
<input type="hidden" class="valuehider" name="attr_selectedenemywillatk1_id" value="">
|
||||
<div class="customattack attack clearfix willattack">
|
||||
<button type="roll" name="roll_willattack" class="btn" value="&{template:zafirwillattack} {{name=@{selectedenemywillatk1name}}} {{aim=[[ [Will Attack Dice] (@{gmwatkaimdice}+@{selectedenemywill})d6>5]]}} {{crit=[[ [Crit Effect Dice] (@{selectedenemywillatk1critdice})d6>6]]}} {{resist=[[ [Resist Dice] (@{gmwatkresistdice})d6>6]]}} {{enemy=@{selectedenemy}}}"><span data-i18n="Will Attack">Will Attack</span></button>
|
||||
<label style="width:110px;overflow:hidden;text-overflow:ellipsis;"><span name="attr_selectedenemywillatk1name"></span></label>
|
||||
<label>+<span name="attr_selectedenemywill"></span> <span data-i18n="will">will</span> +<span name="attr_selectedenemywillatk1critdice" value="0"></span> <span data-i18n="crit">crit</span> <input type="number" name="attr_gmenemywill" value="0"> <span data-i18n="resist">resist</span></label>
|
||||
</div>
|
||||
|
||||
<input type="hidden" class="valuehider" name="attr_selectedenemywillatk2_id" value="">
|
||||
<div class="customattack attack clearfix willattack">
|
||||
<button type="roll" name="roll_willattack" class="btn" value="&{template:zafirwillattack} {{name=@{selectedenemywillatk2name}}} {{aim=[[ [Will Attack Dice] (@{gmwatkaimdice}+@{selectedenemywill})d6>5]]}} {{crit=[[ [Crit Effect Dice] (@{selectedenemywillatk2critdice})d6>6]]}} {{resist=[[ [Resist Dice] (@{gmwatkresistdice})d6>6]]}} {{enemy=@{selectedenemy}}}"><span data-i18n="Will Attack">Will Attack</span></button>
|
||||
<label style="width:110px;overflow:hidden;text-overflow:ellipsis;"><span name="attr_selectedenemywillatk2name"></span></label>
|
||||
<label>+<span name="attr_selectedenemywill"></span> <span data-i18n="will">will</span> +<span name="attr_selectedenemywillatk2critdice" value="0"></span> <span data-i18n="crit">crit</span> <input type="number" name="attr_gmenemywill" value="0"> <span data-i18n="resist">resist</span></label>
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
<div>
|
||||
<h3 data-i18n="Items and Abilities">Items & Abilities</h3>
|
||||
<h3 data-i18n="Abilities">Abilities</h3>
|
||||
<div class="customattack attack clearfix">
|
||||
<button type="roll" name="roll_useability" class="btn" value="&{template:zafir} {{name=@{gmuseabilityname}}} {{notes=@{gmuseabilityeffect}}} {{enemy=@{selectedenemy}}} {{label=Use Ability:}}"><span data-i18n="Use Ability">Use Ability</span></button>
|
||||
<input type="text" name="attr_gmuseabilityname" spellcheck="false" placeholder="Ability Name" style="width:110px;margin-right:10px;">
|
||||
<input type="text" name="attr_gmuseabilityeffect" spellcheck="false" placeholder="Ability Effect" style="width:275px;margin-right:10px;">
|
||||
<label style="width:0px"> </label>
|
||||
</div>
|
||||
|
||||
<input type="hidden" class="tabstoggle" name="attr_selectedenemyabl0activation" value="Passive" />
|
||||
<div class="itemNotPassive">
|
||||
<input type="hidden" class="valuehider" name="attr_selectedenemyabl0_id" value="">
|
||||
<div class="customattack attack clearfix">
|
||||
<div class="flexcontainer">
|
||||
<div class="left">
|
||||
<label style="width:auto;"><span name="attr_selectedenemyabl0name"></span></label>
|
||||
</div>
|
||||
<div class="center usableeffects">
|
||||
<span name="attr_selectedenemyabl0effect"></span>
|
||||
</div>
|
||||
<div class="right">
|
||||
<button type="roll" name="roll_useitem" class="btn" style="float:none;" value="&{template:zafir} {{name=@{selectedenemyabl0name}}} {{notes=@{selectedenemyabl0effect}}} {{enemy=@{selectedenemy}}} {{label=Use Ability:}}"><span data-i18n="Use Ability">Use Ability</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input type="hidden" class="tabstoggle" name="attr_selectedenemyabl1activation" value="Passive" />
|
||||
<div class="itemNotPassive">
|
||||
<input type="hidden" class="valuehider" name="attr_selectedenemyabl1_id" value="">
|
||||
<div class="customattack attack clearfix">
|
||||
<div class="flexcontainer">
|
||||
<div class="left">
|
||||
<label style="width:auto;"><span name="attr_selectedenemyabl1name"></span></label>
|
||||
</div>
|
||||
<div class="center usableeffects">
|
||||
<span name="attr_selectedenemyabl1effect"></span>
|
||||
</div>
|
||||
<div class="right">
|
||||
<button type="roll" name="roll_useitem" class="btn" style="float:none;" value="&{template:zafir} {{name=@{selectedenemyabl1name}}} {{notes=@{selectedenemyabl1effect}}} {{enemy=@{selectedenemy}}} {{label=Use Ability:}}"><span data-i18n="Use Ability">Use Ability</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input type="hidden" class="tabstoggle" name="attr_selectedenemyabl2activation" value="Passive" />
|
||||
<div class="itemNotPassive">
|
||||
<input type="hidden" class="valuehider" name="attr_selectedenemyabl2_id" value="">
|
||||
<div class="customattack attack clearfix">
|
||||
<div class="flexcontainer">
|
||||
<div class="left">
|
||||
<label style="width:auto;"><span name="attr_selectedenemyabl2name"></span></label>
|
||||
</div>
|
||||
<div class="center usableeffects">
|
||||
<span name="attr_selectedenemyabl2effect"></span>
|
||||
</div>
|
||||
<div class="right">
|
||||
<button type="roll" name="roll_useitem" class="btn" style="float:none;" value="&{template:zafir} {{name=@{selectedenemyabl2name}}} {{notes=@{selectedenemyabl2effect}}} {{enemy=@{selectedenemy}}} {{label=Use Ability:}}"><span data-i18n="Use Ability">Use Ability</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br />
|
||||
<h3 data-i18n="Items">Items</h3>
|
||||
<div class="customattack attack clearfix">
|
||||
<button type="roll" name="roll_useitem" class="btn" value="&{template:zafir} {{name=@{gmuseitemname}}} {{notes=@{gmuseitemeffect}}} {{enemy=@{selectedenemy}}} {{label=Use Item:}}"><span data-i18n="Use Item">Use Item</span></button>
|
||||
<input type="text" name="attr_gmuseitemname" spellcheck="false" placeholder="Item Name" style="width:110px;margin-right:10px;">
|
||||
<input type="text" name="attr_gmuseitemeffect" spellcheck="false" placeholder="Item Effect" style="width:290px;margin-right:10px;">
|
||||
<label style="width:0px"> </label>
|
||||
</div>
|
||||
|
||||
<input type="hidden" class="valuehider" name="attr_selectedenemyitem0_id" value="">
|
||||
<div class="customattack attack clearfix">
|
||||
<button type="roll" name="roll_useability" class="btn" value="&{template:zafir} {{name=@{gmuseabilityname}}} {{notes=@{gmuseabilityeffect}}} {{enemy=@{selectedenemy}}} {{label=Use Ability:}}"><span data-i18n="Use Ability">Use Ability</span></button>
|
||||
<input type="text" name="attr_gmuseabilityname" spellcheck="false" placeholder="Ability Name" style="width:110px;margin-right:10px;">
|
||||
<input type="text" name="attr_gmuseabilityeffect" spellcheck="false" placeholder="Ability Effect" style="width:275px;margin-right:10px;">
|
||||
<label style="width:0px"> </label>
|
||||
<div class="flexcontainer">
|
||||
<div class="left">
|
||||
<label style="width:auto;"><span name="attr_selectedenemyitem0name"></span></label>
|
||||
</div>
|
||||
<div class="center usableeffects">
|
||||
<span name="attr_selectedenemyitem0effect"></span>
|
||||
</div>
|
||||
<div class="right">
|
||||
<button type="roll" name="roll_useitem" class="btn" style="float:none;" value="&{template:zafir} {{name=@{selectedenemyitem0name}}} {{notes=@{selectedenemyitem0effect}}} {{enemy=@{selectedenemy}}} {{label=Use Item:}}"><span data-i18n="Use Item">Use Item</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input type="hidden" class="valuehider" name="attr_selectedenemyitem1_id" value="">
|
||||
<div class="customattack attack clearfix">
|
||||
<div class="flexcontainer">
|
||||
<div class="left">
|
||||
<label style="width:auto;"><span name="attr_selectedenemyitem1name"></span></label>
|
||||
</div>
|
||||
<div class="center usableeffects">
|
||||
<span name="attr_selectedenemyitem1effect"></span>
|
||||
</div>
|
||||
<div class="right">
|
||||
<button type="roll" name="roll_useitem" class="btn" style="float:none;" value="&{template:zafir} {{name=@{selectedenemyitem1name}}} {{notes=@{selectedenemyitem1effect}}} {{enemy=@{selectedenemy}}} {{label=Use Item:}}"><span data-i18n="Use Item">Use Item</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input type="hidden" class="valuehider" name="attr_selectedenemyitem2_id" value="">
|
||||
<div class="customattack attack clearfix">
|
||||
<div class="flexcontainer">
|
||||
<div class="left">
|
||||
<label style="width:auto;"><span name="attr_selectedenemyitem2name"></span></label>
|
||||
</div>
|
||||
<div class="center usableeffects">
|
||||
<span name="attr_selectedenemyitem2effect"></span>
|
||||
</div>
|
||||
<div class="right">
|
||||
<button type="roll" name="roll_useitem" class="btn" style="float:none;" value="&{template:zafir} {{name=@{selectedenemyitem2name}}} {{notes=@{selectedenemyitem2effect}}} {{enemy=@{selectedenemy}}} {{label=Use Item:}}"><span data-i18n="Use Item">Use Item</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<br />
|
||||
|
||||
<!-- Dodge Roller -->
|
||||
<div>
|
||||
<h3 data-i18n="Dodge">Dodge</h3>
|
||||
<div class="attack customattack clearfix dodgeroller">
|
||||
<button type="roll" name="roll_dodge" class="btn" value="&{template:zafirdodge} {{dodge=[[ [Dodge Dice] (@{gmdodgedice})d6>6]]}} {{enemy=@{selectedenemy}}}"><span data-i18n="Dodge">Dodge</span></button>
|
||||
<label style="width:110px" data-i18n="Dodge Dice:">Dodge Dice:</label><input type="number" name="attr_gmdodgedice" value="0" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1456,7 +1616,7 @@
|
||||
<input type="hidden" class="hideifzero" name="attr_gmshowabilityinfo" value="1"/>
|
||||
<div class="stats">
|
||||
<input type="hidden" class="hideifzero" name="attr_selectedenemyabl1cooldown"/>
|
||||
<span><span class="label2" data-i18n="Cooldown:">Cooldown:</span> <span name="attr_selectedenemyabl1cooldown"></span>, </span>
|
||||
<span><span class="label2" data-i18n="Cooldown:">Cooldown:</span> <span name="attr_selectedenemyabl1cooldown"></span> </span>
|
||||
<input type="hidden" class="hideifzero" name="attr_selectedenemyabl1charges"/>
|
||||
<span><span class="label2" data-i18n="Charges:">Charges:</span> <span name="attr_selectedenemyabl1charges"></span></span>
|
||||
<input type="hidden" class="valuehider" name="attr_selectedenemyabl1effect" value=""/>
|
||||
@@ -1475,7 +1635,7 @@
|
||||
<input type="hidden" class="hideifzero" name="attr_gmshowabilityinfo" value="1"/>
|
||||
<div class="stats">
|
||||
<input type="hidden" class="hideifzero" name="attr_selectedenemyabl2cooldown"/>
|
||||
<span><span class="label2" data-i18n="Cooldown:">Cooldown:</span> <span name="attr_selectedenemyabl2cooldown"></span>, </span>
|
||||
<span><span class="label2" data-i18n="Cooldown:">Cooldown:</span> <span name="attr_selectedenemyabl2cooldown"></span> </span>
|
||||
<input type="hidden" class="hideifzero" name="attr_selectedenemyabl2charges"/>
|
||||
<span><span class="label2" data-i18n="Charges:">Charges:</span> <span name="attr_selectedenemyabl2charges"></span></span>
|
||||
<input type="hidden" class="valuehider" name="attr_selectedenemyabl2effect" value=""/>
|
||||
@@ -1483,6 +1643,63 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input type="hidden" class="valuehider" name="attr_selectedenemyabl3_id" value="">
|
||||
<div class="attackinfo">
|
||||
<input type="hidden" class="hideifone" name="attr_gmobfuscateabilities" value="0"/>
|
||||
<span class="label" name="attr_selectedenemyabl3name">Ability</span>
|
||||
<input type="hidden" class="hideifzero" name="attr_gmobfuscateabilities" value="0"/>
|
||||
<span class="label">???</span>
|
||||
<input type="hidden" class="hideifzero" name="attr_gmshowabilityinfo" value="1"/>
|
||||
<span style="font-style:italic;">(<span name="attr_selectedenemyabl3activation"></span>)</span>
|
||||
<input type="hidden" class="hideifzero" name="attr_gmshowabilityinfo" value="1"/>
|
||||
<div class="stats">
|
||||
<input type="hidden" class="hideifzero" name="attr_selectedenemyabl3cooldown"/>
|
||||
<span><span class="label2" data-i18n="Cooldown:">Cooldown:</span> <span name="attr_selectedenemyabl3cooldown"></span> </span>
|
||||
<input type="hidden" class="hideifzero" name="attr_selectedenemyabl3charges"/>
|
||||
<span><span class="label2" data-i18n="Charges:">Charges:</span> <span name="attr_selectedenemyabl3charges"></span></span>
|
||||
<input type="hidden" class="valuehider" name="attr_selectedenemyabl3effect" value=""/>
|
||||
<div class="notes wrap">• <span name="attr_selectedenemyabl3effect"></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input type="hidden" class="valuehider" name="attr_selectedenemyabl4_id" value="">
|
||||
<div class="attackinfo">
|
||||
<input type="hidden" class="hideifone" name="attr_gmobfuscateabilities" value="0"/>
|
||||
<span class="label" name="attr_selectedenemyabl4name">Ability</span>
|
||||
<input type="hidden" class="hideifzero" name="attr_gmobfuscateabilities" value="0"/>
|
||||
<span class="label">???</span>
|
||||
<input type="hidden" class="hideifzero" name="attr_gmshowabilityinfo" value="1"/>
|
||||
<span style="font-style:italic;">(<span name="attr_selectedenemyabl4activation"></span>)</span>
|
||||
<input type="hidden" class="hideifzero" name="attr_gmshowabilityinfo" value="1"/>
|
||||
<div class="stats">
|
||||
<input type="hidden" class="hideifzero" name="attr_selectedenemyabl4cooldown"/>
|
||||
<span><span class="label2" data-i18n="Cooldown:">Cooldown:</span> <span name="attr_selectedenemyabl4cooldown"></span> </span>
|
||||
<input type="hidden" class="hideifzero" name="attr_selectedenemyabl4charges"/>
|
||||
<span><span class="label2" data-i18n="Charges:">Charges:</span> <span name="attr_selectedenemyabl4charges"></span></span>
|
||||
<input type="hidden" class="valuehider" name="attr_selectedenemyabl4effect" value=""/>
|
||||
<div class="notes wrap">• <span name="attr_selectedenemyabl4effect"></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input type="hidden" class="valuehider" name="attr_selectedenemyabl5_id" value="">
|
||||
<div class="attackinfo">
|
||||
<input type="hidden" class="hideifone" name="attr_gmobfuscateabilities" value="0"/>
|
||||
<span class="label" name="attr_selectedenemyabl5name">Ability</span>
|
||||
<input type="hidden" class="hideifzero" name="attr_gmobfuscateabilities" value="0"/>
|
||||
<span class="label">???</span>
|
||||
<input type="hidden" class="hideifzero" name="attr_gmshowabilityinfo" value="1"/>
|
||||
<span style="font-style:italic;">(<span name="attr_selectedenemyabl5activation"></span>)</span>
|
||||
<input type="hidden" class="hideifzero" name="attr_gmshowabilityinfo" value="1"/>
|
||||
<div class="stats">
|
||||
<input type="hidden" class="hideifzero" name="attr_selectedenemyabl5cooldown"/>
|
||||
<span><span class="label2" data-i18n="Cooldown:">Cooldown:</span> <span name="attr_selectedenemyabl5cooldown"></span> </span>
|
||||
<input type="hidden" class="hideifzero" name="attr_selectedenemyabl5charges"/>
|
||||
<span><span class="label2" data-i18n="Charges:">Charges:</span> <span name="attr_selectedenemyabl5charges"></span></span>
|
||||
<input type="hidden" class="valuehider" name="attr_selectedenemyabl5effect" value=""/>
|
||||
<div class="notes wrap">• <span name="attr_selectedenemyabl5effect"></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Items -->
|
||||
<input type="hidden" class="valuehider" name="attr_selectedenemyitem0_id" value="">
|
||||
<div class="attackinfo">
|
||||
@@ -1499,6 +1716,36 @@
|
||||
<div class="notes wrap">• <span name="attr_selectedenemyitem0effect"></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input type="hidden" class="valuehider" name="attr_selectedenemyitem1_id" value="">
|
||||
<div class="attackinfo">
|
||||
<input type="hidden" class="hideifone" name="attr_gmobfuscateabilities" value="0"/>
|
||||
<span class="label" name="attr_selectedenemyitem1name">Item</span>
|
||||
<input type="hidden" class="hideifzero" name="attr_gmobfuscateabilities" value="0"/>
|
||||
<span class="label">???</span>
|
||||
<input type="hidden" class="hideifzero" name="attr_gmshowabilityinfo" value="1"/>
|
||||
<div class="stats">
|
||||
<input type="hidden" class="hideifzero" name="attr_selectedenemyitem1charges"/>
|
||||
<span><span class="label2" data-i18n="Charges:">Charges:</span> <span name="attr_selectedenemyitem1charges"></span></span>
|
||||
<input type="hidden" class="valuehider" name="attr_selectedenemyitem1effect" value=""/>
|
||||
<div class="notes wrap">• <span name="attr_selectedenemyitem1effect"></span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input type="hidden" class="valuehider" name="attr_selectedenemyitem2_id" value="">
|
||||
<div class="attackinfo">
|
||||
<input type="hidden" class="hideifone" name="attr_gmobfuscateabilities" value="0"/>
|
||||
<span class="label" name="attr_selectedenemyitem2name">Item</span>
|
||||
<input type="hidden" class="hideifzero" name="attr_gmobfuscateabilities" value="0"/>
|
||||
<span class="label">???</span>
|
||||
<input type="hidden" class="hideifzero" name="attr_gmshowabilityinfo" value="1"/>
|
||||
<div class="stats">
|
||||
<input type="hidden" class="hideifzero" name="attr_selectedenemyitem2charges"/>
|
||||
<span><span class="label2" data-i18n="Charges:">Charges:</span> <span name="attr_selectedenemyitem2charges"></span></span>
|
||||
<input type="hidden" class="valuehider" name="attr_selectedenemyitem2effect" value=""/>
|
||||
<div class="notes wrap">• <span name="attr_selectedenemyitem2effect"></span></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<button type="action" name="act_refreshselectedunit" class="btn" style="float:right;width:auto;padding-top:4px;padding-bottom:4px;">Refresh</button>
|
||||
@@ -1779,10 +2026,58 @@
|
||||
<label data-i18n="Effect:">Effect:</label><textarea name="attr_selectedenemyabl2effect"></textarea>
|
||||
</div>
|
||||
|
||||
<input type="hidden" class="valuehider" name="attr_selectedenemyabl3_id" value="">
|
||||
<div class="enemyattackentry clearfix">
|
||||
<label data-i18n="Name:">Name:</label><input type="text" spellcheck="false" name="attr_selectedenemyabl3name" /><br />
|
||||
<label data-i18n="Activation:">Activation:</label><select name="attr_selectedenemyabl3activation">
|
||||
<option value="Passive" data-i18n="Passive Option">Passive</option>
|
||||
<option value="Reaction" data-i18n="Reaction Option">Reaction</option>
|
||||
<option value="Free Action" data-i18n="Free Action Option">Free Action</option>
|
||||
<option value="Action" data-i18n="Action Option">Action</option>
|
||||
<option value="Action + Ends Turn" data-i18n="Action End Turn Option">Action + Ends Turn</option>
|
||||
</select>
|
||||
<br/>
|
||||
<label data-i18n="Cooldown:">Cooldown:</label><input type="number" name="attr_selectedenemyabl3cooldown" value="0" />
|
||||
<label style="margin-left:32px;" data-i18n="Charges:">Charges:</label><input type="number" name="attr_selectedenemyabl3charges" value="0" /><br/>
|
||||
<label data-i18n="Effect:">Effect:</label><textarea name="attr_selectedenemyabl3effect"></textarea>
|
||||
</div>
|
||||
|
||||
<input type="hidden" class="valuehider" name="attr_selectedenemyabl4_id" value="">
|
||||
<div class="enemyattackentry clearfix">
|
||||
<label data-i18n="Name:">Name:</label><input type="text" spellcheck="false" name="attr_selectedenemyabl4name" /><br />
|
||||
<label data-i18n="Activation:">Activation:</label><select name="attr_selectedenemyabl4activation">
|
||||
<option value="Passive" data-i18n="Passive Option">Passive</option>
|
||||
<option value="Reaction" data-i18n="Reaction Option">Reaction</option>
|
||||
<option value="Free Action" data-i18n="Free Action Option">Free Action</option>
|
||||
<option value="Action" data-i18n="Action Option">Action</option>
|
||||
<option value="Action + Ends Turn" data-i18n="Action End Turn Option">Action + Ends Turn</option>
|
||||
</select>
|
||||
<br/>
|
||||
<label data-i18n="Cooldown:">Cooldown:</label><input type="number" name="attr_selectedenemyabl4cooldown" value="0" />
|
||||
<label style="margin-left:32px;" data-i18n="Charges:">Charges:</label><input type="number" name="attr_selectedenemyabl4charges" value="0" /><br/>
|
||||
<label data-i18n="Effect:">Effect:</label><textarea name="attr_selectedenemyabl4effect"></textarea>
|
||||
</div>
|
||||
|
||||
<input type="hidden" class="valuehider" name="attr_selectedenemyabl5_id" value="">
|
||||
<div class="enemyattackentry clearfix">
|
||||
<label data-i18n="Name:">Name:</label><input type="text" spellcheck="false" name="attr_selectedenemyabl5name" /><br />
|
||||
<label data-i18n="Activation:">Activation:</label><select name="attr_selectedenemyabl5activation">
|
||||
<option value="Passive" data-i18n="Passive Option">Passive</option>
|
||||
<option value="Reaction" data-i18n="Reaction Option">Reaction</option>
|
||||
<option value="Free Action" data-i18n="Free Action Option">Free Action</option>
|
||||
<option value="Action" data-i18n="Action Option">Action</option>
|
||||
<option value="Action + Ends Turn" data-i18n="Action End Turn Option">Action + Ends Turn</option>
|
||||
</select>
|
||||
<br/>
|
||||
<label data-i18n="Cooldown:">Cooldown:</label><input type="number" name="attr_selectedenemyabl5cooldown" value="0" />
|
||||
<label style="margin-left:32px;" data-i18n="Charges:">Charges:</label><input type="number" name="attr_selectedenemyabl5charges" value="0" /><br/>
|
||||
<label data-i18n="Effect:">Effect:</label><textarea name="attr_selectedenemyabl5effect"></textarea>
|
||||
</div>
|
||||
|
||||
<input type="hidden" class="valuehider" name="attr_selectedenemyabl0_id" value="">
|
||||
<div>
|
||||
<button class="removebtn" type="action" name="act_removegmunitabl"><span data-i18n="Remove">Remove</span></button>
|
||||
</div><input type="hidden" class="avaluehider" name="attr_selectedenemyabl2_id" value="">
|
||||
</div><input type="hidden" class="avaluehider" name="attr_selectedenemyabl5_id" value="">
|
||||
<div>
|
||||
<button class="addbtn" type="action" name="act_addgmunitabl"><span data-i18n="Plus Add">+Add</span></button>
|
||||
</div>
|
||||
@@ -3300,6 +3595,7 @@ on("sheet:opened change:repeating_activeabilities:aabltype change:wpammo", funct
|
||||
});
|
||||
|
||||
const MAX_GM_UNIT_ATKS = 3;
|
||||
const MAX_GM_UNIT_ABILITIES = 6;
|
||||
|
||||
const selectedEnemyAttrs = [
|
||||
// Base attrs
|
||||
@@ -3312,6 +3608,7 @@ const selectedEnemyAttrs = [
|
||||
["_gmunitwill", "selectedenemywill"],
|
||||
["_gmunitdodge", "selectedenemydodge"],
|
||||
["_gmunitnotes", "selectedenemynotes"],
|
||||
|
||||
// Attack 0
|
||||
["_gmunitatk0_id", "selectedenemyatk0_id"],
|
||||
["_gmunitatkname", "selectedenemyatkname"],
|
||||
@@ -3417,6 +3714,27 @@ const selectedEnemyAttrs = [
|
||||
["_gmunitabl2cooldown", "selectedenemyabl2cooldown"],
|
||||
["_gmunitabl2charges", "selectedenemyabl2charges"],
|
||||
["_gmunitabl2effect", "selectedenemyabl2effect"],
|
||||
// Ability 3
|
||||
["_gmunitabl3_id", "selectedenemyabl3_id"],
|
||||
["_gmunitabl3name", "selectedenemyabl3name"],
|
||||
["_gmunitabl3activation", "selectedenemyabl3activation"],
|
||||
["_gmunitabl3cooldown", "selectedenemyabl3cooldown"],
|
||||
["_gmunitabl3charges", "selectedenemyabl3charges"],
|
||||
["_gmunitabl3effect", "selectedenemyabl3effect"],
|
||||
// Ability 4
|
||||
["_gmunitabl4_id", "selectedenemyabl4_id"],
|
||||
["_gmunitabl4name", "selectedenemyabl4name"],
|
||||
["_gmunitabl4activation", "selectedenemyabl4activation"],
|
||||
["_gmunitabl4cooldown", "selectedenemyabl4cooldown"],
|
||||
["_gmunitabl4charges", "selectedenemyabl4charges"],
|
||||
["_gmunitabl4effect", "selectedenemyabl4effect"],
|
||||
// Ability 5
|
||||
["_gmunitabl5_id", "selectedenemyabl5_id"],
|
||||
["_gmunitabl5name", "selectedenemyabl5name"],
|
||||
["_gmunitabl5activation", "selectedenemyabl5activation"],
|
||||
["_gmunitabl5cooldown", "selectedenemyabl5cooldown"],
|
||||
["_gmunitabl5charges", "selectedenemyabl5charges"],
|
||||
["_gmunitabl5effect", "selectedenemyabl5effect"],
|
||||
|
||||
// Item 0
|
||||
["_gmunititem0_id", "selectedenemyitem0_id"],
|
||||
@@ -3441,32 +3759,10 @@ function SelectUnit(unitId, force) {
|
||||
if (!force && selectedenemyid == unitId) {
|
||||
return;
|
||||
}
|
||||
console.log("selectedenemyid: " + selectedenemyid);
|
||||
//console.log("selectedenemyid: " + selectedenemyid);
|
||||
let attrs = [
|
||||
["_gmunitwill", "gmwatkwill"],
|
||||
["_gmunitdodge", "gmdodgedice"],
|
||||
|
||||
["_gmunitatkname", "gmatkname"],
|
||||
["_gmunitatkcrit", "gmatkcritdice"],
|
||||
["_gmunitatkdmg", "gmatkdamage"],
|
||||
["_gmunitatkcritdmg", "gmatkcritdamage"],
|
||||
["_gmunitatkaim", "gmatkaimdice"],
|
||||
["_gmunitatknotes", "selectedenemyatknotes"],
|
||||
|
||||
["_gmunitatk1name", "gmatk1name"],
|
||||
["_gmunitatk1crit", "gmatk1critdice"],
|
||||
["_gmunitatk1dmg", "gmatk1damage"],
|
||||
["_gmunitatk1critdmg", "gmatk1critdamage"],
|
||||
["_gmunitatk1aim", "gmatk1aimdice"],
|
||||
["_gmunitatk1notes", "selectedenemyatk1notes"],
|
||||
|
||||
["_gmunitatk2name", "gmatk2name"],
|
||||
["_gmunitatk2crit", "gmatk2critdice"],
|
||||
["_gmunitatk2dmg", "gmatk2damage"],
|
||||
["_gmunitatk2critdmg", "gmatk2critdamage"],
|
||||
["_gmunitatk2aim", "gmatk2aimdice"],
|
||||
["_gmunitatk2notes", "selectedenemyatk2notes"]
|
||||
// TODO ACTUALLY PULL ALL DATA
|
||||
["_gmunitdodge", "gmdodgedice"]
|
||||
];
|
||||
attrGetters = [];
|
||||
attrs.forEach(attrPair => {
|
||||
@@ -3565,18 +3861,17 @@ function RemoveSelectedUnitGrenadeAttack(index) {
|
||||
return;
|
||||
}
|
||||
|
||||
var indexValue = index == 0 ? "" : index;
|
||||
setAttrs({
|
||||
[`selectedenemygrenadeatk${index}_id`]: "",
|
||||
[`selectedenemygrenadeatk${indexValue}name`]: "",
|
||||
[`selectedenemygrenadeatk${indexValue}charges`]: 0,
|
||||
[`selectedenemygrenadeatk${indexValue}range`]: "Short",
|
||||
[`selectedenemygrenadeatk${indexValue}radius`]: "0.0",
|
||||
[`selectedenemygrenadeatk${indexValue}damage`]: "0",
|
||||
[`selectedenemygrenadeatk${indexValue}critdice`]: 0,
|
||||
[`selectedenemygrenadeatk${indexValue}critdmg`]: 0,
|
||||
[`selectedenemygrenadeatk${indexValue}breaking`]: 0,
|
||||
[`selectedenemygrenadeatk${indexValue}effect`]: ""
|
||||
[`selectedenemygrenadeatk${index}name`]: "",
|
||||
[`selectedenemygrenadeatk${index}charges`]: 0,
|
||||
[`selectedenemygrenadeatk${index}range`]: "Short",
|
||||
[`selectedenemygrenadeatk${index}radius`]: "0.0",
|
||||
[`selectedenemygrenadeatk${index}damage`]: "0",
|
||||
[`selectedenemygrenadeatk${index}critdice`]: 0,
|
||||
[`selectedenemygrenadeatk${index}critdmg`]: 0,
|
||||
[`selectedenemygrenadeatk${index}breaking`]: 0,
|
||||
[`selectedenemygrenadeatk${index}effect`]: ""
|
||||
});
|
||||
}
|
||||
|
||||
@@ -3585,23 +3880,22 @@ function AddSelectedUnitGrenadeAttack(index) {
|
||||
return;
|
||||
}
|
||||
|
||||
var indexValue = index == 0 ? "" : index;
|
||||
setAttrs({
|
||||
[`selectedenemygrenadeatk${index}_id`]: "active",
|
||||
[`selectedenemygrenadeatk${indexValue}name`]: "",
|
||||
[`selectedenemygrenadeatk${indexValue}charges`]: 0,
|
||||
[`selectedenemygrenadeatk${indexValue}range`]: "Short",
|
||||
[`selectedenemygrenadeatk${indexValue}radius`]: "0.0",
|
||||
[`selectedenemygrenadeatk${indexValue}damage`]: "0",
|
||||
[`selectedenemygrenadeatk${indexValue}critdice`]: 0,
|
||||
[`selectedenemygrenadeatk${indexValue}critdmg`]: 0,
|
||||
[`selectedenemygrenadeatk${indexValue}breaking`]: 0,
|
||||
[`selectedenemygrenadeatk${indexValue}effect`]: ""
|
||||
[`selectedenemygrenadeatk${index}name`]: "",
|
||||
[`selectedenemygrenadeatk${index}charges`]: 0,
|
||||
[`selectedenemygrenadeatk${index}range`]: "Short",
|
||||
[`selectedenemygrenadeatk${index}radius`]: "0.0",
|
||||
[`selectedenemygrenadeatk${index}damage`]: "0",
|
||||
[`selectedenemygrenadeatk${index}critdice`]: 0,
|
||||
[`selectedenemygrenadeatk${index}critdmg`]: 0,
|
||||
[`selectedenemygrenadeatk${index}breaking`]: 0,
|
||||
[`selectedenemygrenadeatk${index}effect`]: ""
|
||||
});
|
||||
}
|
||||
|
||||
function RemoveSelectedUnitAbility(index, baseAttrName) {
|
||||
if (index < 0 || index >= MAX_GM_UNIT_ATKS) {
|
||||
function RemoveSelectedUnitAbility(index, baseAttrName, maxEntries) {
|
||||
if (index < 0 || index >= maxEntries) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -3616,8 +3910,8 @@ function RemoveSelectedUnitAbility(index, baseAttrName) {
|
||||
});
|
||||
}
|
||||
|
||||
function AddSelectedUnitAbility(index, baseAttrName) {
|
||||
if (index < 0 || index >= MAX_GM_UNIT_ATKS) {
|
||||
function AddSelectedUnitAbility(index, baseAttrName, maxEntries) {
|
||||
if (index < 0 || index >= maxEntries) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -3682,7 +3976,10 @@ const ENEMY_WILL_ATK_ATTR = [
|
||||
const ENEMY_ABILITY_ATTR = [
|
||||
"selectedenemyabl0_id",
|
||||
"selectedenemyabl1_id",
|
||||
"selectedenemyabl2_id"
|
||||
"selectedenemyabl2_id",
|
||||
"selectedenemyabl3_id",
|
||||
"selectedenemyabl4_id",
|
||||
"selectedenemyabl5_id"
|
||||
];
|
||||
|
||||
const ENEMY_ITEM_ATTR = [
|
||||
@@ -3775,8 +4072,8 @@ on("clicked:addgmunitwillatk", function() {
|
||||
return;
|
||||
}
|
||||
let nextAbilityIndex = highestAbilityIndex + 1;
|
||||
console.log("AddSelectedUnitAbility:" + nextAbilityIndex);
|
||||
AddSelectedUnitAbility(nextAbilityIndex, "selectedenemywillatk");
|
||||
//console.log("AddSelectedUnitAbility:" + nextAbilityIndex);
|
||||
AddSelectedUnitAbility(nextAbilityIndex, "selectedenemywillatk", MAX_GM_UNIT_ATKS);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -3793,34 +4090,34 @@ on("clicked:removegmunitwillatk", function() {
|
||||
if (highestAbilityIndex == -1) {
|
||||
return;
|
||||
}
|
||||
console.log("RemoveSelectedUnitAbility:" + highestAbilityIndex);
|
||||
RemoveSelectedUnitAbility(highestAbilityIndex, "selectedenemywillatk");
|
||||
//console.log("RemoveSelectedUnitAbility:" + highestAbilityIndex);
|
||||
RemoveSelectedUnitAbility(highestAbilityIndex, "selectedenemywillatk", MAX_GM_UNIT_ATKS);
|
||||
});
|
||||
});
|
||||
|
||||
on("clicked:addgmunitabl", function() {
|
||||
getAttrs(ENEMY_ABILITY_ATTR, function(values) {
|
||||
let highestAbilityIndex = -1;
|
||||
for(let i = 0; i < MAX_GM_UNIT_ATKS; ++i) {
|
||||
for(let i = 0; i < MAX_GM_UNIT_ABILITIES; ++i) {
|
||||
var attrName = ENEMY_ABILITY_ATTR[i];
|
||||
var attrValue = values[attrName]||"";
|
||||
if (attrValue != "") {
|
||||
highestAbilityIndex = i;
|
||||
}
|
||||
}
|
||||
if (highestAbilityIndex == (MAX_GM_UNIT_ATKS - 1)) {
|
||||
if (highestAbilityIndex == (MAX_GM_UNIT_ABILITIES - 1)) {
|
||||
return;
|
||||
}
|
||||
let nextAbilityIndex = highestAbilityIndex + 1;
|
||||
console.log("AddSelectedUnitAbility:" + nextAbilityIndex);
|
||||
AddSelectedUnitAbility(nextAbilityIndex, "selectedenemyabl");
|
||||
//console.log("AddSelectedUnitAbility:" + nextAbilityIndex);
|
||||
AddSelectedUnitAbility(nextAbilityIndex, "selectedenemyabl", MAX_GM_UNIT_ABILITIES);
|
||||
});
|
||||
});
|
||||
|
||||
on("clicked:removegmunitabl", function() {
|
||||
getAttrs(ENEMY_ABILITY_ATTR, function(values) {
|
||||
let highestAbilityIndex = -1;
|
||||
for(let i = 0; i < MAX_GM_UNIT_ATKS; ++i) {
|
||||
for(let i = 0; i < MAX_GM_UNIT_ABILITIES; ++i) {
|
||||
var attrName = ENEMY_ABILITY_ATTR[i];
|
||||
var attrValue = values[attrName]||"";
|
||||
if (attrValue != "") {
|
||||
@@ -3830,8 +4127,8 @@ on("clicked:removegmunitabl", function() {
|
||||
if (highestAbilityIndex == -1) {
|
||||
return;
|
||||
}
|
||||
console.log("RemoveSelectedUnitAbility:" + highestAbilityIndex);
|
||||
RemoveSelectedUnitAbility(highestAbilityIndex, "selectedenemyabl");
|
||||
//console.log("RemoveSelectedUnitAbility:" + highestAbilityIndex);
|
||||
RemoveSelectedUnitAbility(highestAbilityIndex, "selectedenemyabl", MAX_GM_UNIT_ABILITIES);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -3849,8 +4146,8 @@ on("clicked:addgmunititem", function() {
|
||||
return;
|
||||
}
|
||||
let nextAbilityIndex = highestAbilityIndex + 1;
|
||||
console.log("AddSelectedUnitAbility:" + nextAbilityIndex);
|
||||
AddSelectedUnitAbility(nextAbilityIndex, "selectedenemyitem");
|
||||
//console.log("AddSelectedUnitAbility:" + nextAbilityIndex);
|
||||
AddSelectedUnitAbility(nextAbilityIndex, "selectedenemyitem", MAX_GM_UNIT_ATKS);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -3867,8 +4164,8 @@ on("clicked:removegmunititem", function() {
|
||||
if (highestAbilityIndex == -1) {
|
||||
return;
|
||||
}
|
||||
console.log("RemoveSelectedUnitAbility:" + highestAbilityIndex);
|
||||
RemoveSelectedUnitAbility(highestAbilityIndex, "selectedenemyitem");
|
||||
//console.log("RemoveSelectedUnitAbility:" + highestAbilityIndex);
|
||||
RemoveSelectedUnitAbility(highestAbilityIndex, "selectedenemyitem", MAX_GM_UNIT_ATKS);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -4215,7 +4512,7 @@ on("clicked:startcharactermancerfromsheet", function() {
|
||||
|
||||
on("mancerfinish:x", function(eventInfo) {
|
||||
let data = eventInfo.data;
|
||||
console.log(data);
|
||||
//console.log(data);
|
||||
let output = {};
|
||||
|
||||
let xclass = data.classx.values.classx || "";
|
||||
@@ -4764,7 +5061,7 @@ on("mancerroll:trinket", function(eventInfo) {
|
||||
let rerollCount = 0;
|
||||
while (inventory.includes(newTrinket)) {
|
||||
if (rerollCount >= 36) {
|
||||
console.log("All!!!");
|
||||
//console.log("All!!!");
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -4776,7 +5073,7 @@ on("mancerroll:trinket", function(eventInfo) {
|
||||
roll2++;
|
||||
}
|
||||
|
||||
console.log("Duplicate! Next: " + roll1 + ", " + roll2);
|
||||
//console.log("Duplicate! Next: " + roll1 + ", " + roll2);
|
||||
|
||||
newTrinket = trinkets[roll1][roll2];
|
||||
rerollCount++;
|
||||
@@ -4826,7 +5123,7 @@ function LogAllPropsRecursive(value, indent) {
|
||||
var propValue;
|
||||
for(var propName in value) {
|
||||
propValue = value[propName];
|
||||
console.log(indent + propName + ": " + propValue);
|
||||
//console.log(indent + propName + ": " + propValue);
|
||||
//LogAllPropsRecursive(propValue, indent + " ");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user