mirror of
https://github.com/Nighthawk42/roll20-character-sheets.git
synced 2026-08-30 03:40:32 +00:00
[Level Up - Advanced 5th Edition] Bug fix
**2023-02-07 ** v.19 Paul V Fixed Stat rolls and NPC Stat rolls and saves
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
Change Log
|
||||
==============================================
|
||||
**2023-02-07 ** v.19 Paul V
|
||||
Fixed Stat rolls and NPC Stat rolls and saves
|
||||
**2023-01-24 ** v.19 Paul V
|
||||
Fixed Initiative (Vehicles and Dex)
|
||||
**2022-12-12 ** v.18 Paul V
|
||||
|
||||
@@ -427,7 +427,9 @@
|
||||
<input data-i18n-placeholder="strength_mod" name="attr_strength_mod" placeholder="0" spellcheck="false" title="@{strength_mod}" type="number"/>
|
||||
</label>
|
||||
<label data-i18n-title="strengthroll" title="strengthroll">
|
||||
<button type="roll" name="attr_strengthroll"></button>
|
||||
<button type="roll" name="act_strength_roll" value="@{strength-action}"></button>
|
||||
<button type="action" name="act_strength-button" class="hidden"></button>
|
||||
<input type="hidden" name="attr_strength-action" value="">
|
||||
</label>
|
||||
<label data-i18n-title="strength_save_roll" title="strength_save_roll">
|
||||
<button type="roll" name="act_strength_save_roll" value="@{strengthsave-action}"></button>
|
||||
@@ -467,7 +469,9 @@
|
||||
<input data-i18n-placeholder="dexterity_mod" name="attr_dexterity_mod" placeholder="0" spellcheck="false" title="@{dexterity_mod}" type="number"/>
|
||||
</label>
|
||||
<label data-i18n-title="dexterityroll" title="dexterityroll">
|
||||
<button type="roll" name="attr_dexterityroll"></button>
|
||||
<button type="roll" name="act_dexterity_roll" value="@{dexterity-action}"></button>
|
||||
<button type="action" name="act_dexterity-button" class="hidden"></button>
|
||||
<input type="hidden" name="attr_dexterity-action" value="">
|
||||
</label>
|
||||
<label data-i18n-title="dexterity_save_roll" title="dexterity_save_roll">
|
||||
<button type="roll" name="act_dexterity_save_roll" value="@{dexteritysave-action}"></button>
|
||||
@@ -507,7 +511,9 @@
|
||||
<input data-i18n-placeholder="constitution_mod" name="attr_constitution_mod" placeholder="0" spellcheck="false" title="@{constitution_mod}" type="number"/>
|
||||
</label>
|
||||
<label data-i18n-title="constitutionroll" title="constitutionroll">
|
||||
<button type="roll" name="attr_constitutionroll"></button>
|
||||
<button type="roll" name="act_constitution_roll" value="@{constitution-action}"></button>
|
||||
<button type="action" name="act_constitution-button" class="hidden"></button>
|
||||
<input type="hidden" name="attr_constitution-action" value="">
|
||||
</label>
|
||||
<label data-i18n-title="constitution_save_roll" title="constitution_save_roll">
|
||||
<button type="roll" name="act_constitution_save_roll" value="@{constitutionsave-action}"></button>
|
||||
@@ -547,7 +553,9 @@
|
||||
<input data-i18n-placeholder="intelligence_mod" name="attr_intelligence_mod" placeholder="0" spellcheck="false" title="@{intelligence_mod}" type="number"/>
|
||||
</label>
|
||||
<label data-i18n-title="intelligenceroll" title="intelligenceroll">
|
||||
<button type="roll" name="attr_intelligenceroll"></button>
|
||||
<button type="roll" name="act_intelligence_roll" value="@{intelligence-action}"></button>
|
||||
<button type="action" name="act_intelligence-button" class="hidden"></button>
|
||||
<input type="hidden" name="attr_intelligence-action" value="">
|
||||
</label>
|
||||
<label data-i18n-title="intelligence_save_roll" title="intelligence_save_roll">
|
||||
<button type="roll" name="act_intelligence_save_roll" value="@{intelligencesave-action}"></button>
|
||||
@@ -587,7 +595,9 @@
|
||||
<input data-i18n-placeholder="wisdom_mod" name="attr_wisdom_mod" placeholder="0" spellcheck="false" title="@{wisdom_mod}" type="number"/>
|
||||
</label>
|
||||
<label data-i18n-title="wisdomroll" title="wisdomroll">
|
||||
<button type="roll" name="attr_wisdomroll"></button>
|
||||
<button type="roll" name="act_wisdom_roll" value="@{wisdom-action}"></button>
|
||||
<button type="action" name="act_wisdom-button" class="hidden"></button>
|
||||
<input type="hidden" name="attr_wisdom-action" value="">
|
||||
</label>
|
||||
<label data-i18n-title="wisdom_save_roll" title="wisdom_save_roll">
|
||||
<button type="roll" name="act_wisdom_save_roll" value="@{wisdomsave-action}"></button>
|
||||
@@ -627,7 +637,9 @@
|
||||
<input data-i18n-placeholder="charisma_mod" name="attr_charisma_mod" placeholder="0" spellcheck="false" title="@{charisma_mod}" type="number"/>
|
||||
</label>
|
||||
<label data-i18n-title="charismaroll" title="charismaroll">
|
||||
<button type="roll" name="attr_charismaroll"></button>
|
||||
<button type="roll" name="act_charisma_roll" value="@{charisma-action}"></button>
|
||||
<button type="action" name="act_charisma-button" class="hidden"></button>
|
||||
<input type="hidden" name="attr_charisma-action" value="">
|
||||
</label>
|
||||
<label data-i18n-title="charisma_save_roll" title="charisma_save_roll">
|
||||
<button type="roll" name="act_charisma_save_roll" value="@{charismasave-action}"></button>
|
||||
@@ -2710,27 +2722,27 @@
|
||||
<div class="sheet-statblock">
|
||||
<label data-i18n-title="str" title="str">
|
||||
<span data-i18n="str">str</span>
|
||||
<button type="roll" name="attr_strengthroll"></button>
|
||||
<button type="roll" name="act_strength_roll" value="@{strength-action}"></button>
|
||||
</label>
|
||||
<label data-i18n-title="dex" title="dex">
|
||||
<span data-i18n="dex">dex</span>
|
||||
<button type="roll" name="attr_dexterityroll"></button>
|
||||
<button type="roll" name="act_dexterity_roll" value="@{dexterity-action}"></button>
|
||||
</label>
|
||||
<label data-i18n-title="con" title="con">
|
||||
<span data-i18n="con">con</span>
|
||||
<button type="roll" name="attr_constitutionroll"></button>
|
||||
<button type="roll" name="act_constitution_roll" value="@{constitution-action}"></button>
|
||||
</label>
|
||||
<label data-i18n-title="int" title="int">
|
||||
<span data-i18n="int">int</span>
|
||||
<button type="roll" name="attr_intelligenceroll"></button>
|
||||
<button type="roll" name="act_intelligence_roll" value="@{intelligence-action}"></button>
|
||||
</label>
|
||||
<label data-i18n-title="wis" title="wis">
|
||||
<span data-i18n="wis">wis</span>
|
||||
<button type="roll" name="attr_wisdomroll"></button>
|
||||
<button type="roll" name="act_wisdom_roll" value="@{wisdom-action}"></button>
|
||||
</label>
|
||||
<label data-i18n-title="cha" title="cha">
|
||||
<span data-i18n="cha">cha</span>
|
||||
<button type="roll" name="attr_charismaroll"></button>
|
||||
<button type="roll" name="act_charisma_roll" value="@{charisma-action}"></button>
|
||||
</label>
|
||||
<label data-i18n-title="save" title="save">
|
||||
<span data-i18n="save">saves</span>
|
||||
@@ -2743,7 +2755,7 @@
|
||||
</label>
|
||||
<label data-i18n-title="strength_save_mod" title="strength_save_mod">
|
||||
(<input data-i18n-placeholder="strength_save_mod" name="attr_strength_save_mod" placeholder="0" spellcheck="false" title="@{strength_save_mod}" type="number"/>)
|
||||
<button type="roll" name="attr_strength_save_roll"></button>
|
||||
<button type="roll" name="act_strength_save_roll" value="@{strengthsave-action}"></button>
|
||||
<input data-i18n-placeholder="strength_save_prof" name="attr_strength_save_prof" title="@{strength_save_prof}" type="checkbox" value="1"/>
|
||||
</label>
|
||||
<label data-i18n-title="dexteritystat" title="dexteritystat">
|
||||
@@ -2754,7 +2766,7 @@
|
||||
</label>
|
||||
<label data-i18n-title="dexterity_save_mod" title="dexterity_save_mod">
|
||||
(<input data-i18n-placeholder="dexterity_save_mod" name="attr_dexterity_save_mod" placeholder="0" spellcheck="false" title="@{dexterity_save_mod}" type="number"/>)
|
||||
<button type="roll" name="attr_dexterity_save_roll"></button>
|
||||
<button type="roll" name="act_dexterity_save_roll" value="@{dexteritysave-action}"></button>
|
||||
<input data-i18n-placeholder="dexterity_save_prof" name="attr_dexterity_save_prof" title="@{dexterity_save_prof}" type="checkbox" value="1"/>
|
||||
</label>
|
||||
<label data-i18n-title="constitutionstat" title="constitutionstat">
|
||||
@@ -2765,7 +2777,7 @@
|
||||
</label>
|
||||
<label data-i18n-title="constitution_save_mod" title="constitution_save_mod">
|
||||
(<input data-i18n-placeholder="constitution_save_mod" name="attr_constitution_save_mod" placeholder="0" spellcheck="false" title="@{constitution_save_mod}" type="number"/>)
|
||||
<button type="roll" name="attr_constitution_save_roll"></button>
|
||||
<button type="roll" name="act_constitution_save_roll" value="@{constitutionsave-action}"></button>
|
||||
<input data-i18n-placeholder="constitution_save_prof" name="attr_constitution_save_prof" title="@{constitution_save_prof}" type="checkbox" value="1"/>
|
||||
</label>
|
||||
<label data-i18n-title="intelligencestat" title="intelligencestat">
|
||||
@@ -2776,7 +2788,7 @@
|
||||
</label>
|
||||
<label data-i18n-title="intelligence_save_mod" title="intelligence_save_mod">
|
||||
(<input data-i18n-placeholder="intelligence_save_mod" name="attr_intelligence_save_mod" placeholder="0" spellcheck="false" title="@{intelligence_save_mod}" type="number"/>)
|
||||
<button type="roll" name="attr_intelligence_save_roll"></button>
|
||||
<button type="roll" name="act_intelligence_save_roll" value="@{intelligencesave-action}"></button>
|
||||
<input data-i18n-placeholder="intelligence_save_prof" name="attr_intelligence_save_prof" title="@{intelligence_save_prof}" type="checkbox" value="1"/>
|
||||
</label>
|
||||
<label data-i18n-title="wisdomstat" title="wisdomstat">
|
||||
@@ -2787,7 +2799,7 @@
|
||||
</label>
|
||||
<label data-i18n-title="wisdom_save_mod" title="wisdom_save_mod">
|
||||
(<input data-i18n-placeholder="wisdom_save_mod" name="attr_wisdom_save_mod" placeholder="0" spellcheck="false" title="@{wisdom_save_mod}" type="number"/>)
|
||||
<button type="roll" name="attr_wisdom_save_roll"></button>
|
||||
<button type="roll" name="act_wisdom_save_roll" value="@{wisdomsave-action}"></button>
|
||||
<input data-i18n-placeholder="wisdom_save_prof" name="attr_wisdom_save_prof" title="@{wisdom_save_prof}" type="checkbox" value="1"/>
|
||||
</label>
|
||||
<label data-i18n-title="charismastat" title="charismastat">
|
||||
@@ -2798,7 +2810,7 @@
|
||||
</label>
|
||||
<label data-i18n-title="charisma_save_mod" title="charisma_save_mod">
|
||||
(<input data-i18n-placeholder="charisma_save_mod" name="attr_charisma_save_mod" placeholder="0" spellcheck="false" title="@{charisma_save_mod}" type="number"/>)
|
||||
<button type="roll" name="attr_charisma_save_roll"></button>
|
||||
<button type="roll" name="act_charisma_save_roll" value="@{charismasave-action}"></button>
|
||||
<input data-i18n-placeholder="charisma_save_prof" name="attr_charisma_save_prof" title="@{charisma_save_prof}" type="checkbox" value="1"/>
|
||||
</label>
|
||||
</div>
|
||||
@@ -3833,6 +3845,12 @@ on("sheet:opened change:character_name", function(eventInfo) {
|
||||
attrsToChange["initiative-action"] = "%{" + v["character_name"] + "|initiative-button}";
|
||||
attrsToChange["hitdice-action"] = "%{" + v["character_name"] + "|hitdice-button}";
|
||||
attrsToChange["deathsave-action"] = "%{" + v["character_name"] + "|deathsave-button}";
|
||||
attrsToChange["strength-action"] = "%{" + v["character_name"] + "|strength-button}";
|
||||
attrsToChange["dexterity-action"] = "%{" + v["character_name"] + "|dexterity-button}";
|
||||
attrsToChange["constitution-action"] = "%{" + v["character_name"] + "|constitution-button}";
|
||||
attrsToChange["intelligence-action"] = "%{" + v["character_name"] + "|intelligence-button}";
|
||||
attrsToChange["wisdom-action"] = "%{" + v["character_name"] + "|wisdom-button}";
|
||||
attrsToChange["charisma-action"] = "%{" + v["character_name"] + "|charisma-button}";
|
||||
attrsToChange["strengthsave-action"] = "%{" + v["character_name"] + "|strengthsave-button}";
|
||||
attrsToChange["dexteritysave-action"] = "%{" + v["character_name"] + "|dexteritysave-button}";
|
||||
attrsToChange["constitutionsave-action"] = "%{" + v["character_name"] + "|constitutionsave-button}";
|
||||
@@ -4041,6 +4059,22 @@ on("sheet:opened change:character_name", function(eventInfo) {
|
||||
});
|
||||
});
|
||||
|
||||
on('clicked:strength-button', async (info) => {
|
||||
const values = await getAttrsAsync(['character_name','strength_mod','rolladvdis','rollgmnormal']);
|
||||
const bonus = parseInt(values.strength_mod)||0;
|
||||
const charname = values.character_name || "";
|
||||
const rolladvdis = values.rolladvdis||"sta";
|
||||
const rollgmnormal = values.rollgmnormal||"normal";
|
||||
|
||||
var diceroll = "1d20";
|
||||
if (rolladvdis == "adv") {diceroll = "2d20kh1";};
|
||||
if (rolladvdis == "dis") {diceroll = "2d20dh1";};
|
||||
|
||||
var gmroll = "";
|
||||
if (rollgmnormal == "gm") { gmroll = "/w gm ";}
|
||||
const results = await startRoll( gmroll+"&{template:default} {{name="+charname+" Strength Roll}}{{save=[["+diceroll+"+"+bonus+"]]}}");
|
||||
finishRoll(results.rollId);
|
||||
});
|
||||
on('clicked:strengthsave-button', async (info) => {
|
||||
const values = await getAttrsAsync(['character_name','strength_save_mod','strength_save_bonus','globalsavebonus','rolladvdis','rollgmnormal']);
|
||||
const savemod = parseInt(values.strength_save_mod)||0;
|
||||
@@ -4061,6 +4095,22 @@ on('clicked:strengthsave-button', async (info) => {
|
||||
const results = await startRoll( gmroll+"&{template:default} {{name="+charname+" Strength Save}}{{save=[["+diceroll+"+"+bonus+"]]}}");
|
||||
finishRoll(results.rollId);
|
||||
});
|
||||
on('clicked:dexterity-button', async (info) => {
|
||||
const values = await getAttrsAsync(['character_name','dexterity_mod','rolladvdis','rollgmnormal']);
|
||||
const bonus = parseInt(values.dexterity_mod)||0;
|
||||
const charname = values.character_name || "";
|
||||
const rolladvdis = values.rolladvdis||"sta";
|
||||
const rollgmnormal = values.rollgmnormal||"normal";
|
||||
|
||||
var diceroll = "1d20";
|
||||
if (rolladvdis == "adv") {diceroll = "2d20kh1";};
|
||||
if (rolladvdis == "dis") {diceroll = "2d20dh1";};
|
||||
|
||||
var gmroll = "";
|
||||
if (rollgmnormal == "gm") { gmroll = "/w gm ";}
|
||||
const results = await startRoll( gmroll+"&{template:default} {{name="+charname+" dexterity Roll}}{{save=[["+diceroll+"+"+bonus+"]]}}");
|
||||
finishRoll(results.rollId);
|
||||
});
|
||||
on('clicked:dexteritysave-button', async (info) => {
|
||||
const values = await getAttrsAsync(['character_name','dexterity_save_mod','dexterity_save_bonus','globalsavebonus','rolladvdis','rollgmnormal']);
|
||||
const savemod = parseInt(values.dexterity_save_mod)||0;
|
||||
@@ -4081,6 +4131,22 @@ on('clicked:dexteritysave-button', async (info) => {
|
||||
const results = await startRoll( gmroll+"&{template:default} {{name="+charname+" Dexterity Save}}{{save=[["+diceroll+"+"+bonus+"]]}}");
|
||||
finishRoll(results.rollId);
|
||||
});
|
||||
on('clicked:constitution-button', async (info) => {
|
||||
const values = await getAttrsAsync(['character_name','constitution_mod','rolladvdis','rollgmnormal']);
|
||||
const bonus = parseInt(values.constitution_mod)||0;
|
||||
const charname = values.character_name || "";
|
||||
const rolladvdis = values.rolladvdis||"sta";
|
||||
const rollgmnormal = values.rollgmnormal||"normal";
|
||||
|
||||
var diceroll = "1d20";
|
||||
if (rolladvdis == "adv") {diceroll = "2d20kh1";};
|
||||
if (rolladvdis == "dis") {diceroll = "2d20dh1";};
|
||||
|
||||
var gmroll = "";
|
||||
if (rollgmnormal == "gm") { gmroll = "/w gm ";}
|
||||
const results = await startRoll( gmroll+"&{template:default} {{name="+charname+" Constitution Roll}}{{save=[["+diceroll+"+"+bonus+"]]}}");
|
||||
finishRoll(results.rollId);
|
||||
});
|
||||
on('clicked:constitutionsave-button', async (info) => {
|
||||
const values = await getAttrsAsync(['character_name','constitution_save_mod','constitution_save_bonus','globalsavebonus','rolladvdis','rollgmnormal']);
|
||||
const savemod = parseInt(values.constitution_save_mod)||0;
|
||||
@@ -4101,6 +4167,22 @@ on('clicked:constitutionsave-button', async (info) => {
|
||||
const results = await startRoll( gmroll+"&{template:default} {{name="+charname+" Constitution Save}}{{save=[["+diceroll+"+"+bonus+"]]}}");
|
||||
finishRoll(results.rollId);
|
||||
});
|
||||
on('clicked:intelligence-button', async (info) => {
|
||||
const values = await getAttrsAsync(['character_name','intelligence_mod','rolladvdis','rollgmnormal']);
|
||||
const bonus = parseInt(values.intelligence_mod)||0;
|
||||
const charname = values.character_name || "";
|
||||
const rolladvdis = values.rolladvdis||"sta";
|
||||
const rollgmnormal = values.rollgmnormal||"normal";
|
||||
|
||||
var diceroll = "1d20";
|
||||
if (rolladvdis == "adv") {diceroll = "2d20kh1";};
|
||||
if (rolladvdis == "dis") {diceroll = "2d20dh1";};
|
||||
|
||||
var gmroll = "";
|
||||
if (rollgmnormal == "gm") { gmroll = "/w gm ";}
|
||||
const results = await startRoll( gmroll+"&{template:default} {{name="+charname+" Intelligence Roll}}{{save=[["+diceroll+"+"+bonus+"]]}}");
|
||||
finishRoll(results.rollId);
|
||||
});
|
||||
on('clicked:intelligencesave-button', async (info) => {
|
||||
const values = await getAttrsAsync(['character_name','intelligence_save_mod','intelligence_save_bonus','globalsavebonus','rolladvdis','rollgmnormal']);
|
||||
const savemod = parseInt(values.intelligence_save_mod)||0;
|
||||
@@ -4121,6 +4203,22 @@ on('clicked:intelligencesave-button', async (info) => {
|
||||
const results = await startRoll( gmroll+"&{template:default} {{name="+charname+" Intelligence Save}}{{save=[["+diceroll+"+"+bonus+"]]}}");
|
||||
finishRoll(results.rollId);
|
||||
});
|
||||
on('clicked:wisdom-button', async (info) => {
|
||||
const values = await getAttrsAsync(['character_name','wisdom_mod','rolladvdis','rollgmnormal']);
|
||||
const bonus = parseInt(values.wisdom_mod)||0;
|
||||
const charname = values.character_name || "";
|
||||
const rolladvdis = values.rolladvdis||"sta";
|
||||
const rollgmnormal = values.rollgmnormal||"normal";
|
||||
|
||||
var diceroll = "1d20";
|
||||
if (rolladvdis == "adv") {diceroll = "2d20kh1";};
|
||||
if (rolladvdis == "dis") {diceroll = "2d20dh1";};
|
||||
|
||||
var gmroll = "";
|
||||
if (rollgmnormal == "gm") { gmroll = "/w gm ";}
|
||||
const results = await startRoll( gmroll+"&{template:default} {{name="+charname+" Wisdom Roll}}{{save=[["+diceroll+"+"+bonus+"]]}}");
|
||||
finishRoll(results.rollId);
|
||||
});
|
||||
on('clicked:wisdomsave-button', async (info) => {
|
||||
const values = await getAttrsAsync(['character_name','wisdom_save_mod','wisdom_save_bonus','globalsavebonus','rolladvdis','rollgmnormal']);
|
||||
const savemod = parseInt(values.wisdom_save_mod)||0;
|
||||
@@ -4141,6 +4239,22 @@ on('clicked:wisdomsave-button', async (info) => {
|
||||
const results = await startRoll( gmroll+"&{template:default} {{name="+charname+" Wisdom Save}}{{save=[["+diceroll+"+"+bonus+"]]}}");
|
||||
finishRoll(results.rollId);
|
||||
});
|
||||
on('clicked:charisma-button', async (info) => {
|
||||
const values = await getAttrsAsync(['character_name','charisma_mod','rolladvdis','rollgmnormal']);
|
||||
const bonus = parseInt(values.charisma_mod)||0;
|
||||
const charname = values.character_name || "";
|
||||
const rolladvdis = values.rolladvdis||"sta";
|
||||
const rollgmnormal = values.rollgmnormal||"normal";
|
||||
|
||||
var diceroll = "1d20";
|
||||
if (rolladvdis == "adv") {diceroll = "2d20kh1";};
|
||||
if (rolladvdis == "dis") {diceroll = "2d20dh1";};
|
||||
|
||||
var gmroll = "";
|
||||
if (rollgmnormal == "gm") { gmroll = "/w gm ";}
|
||||
const results = await startRoll( gmroll+"&{template:default} {{name="+charname+" Charisma Roll}}{{save=[["+diceroll+"+"+bonus+"]]}}");
|
||||
finishRoll(results.rollId);
|
||||
});
|
||||
on('clicked:charismasave-button', async (info) => {
|
||||
const values = await getAttrsAsync(['character_name','charisma_save_mod','charisma_save_bonus','globalsavebonus','rolladvdis','rollgmnormal']);
|
||||
const savemod = parseInt(values.charisma_save_mod)||0;
|
||||
|
||||
Reference in New Issue
Block a user