@@ -2710,27 +2722,27 @@
str
-
+
dex
-
+
con
-
+
int
-
+
wis
-
+
cha
-
+
saves
@@ -2743,7 +2755,7 @@
( )
-
+
@@ -2754,7 +2766,7 @@
( )
-
+
@@ -2765,7 +2777,7 @@
( )
-
+
@@ -2776,7 +2788,7 @@
( )
-
+
@@ -2787,7 +2799,7 @@
( )
-
+
@@ -2798,7 +2810,7 @@
( )
-
+
@@ -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;