minor bug fixes and enhancements

Added new Dex(Basic) initiative option
	Added Bloodied HP on to the NPC sheet
	Added all the missing words into the translate
	Added Standard / Advantage / Disadvantage logic for initiative, saves, stat rolls
This commit is contained in:
seregrauko
2022-08-14 11:45:53 +01:00
parent 951f732d05
commit 9b67197440
4 changed files with 321 additions and 54 deletions
@@ -1,5 +1,12 @@
Change Log
==============================================
**2022-08-?? ** v.14 Paul V
Split out Features and Traits into their own individual lines, allowing more flexibility
**2022-08-14 ** v.13 Paul V
Added new Dex(Basic) initiative option
Added Bloodied HP on to the NPC sheet
Added all the missing words into the translate
Added Standard / Advantage / Disadvantage logic for initiative, saves, stat rolls
**2022-05-04 ** v.12 Paul V
Major changes to the Skills rolls added a skill settings window for each skill. moved Expertise dice on to that window
Added a whole swave of modifiers to the rolls
+42 -1
View File
@@ -2895,6 +2895,47 @@ div.sheet-display-featandtraits {
border: none;
grid-row: 2 /span 7;
}
/*
div.sheet-featlist {
width: 100%;
grid-row: 3;
}
div.sheet-featlist label[data-i18n-title="repeating_feats"] {
width: 100%;
display: grid;
grid-template-columns: repeat(40,minmax(0,1fr));
margin: 2pt 0pt 0pt 4pt;
justify-content: no-space;
min-width: 0;
width: 100%;
}
div.sheet-display-featandtraits label[data-i18n-title="repeating_feats"] > input {
font-family:Times,serif;
font-size: 0.7em;
height: 30px;
border: none;
border-bottom: solid 1pt;
border-radius:0;
min-width: 100%;
width: 100%;
min-width: 100%;
text-align: center;
}
div.sheet-display-featandtraits label[data-i18n-title="repeating_feats"] > input[data-i18n-placeholder="featsname"]{
grid-column: 1 / span 23;
}
div.sheet-display-featandtraits label[data-i18n-title="repeating_feats"] > textarea {
grid-column: 1 / span 39 !important;
grid-row: 2 !important;
height: 60px;
border: none;
border-bottom: solid 1pt;
border-radius:0;
min-width: 0 !important;
width: 100% !important;
}
*/
div.sheet-combatmaneuvers {
width: 97%;
@@ -5434,7 +5475,7 @@ div.sheet-npcstat {
text-align: left;
}
div.sheet-npcstat label[data-i18n-title="hit_points"]{
grid-column: 1 / span 5 ;
grid-column: 1 / span 18 ;
grid-row: 2 ;
}
div.sheet-npcstat label[data-i18n-title="hit_points"] input[type=number] {
+227 -53
View File
@@ -274,6 +274,7 @@
<input type="hidden" name="attr_deception_init"/>
<input type="hidden" name="attr_insight_init"/>
<input type="hidden" name="attr_vehicle_init"/>
<input type="hidden" name="attr_dexterity_init"/>
<input type="hidden" name="attr_migratev5" value="no"/>
@@ -581,6 +582,7 @@
<option value="3">Charisma (Deception)</option>
<option value="4">Wisdom (Insight)</option>
<option value="5">Dexterity (Vehicles)</option>
<option value="6">Dexterity (Base)</option>
</select>
</label>
</div>
@@ -1679,11 +1681,31 @@
<div class="sheet-toollist">
<fieldset class="repeating_tools">
<label data-i18n-title="repeatingtools" title="repeatingtools">
<input data-i18n-placeholder="toolprof" name="attr_toolprof" placeholder="toolprof" spellcheck="false" title="@{toolprof}" type="checkbox" value="1" />
<!-- <a href="#popuptools"><span style="font-family:Pictos;">y</span></a> -->
<button data-i18n-placeholder="toolroll" type="roll" name="attr_toolroll"></button>
<input data-i18n-placeholder="toolname" name="attr_toolname" placeholder="toolname" spellcheck="false" title="@{toolname}" type="text" value="" />
<input data-i18n-placeholder="toolexdice" name="attr_toolexdice" placeholder="toolexdice" spellcheck="false" title="@{toolexdice}" list="dicelist" type="text" value="" />
<input data-i18n-placeholder="tool_bonus" name="attr_tool_bonus" spellcheck="false" title="@{tool_bonus}" type="number" value=""/>
</label>
<!-- <div id="popuptools" class="overlay">
<div class="popup">
<h3>Tool Settings</h3>
<a class="close" href="#">×</a>
<div class="content">
<input data-i18n-placeholder="toolprof" name="attr_toolprof" placeholder="toolprof" spellcheck="false" title="@{toolprof}" type="checkbox" value="1" />
<span data-i18n="proficient">Proficient</span><br>
<span data-i18n="expertise_dice">Expertise Dice</span><br>
<input data-i18n-placeholder="toolexdice" name="attr_toolexdice" placeholder="toolexdice" spellcheck="false" title="@{toolexdice}" list="dicelist" type="text" value="" />
<span data-i18n="tool_check_bonus">Tool Check Bonus</span><br>
<input data-i18n-placeholder="tool_check_bonus" name="attr_tool_check_bonus" placeholder="tool_check_bonus" spellcheck="false" title="@{tool_check_bonus}" type="number" value="0"/><br>
<span data-i18n="passive_tool_bonus">Passive Tool Bonus</span><br>
<input data-i18n-placeholder="passive_tool_bonus" name="attr_passive_tool_bonus" placeholder="passive_tool_bonus" spellcheck="false" title="@{passive_tool_bonus}" type="number" value="0" /><br>
<span data-i18n="global_skill_bonus">Global Skill Bonus</span><br>
<input data-i18n-placeholder="globalskillbonus" name="attr_globalskillbonus" placeholder="globalskillbonus" spellcheck="false" title="@{globalskillbonus}" type="number" value="0" /><br>
<span data-i18n="global_ability_check_bonus">Global Ability Check Bonus</span><br>
<input data-i18n-placeholder="globalabilitycheckbonus" name="attr_globalabilitycheckbonus" placeholder="globalabilitycheckbonus" spellcheck="false" title="@{globalabilitycheckbonus}" type="number" value="0" /><br>
</div>
</div>
</div> -->
</fieldset>
</div>
</div>
@@ -1732,6 +1754,14 @@
<div class="sheet-display-featandtraits">
<label data-i18n-title="featandtraits" title="featandtraits">
<span data-i18n="featandtraits">featandtraits</span>
<!--<div class="sheet-featslist">
<fieldset class="repeating_feats">
<label data-i18n-title="repeatingfeats" title="repeatingfeats">
<input data-i18n-placeholder="featsname" name="attr_featsname" placeholder="featsname" spellcheck="false" title="@{featsname}" type="text" value="" /><br>
<textarea data-i18n-placeholder="featsinfo" name="attr_featsinfo" placeholder="featsinfo" spellcheck="false" title="@{featsinfo}" type="text" value="" />
</label>
</fieldset>
</div>-->
<textarea data-i18n-placeholder="featandtraits" name="attr_featandtraits" placeholder="featandtraits" spellcheck="false" title="@{featandtraits}" type="text" value="" />
</label>
</div>
@@ -1798,6 +1828,14 @@
<div class='sheet-display-explorationknacks'>
<label data-i18n-title="explorationknacks" title="explorationknacks">
<span data-i18n="explorationknacks">explorationknacks</span>
<div class="sheet-explorationknackslist">
<fieldset class="repeating_explorationknacks">
<label data-i18n-title="repeatingexplorationknacks" title="repeatingexplorationknacks">
<input data-i18n-placeholder="explorationknacksname" name="attr_explorationknacksname" placeholder="explorationknacksname" spellcheck="false" title="@{explorationknacksname}" type="text" value="" /><br>
<textarea data-i18n-placeholder="explorationknacksinfo" name="attr_explorationknacksinfo" placeholder="explorationknacksinfo" spellcheck="false" title="@{explorationknacksinfo}" type="text" value="" />
</label>
</fieldset>
</div>
<textarea data-i18n-placeholder="explorationknacks" name="attr_explorationknacks" placeholder="explorationknacks" spellcheck="false" title="@{explorationknacks}" type="text" value="" />
</label>
</div>
@@ -2431,6 +2469,10 @@
<label data-i18n-title="hit_points" title="hit_points">
<span data-i18n="hit_points">hit_points</span>
<input data-i18n-placeholder="hit_points" name="attr_HP" placeholder="hit_points" spellcheck="false" title="@{HP}" type="number" value="" />
<span data-i18n="hit_points_maximum">hit_points_maximum</span>
<input data-i18n-placeholder="hit_points_maximum" name="attr_HP_max" placeholder="hit_points_maximum" spellcheck="false" title="@{hit_points_maximum}" type="number" value="" />
<span data-i18n="bloodiedHP">bloodiedHP</span>
<input data-i18n-placeholder="bloodiedHP" name="attr_HP_bloodied" placeholder="bloodiedHP" spellcheck="false" title="@{bloodiedHP}" type="number" value="" />
<input data-i18n-placeholder="hit_dice" name="attr_hit_dice" placeholder="hit_dice" spellcheck="false" title="@{hit_dice}" type="text" value="" />
</label>
<label data-i18n-title="speed" title="speed">
@@ -3549,13 +3591,22 @@ on("change:repeating_equipment remove:repeating_equipment", function(){
});
});
});
on("change:strength change:PB change:strength_save_prof sheet:opened", function () {
getAttrs(["strength","strength_save_prof","PB"], function (values) {
on("change:strength change:PB change:strength_save_prof change:rolladvdis sheet:opened", function () {
getAttrs(["strength","strength_save_prof","PB","rolladvdis"], function (values) {
const strength = parseInt(values['strength'], 10)||0;
const prof = parseInt(values['PB'])||0;
var saveprof = values["strength_save_prof"]||0;
const modifier = Math.floor(strength/2) -5;
var setroll = "&{template:default} {{name=Strength Check}}{{check=[[1d20+"+modifier+"]]}}";
var rolladvdis = values["rolladvdis"]||"sta";
var diceroll = "1d20"
if (rolladvdis == "adv") {
diceroll = "2d20kh1";
};
if (rolladvdis == "dis") {
diceroll = "2d20dh1";
};
var setroll = "&{template:default} {{name=Strength Check}}{{check=[["+diceroll+"+"+modifier+"]]}}";
var savemod = modifier;
if (saveprof == 1) {
savemod = savemod + prof;
@@ -3567,31 +3618,53 @@ on("change:repeating_equipment remove:repeating_equipment", function(){
});
});
});
on("change:dexterity change:PB change:dexterity_save_prof sheet:opened", function () {
getAttrs(["dexterity","dexterity_save_prof","PB"], function (values) {
on("change:dexterity change:PB change:dexterity_save_prof change:rolladvdis sheet:opened", function () {
getAttrs(["dexterity","dexterity_save_prof","PB","rolladvdis"], function (values) {
const dexterity = parseInt(values['dexterity'], 10)||0;
const prof = parseInt(values['PB'])||0;
var saveprof = values["dexterity_save_prof"]||0;
const modifier = Math.floor(dexterity/2) -5;
var setroll = "&{template:default} {{name=Dexterity Check}}{{check=[[1d20+"+modifier+"]]}}";
var rolladvdis = values["rolladvdis"]||"sta";
var diceroll = "1d20"
if (rolladvdis == "adv") {
diceroll = "2d20kh1";
};
if (rolladvdis == "dis") {
diceroll = "2d20dh1";
};
var setroll = "&{template:default} {{name=Dexterity Check}}{{check=[["+diceroll+"+"+modifier+"]]}}";
var savemod = modifier;
if (saveprof == 1) {
savemod = savemod + prof;
};
var setinit = "&{template:default} !{{name=Dexterity Initiative}}{{roll=[["+diceroll+"+"+modifier+" &{tracker}]]}}" ;
setAttrs({
dexterity_mod: modifier,
dexterity_save_mod: savemod,
dexterityroll: setroll,
dexterity_init: setinit,
});
});
});
on("change:constitution change:PB change:constitution_save_prof sheet:opened", function () {
getAttrs(["constitution","constitution_save_prof","PB"], function (values) {
on("change:constitution change:PB change:constitution_save_prof change:rolladvdis sheet:opened", function () {
getAttrs(["constitution","constitution_save_prof","PB","rolladvdis"], function (values) {
const constitution = parseInt(values['constitution'], 10)||0;
const prof = parseInt(values['PB'])||0;
var saveprof = values["constitution_save_prof"]||0;
const modifier = Math.floor(constitution/2) -5;
var setroll = "&{template:default} {{name=Constitution Check}}{{check=[[1d20+"+modifier+"]]}}";
var rolladvdis = values["rolladvdis"]||"sta";
var diceroll = "1d20"
if (rolladvdis == "adv") {
diceroll = "2d20kh1";
};
if (rolladvdis == "dis") {
diceroll = "2d20dh1";
};
var setroll = "&{template:default} {{name=Constitution Check}}{{check=[["+diceroll+"+"+modifier+"]]}}";
var savemod = modifier;
if (saveprof == 1) {
savemod = savemod + prof;
@@ -3603,13 +3676,22 @@ on("change:repeating_equipment remove:repeating_equipment", function(){
});
});
});
on("change:intelligence change:PB change:intelligence_save_prof sheet:opened", function () {
getAttrs(["intelligence","intelligence_save_prof","PB"], function (values) {
on("change:intelligence change:PB change:intelligence_save_prof change:rolladvdis sheet:opened", function () {
getAttrs(["intelligence","intelligence_save_prof","PB","rolladvdis"], function (values) {
const intelligence = parseInt(values['intelligence'], 10)||0;
const prof = parseInt(values['PB'])||0;
var saveprof = values["intelligence_save_prof"]||0;
const modifier = Math.floor(intelligence/2) -5;
var setroll = "&{template:default} {{name=Intelligence Check}}{{check=[[1d20+"+modifier+"]]}}";
var rolladvdis = values["rolladvdis"]||"sta";
var diceroll = "1d20"
if (rolladvdis == "adv") {
diceroll = "2d20kh1";
};
if (rolladvdis == "dis") {
diceroll = "2d20dh1";
};
var setroll = "&{template:default} {{name=Intelligence Check}}{{check=[["+diceroll+"+"+modifier+"]]}}";
var savemod = modifier;
if (saveprof == 1) {
savemod = savemod + prof;
@@ -3621,13 +3703,22 @@ on("change:repeating_equipment remove:repeating_equipment", function(){
});
});
});
on("change:wisdom change:PB change:wisdom_save_prof sheet:opened", function () {
getAttrs(["wisdom","wisdom_save_prof","PB"], function (values) {
on("change:wisdom change:PB change:wisdom_save_prof change:rolladvdis sheet:opened", function () {
getAttrs(["wisdom","wisdom_save_prof","PB","rolladvdis"], function (values) {
const wisdom = parseInt(values['wisdom'], 10)||0;
const prof = parseInt(values['PB'])||0;
var saveprof = values["wisdom_save_prof"]||0;
const modifier = Math.floor(wisdom/2) -5;
var setroll = "&{template:default} {{name=Wisdom Check}}{{check=[[1d20+"+modifier+"]]}}";
var rolladvdis = values["rolladvdis"]||"sta";
var diceroll = "1d20"
if (rolladvdis == "adv") {
diceroll = "2d20kh1";
};
if (rolladvdis == "dis") {
diceroll = "2d20dh1";
};
var setroll = "&{template:default} {{name=Wisdom Check}}{{check=[["+diceroll+"+"+modifier+"]]}}";
var savemod = modifier;
if (saveprof == 1) {
savemod = savemod + prof;
@@ -3639,13 +3730,21 @@ on("change:repeating_equipment remove:repeating_equipment", function(){
});
});
});
on("change:charisma change:PB change:charisma_save_prof sheet:opened", function () {
getAttrs(["charisma","charisma_save_prof","PB"], function (values) {
on("change:charisma change:PB change:charisma_save_prof change:rolladvdis sheet:opened", function () {
getAttrs(["charisma","charisma_save_prof","PB","rolladvdis"], function (values) {
const charisma = parseInt(values['charisma'], 10)||0;
const prof = parseInt(values['PB'])||0;
var saveprof = values["charisma_save_prof"]||0;
const modifier = Math.floor(charisma/2) -5;
var setroll = "&{template:default} {{name=Charisma Check}}{{check=[[1d20+"+modifier+"]]}}";
var rolladvdis = values["rolladvdis"]||"sta";
var diceroll = "1d20"
if (rolladvdis == "adv") {
diceroll = "2d20kh1";
};
if (rolladvdis == "dis") {
diceroll = "2d20dh1";
};
var setroll = "&{template:default} {{name=Charisma Check}}{{check=[["+diceroll+"+"+modifier+"]]}}";
var savemod = modifier;
if (saveprof == 1) {
savemod = savemod + prof;
@@ -3658,67 +3757,125 @@ on("change:repeating_equipment remove:repeating_equipment", function(){
});
});
on("change:strength_save_mod sheet:opened", function() {
getAttrs(["strength_save_mod"], function(values) {
var statsave = parseInt(values["strength_save_mod"])||0;
var setsaveroll = "&{template:default} {{name=Strength Save}}{{save=[[1d20+"+statsave+"]]}}";
on("change:strength_save_mod change:rolladvdis sheet:opened", function() {
getAttrs(["strength_save_mod","rolladvdis"], function(values) {
var statsave = parseInt(values["strength_save_mod"])||0;
var rolladvdis = values["rolladvdis"]||"sta";
var diceroll = "1d20"
if (rolladvdis == "adv") {
diceroll = "2d20kh1";
};
if (rolladvdis == "dis") {
diceroll = "2d20dh1";
};
var setsaveroll = "&{template:default} {{name=Strength Save}}{{save=[["+diceroll+"+"+statsave+"]]}}";
setAttrs({
"strength_save_roll": setsaveroll,
});
});
});
on("change:dexterity_save_mod sheet:opened", function() {
getAttrs(["dexterity_save_mod"], function(values) {
on("change:dexterity_save_mod change:rolladvdis sheet:opened", function() {
getAttrs(["dexterity_save_mod","rolladvdis"], function(values) {
var statsave = parseInt(values["dexterity_save_mod"])||0;
var setsaveroll = "&{template:default} {{name=Dexterity Save}}{{save=[[1d20+"+statsave+"]]}}";
var rolladvdis = values["rolladvdis"]||"sta";
var diceroll = "1d20"
if (rolladvdis == "adv") {
diceroll = "2d20kh1";
};
if (rolladvdis == "dis") {
diceroll = "2d20dh1";
};
var setsaveroll = "&{template:default} {{name=Dexterity Save}}{{save=[["+diceroll+"+"+statsave+"]]}}";
setAttrs({
"dexterity_save_roll": setsaveroll,
});
});
});
on("change:constitution_save_mod sheet:opened", function() {
getAttrs(["constitution_save_mod"], function(values) {
on("change:constitution_save_mod change:rolladvdis sheet:opened", function() {
getAttrs(["constitution_save_mod","rolladvdis"], function(values) {
var statsave = parseInt(values["constitution_save_mod"])||0;
var setsaveroll = "&{template:default} {{name=Constitution Save}}{{save=[[1d20+"+statsave+"]]}}";
var rolladvdis = values["rolladvdis"]||"sta";
var diceroll = "1d20"
if (rolladvdis == "adv") {
diceroll = "2d20kh1";
};
if (rolladvdis == "dis") {
diceroll = "2d20dh1";
};
var setsaveroll = "&{template:default} {{name=Constitution Save}}{{save=[["+diceroll+"+"+statsave+"]]}}";
setAttrs({
"constitution_save_roll": setsaveroll,
});
});
});
on("change:intelligence_save_mod sheet:opened", function() {
getAttrs(["intelligence_save_mod"], function(values) {
on("change:intelligence_save_mod change:rolladvdis sheet:opened", function() {
getAttrs(["intelligence_save_mod","rolladvdis"], function(values) {
var statsave = parseInt(values["intelligence_save_mod"])||0;
var setsaveroll = "&{template:default} {{name=Intelligence Save}}{{save=[[1d20+"+statsave+"]]}}";
var rolladvdis = values["rolladvdis"]||"sta";
var diceroll = "1d20"
if (rolladvdis == "adv") {
diceroll = "2d20kh1";
};
if (rolladvdis == "dis") {
diceroll = "2d20dh1";
};
var setsaveroll = "&{template:default} {{name=Intelligence Save}}{{save=[["+diceroll+"+"+statsave+"]]}}";
setAttrs({
"intelligence_save_roll": setsaveroll,
});
});
});
on("change:wisdom_save_mod sheet:opened", function() {
getAttrs(["wisdom_save_mod"], function(values) {
on("change:wisdom_save_mod change:rolladvdis sheet:opened", function() {
getAttrs(["wisdom_save_mod","rolladvdis"], function(values) {
var statsave = parseInt(values["wisdom_save_mod"])||0;
var setsaveroll = "&{template:default} {{name=Wisdom Save}}{{save=[[1d20+"+statsave+"]]}}";
var rolladvdis = values["rolladvdis"]||"sta";
var diceroll = "1d20"
if (rolladvdis == "adv") {
diceroll = "2d20kh1";
};
if (rolladvdis == "dis") {
diceroll = "2d20dh1";
};
var setsaveroll = "&{template:default} {{name=Wisdom Save}}{{save=[["+diceroll+"+"+statsave+"]]}}";
setAttrs({
"wisdom_save_roll": setsaveroll,
});
});
});
on("change:charisma_save_mod sheet:opened", function() {
getAttrs(["charisma_save_mod"], function(values) {
var statsave = parseInt(values["charisma_save_mod"])||0;
var setsaveroll = "&{template:default} {{name=Charisma Save}}{{save=[[1d20+"+statsave+"]]}}";
on("change:charisma_save_mod change:rolladvdis sheet:opened", function() {
getAttrs(["charisma_save_mod","rolladvdis"], function(values) {
var statsave = parseInt(values["charisma_save_mod"])||0;
var rolladvdis = values["rolladvdis"]||"sta";
var diceroll = "1d20"
if (rolladvdis == "adv") {
diceroll = "2d20kh1";
};
if (rolladvdis == "dis") {
diceroll = "2d20dh1";
};
var setsaveroll = "&{template:default} {{name=Charisma Save}}{{save=[["+diceroll+"+"+statsave+"]]}}";
setAttrs({
"charisma_save_roll": setsaveroll,
});
});
});
on("change:initiative sheet:opened", function() {
getAttrs(["initiative"], function(values) {
var init = parseInt(values["initiative"])||0;
var setroll = "&{template:default} {{name=Initiative}}{{initiative=[[1d20+"+init+"&{tracker}]]}}";
setAttrs({
"initiativeroll": setroll,
});
on("change:initiative change:rolladvdis sheet:opened", function() {
getAttrs(["initiative","rolladvdis"], function(values) {
var init = parseInt(values["initiative"])||0;
var rolladvdis = values["rolladvdis"]||"sta";
var diceroll = "1d20"
if (rolladvdis == "adv") {
diceroll = "2d20kh1";
};
if (rolladvdis == "dis") {
diceroll = "2d20dh1";
};
var setroll = "&{template:default} {{name=Initiative}}{{initiative=[["+diceroll+"+"+init+"&{tracker}]]}}";
setAttrs({
"initiativeroll": setroll,
});
});
});
@@ -3962,7 +4119,7 @@ on("change:repeating_equipment remove:repeating_equipment", function(){
};
var setroll = "&{template:default} !?{Stat|Strength, "+str+"|Dexterity, "+dex+"|Constitution, "+con+"|Intelligence, "+intel+"|Wisdom, "+wis+"|Charisma, "+cha+"} ?{IncludeSpecialty|No, "+exdice+"|Yes, "+specdice+" } {{name=Athletics ("+specialty+") Roll}}{{roll=[["+diceroll+"+?{Stat}+"+finalbonus+"+?{IncludeSpecialty}]]}}";;
var setinit = "&{template:default} !{{name=Athletics Initiative}}{{roll=[[1d20+"+str+"+"+finalbonus+"+"+exdice+" &{tracker}]]}}" ;
var setinit = "&{template:default} !{{name=Athletics Initiative}}{{roll=[["+diceroll+"+"+str+"+"+finalbonus+"+"+exdice+" &{tracker}]]}}" ;
setAttrs({
"athletics_roll": setroll,
@@ -4088,7 +4245,7 @@ on("change:repeating_equipment remove:repeating_equipment", function(){
};
var setroll = "&{template:default} !?{Stat||Charisma, "+cha+"|Strength, "+str+"|Constitution, "+con+"|Intelligence, "+intel+"|Wisdom, "+wis+"Dexterity, "+dex+"} ?{IncludeSpecialty|No, "+exdice+"|Yes, "+specdice+" } {{name=Deception ("+specialty+") Roll}}{{roll=[["+diceroll+"+?{Stat}+"+finalbonus+"+?{IncludeSpecialty}]]}}";;
var setinit = "&{template:default} !{{name=Deception Initiative}}{{roll=[[1d20+"+cha+"+"+finalbonus+"+"+exdice+" &{tracker}]]}}" ;
var setinit = "&{template:default} !{{name=Deception Initiative}}{{roll=[["+diceroll+"+"+cha+"+"+finalbonus+"+"+exdice+" &{tracker}]]}}" ;
setAttrs({
"deception_roll": setroll,
@@ -4276,7 +4433,7 @@ on("change:repeating_equipment remove:repeating_equipment", function(){
};
var setroll = "&{template:default} !?{Stat|Wisdom, "+wis+"|Strength, "+str+"|Constitution, "+con+"|Intelligence, "+intel+"|Dexterity, "+dex+"|Charisma, "+cha+"} ?{IncludeSpecialty|No, "+exdice+"|Yes, "+specdice+" } {{name=Insight ("+specialty+") Roll}}{{roll=[["+diceroll+"+?{Stat}+"+finalbonus+"+?{IncludeSpecialty}]]}}";;
var setinit = "&{template:default} !{{name=Insight Initiative}}{{roll=[[1d20+"+cha+"+"+finalbonus+"+"+exdice+" &{tracker}]]}}" ;
var setinit = "&{template:default} !{{name=Insight Initiative}}{{roll=[["+diceroll+"+"+cha+"+"+finalbonus+"+"+exdice+" &{tracker}]]}}" ;
setAttrs({
"insight_roll": setroll,
@@ -4589,7 +4746,7 @@ on("change:repeating_equipment remove:repeating_equipment", function(){
};
var setroll = "&{template:default} !?{Stat|Wisdom, "+wis+"|Strength, "+str+"|Constitution, "+con+"|Intelligence, "+intel+"|Dexterity, "+dex+"|Charisma, "+cha+"} ?{IncludeSpecialty|No, "+exdice+"|Yes, "+specdice+" } {{name=Perception ("+specialty+") Roll}}{{roll=[["+diceroll+"+?{Stat}+"+finalbonus+"+?{IncludeSpecialty}]]}}";;
var setinit = "&{template:default} !{{name=perception Initiative}}{{roll=[[1d20+"+cha+"+"+finalbonus+"+"+exdice+" &{tracker}]]}}" ;
var setinit = "&{template:default} !{{name=perception Initiative}}{{roll=[["+diceroll+"+"+cha+"+"+finalbonus+"+"+exdice+" &{tracker}]]}}" ;
setAttrs({
"perception_roll": setroll,
@@ -5356,9 +5513,9 @@ on('change:destiny', event => {
});
});
on("change:initiativetype change:perception_init change:athletics_init change:deception_init change:insight_init change:vehicle_init sheet:opened", function() {
on("change:initiativetype change:perception_init change:athletics_init change:deception_init change:insight_init change:vehicle_init change:dexterity_init sheet:opened", function() {
getAttrs([
"initiativetype","perception_init","athletics_init","deception_init","insight_init"
"initiativetype","perception_init","athletics_init","deception_init","insight_init","vehicle_init","dexterity_init"
], function(values) {
var itype = values["initiativetype"]||"";
var perception_init = values["perception_init"]||"";
@@ -5366,6 +5523,7 @@ on("change:initiativetype change:perception_init change:athletics_init change:de
var deception_init = values["deception_init"]||"";
var insight_init = values["insight_init"]||"";
var vehicle_init = values["vehicle_init"]||"";
var dexterity_init = values["dexterity_init"]||"";
var setroll = "";
@@ -5384,6 +5542,9 @@ on("change:initiativetype change:perception_init change:athletics_init change:de
if (itype == "5") {
setroll = vehicle_init;
}
if (itype == "6") {
setroll = dexterity_init;
}
setAttrs({
"initiativeroll": setroll,
@@ -5391,5 +5552,18 @@ on("change:initiativetype change:perception_init change:athletics_init change:de
});
});
on("change:HP_max change:HP_bloodied sheet:opened", function () {
getAttrs(["HP_max"], function (values) {
var HPMax = parseInt(values['HP_max'], 10)||0;
var Bloodied = Math.floor(HPMax/2);
setAttrs({
HP_bloodied: Bloodied,
});
});
});
</script>
@@ -30,9 +30,11 @@
"animalhandling": "Animal Handling",
"animalhandling_specialty": "",
"animalhandling_exdice": "",
"animalhandling_check_bonus": "Animal Handling Check Bonus",
"arcana": "Arcana",
"arcana_specialty": "",
"arcana_exdice": "",
"arcana_check_bonus": "Arcana Check Bonus",
"Arcanist": "Arcanist",
"archtype": "Archtype",
"armor_class": "Armour Class",
@@ -41,6 +43,7 @@
"athletics": "Athletics",
"athletics_specialty": "",
"athletics_exdice": "",
"athletics_check_bonus": "Athletics Check Bonus",
"atk_bonus": "Atk Bonus",
"attacks_and_spellcasting": "Attacks & Spellcasting",
"background": "Background",
@@ -51,6 +54,7 @@
"Beastmaster": "Beastmaster",
"behaviour": "Behaviour",
"Berserker": "Berserker",
"bloodiedHP": "Bloodied HP",
"bludgeoning": "bludgeoning",
"bonus": "Bonus",
"bonusactions": "Bonus Actions",
@@ -94,6 +98,7 @@
"culture": "Culture",
"culture_specialty": "",
"culture_exdice": "",
"culture_check_bonus": "Culture Check Bonus",
"Cultist": "Cultist",
"Cutthroat": "Cutthroat",
"death_saves": "Death Saves",
@@ -106,6 +111,7 @@
"deception": "Deception",
"deception_specialty": "",
"deception_exdice": "",
"deception_check_bonus": "Deception Check Bonus",
"Deep Dwarf": "Deep Dwarf",
"Deep Gnome": "Deep Gnome",
"description": "Description",
@@ -135,6 +141,7 @@
"engineering": "Engineering",
"engineering_specialty": "",
"engineering_exdice": "",
"engineering_check_bonus": "Engineering Check Bonus",
"Enigma": "Enigma",
"Entertainer": "Entertainer",
"ep": "E.P.",
@@ -194,6 +201,7 @@
"history": "History",
"history_specialty": "",
"history_exdice": "",
"history_check_bonus": "History Check Bonus",
"hit_dice": "Hit Dice",
"hit_dice_total": "Total",
"hit_points": "Hit Points",
@@ -211,15 +219,18 @@
"insight": "Insight",
"insight_specialty": "",
"insight_exdice": "",
"insight_check_bonus": "Insight Check Bonus",
"intelligence": "Intelligence",
"int": "Int",
"intimidation": "Intimidation",
"intimidation_specialty": "",
"intimidation_exdice": "",
"intimidation_check_bonus": "Intimidatiation Check Bonus",
"inventory": "Inventory",
"investigation": "Investigation",
"investigation_specialty": "",
"investigation_exdice": "",
"investigation_check_bonus": "Investigation Check Bonus",
"Investigator": "Investigator",
"item": "Item",
"jackofalltrades": "Jack of All Trades",
@@ -257,6 +268,7 @@
"medicine": "Medicine",
"medicine_specialty": "",
"medicine_exdice": "",
"medicine_check_bonus": "Medicine Check Bonus",
"medium": "Medium",
"metamorphosis": "Metamorphosis",
"minimum_d20_roll": "Minimum d20 Roll",
@@ -264,9 +276,11 @@
"misc1": "",
"misc1_specialty": "",
"misc1_exdice": "",
"misc1_check_bonus": "Misc1 Check Bonus",
"misc2": "",
"misc2_specialty": "",
"misc2_exdice": "",
"misc2_check_bonus": "Misc2 Check Bonus",
"Mixed Heritage": "Mixed Heritage",
"monstrosity": "Monstrosity",
"Mountain Dwarf": "Mountain Dwarf",
@@ -277,6 +291,7 @@
"nature": "Nature",
"nature_specialty": "",
"nature_exdice": "",
"nature_check_bonus": "Nature Check Bonus",
"necrotic": "necrotic",
"Noble": "Noble",
"Nomad": "Nomad",
@@ -288,21 +303,46 @@
"Orc": "Orc",
"Outlander": "Outlander",
"passive_acrobatics_bonus": "Passive Acrobatics Bonus",
"passive_animalhandling_bonus": "Passive Animal Handling Bonus",
"passive_arcana_bonus": "Passive Arcana Bonus",
"passive_athletics_bonus": "Passive Athletics Bonus",
"passive_culture_bonus": "Passive Culture Bonus",
"passive_deception_bonus": "Passive Deception Bonus",
"passive_engineering_bonus": "Passive Engineering Bonus",
"passive_history_bonus": "Passive History Bonus",
"passive_insight": "Passive Insight",
"passive_insight_bonus": "Passive Insight Bonus",
"passive_intimidation_bonus": "Passive Intimidatiation Bonus",
"passive_investigation_bonus": "Passive Investigation Bonus",
"passive_misc": "Passive",
"passive_misc_title": "",
"passive_misc1_bonus": "Passive Misc1 Bonus",
"passive_misc2_bonus": "Passive Misc2 Bonus",
"passive_medicine_bonus": "Passive Medicine Bonus",
"passive_nature_bonus": "Passive Nature Bonus",
"passive_perception": "Passive Perception",
"passive_perception_bonus": "Passive Perception Bonus",
"passive_performance_bonus": "Passive Performance Bonus",
"passive_persuasion_bonus": "Passive Persuasion Bonus",
"passive_religion_bonus": "Passive Religion Bonus",
"passive_sleieghtofhand_bonus": "Passive Sleight of Hand Bonus",
"passive_stealth": "Passive Stealth",
"passive_stealth_bonus": "Passive Stealth Bonus",
"passive_survival_bonus": "Passive Survival Bonus",
"passive_vehicles_bonus": "Passive Vehicles Bonus",
"pc": "PC",
"perception": "Perception",
"perception_specialty": "",
"perception_exdice": "",
"perception_check_bonus": "Perception Check Bonus",
"performance": "Performance",
"performance_specialty": "",
"performance_exdice": "",
"performance_check_bonus": "Performance Check Bonus",
"persuasion": "Persuasion",
"persuasion_specialty": "",
"persuasion_exdice": "",
"persuasion_check_bonus": "Persuasion Check Bonus",
"pg": "pg #",
"piercing": "piercing",
"Planetouched": "Planetouched",
@@ -324,6 +364,7 @@
"religion": "Religion",
"religion_specialty": "",
"religion_exdice": "",
"religion_check_bonus": "Religion Check Bonus",
"revenge": "Revenge",
"Rogue": "Rogue",
"rules": "Rules",
@@ -345,6 +386,7 @@
"sleightofhand": "Sleight of Hand",
"sleightofhand_specialty": "",
"sleightofhand_exdice": "",
"sleightofhand_check_bonus": "Sleight of Hand Check Bonus",
"slots": "Slots",
"small": "Small",
"Soldier": "Soldier",
@@ -376,6 +418,7 @@
"stealth": "Stealth",
"stealth_specialty": "",
"stealth_exdice": "",
"stealth_check_bonus": "Stealth Check Bonus",
"Steamforged": "Steamforged",
"Stoic Orc": "Stoic Orc",
"Stoneworthy": "Stoneworthy",
@@ -391,6 +434,7 @@
"survival": "Survival",
"survival_specialty": "",
"survival_exdice": "",
"survival_check_bonus": "Survival Check Bonus",
"Swift Strategist": "Swift Strategist",
"swinging": "Swinging",
"Talented Tachician": "Talented Tachician",
@@ -418,6 +462,7 @@
"vehicles": "Vehicles",
"vehicles_specialty": "",
"vehicles_exdice": "",
"vehicles_check_bonus": "Vehicles Check Bonus",
"vermin": "Vermin",
"Villager": "Villager",
"Warchanter": "Warchanter",