diff --git a/module/actor/actor-sheet.js b/module/actor/actor-sheet.js
index 64c2623..0f2ab7d 100644
--- a/module/actor/actor-sheet.js
+++ b/module/actor/actor-sheet.js
@@ -318,7 +318,7 @@ export class DeltaGreenActorSheet extends ActorSheet {
}
if (dataset.roll) {
- //let roll = new Roll(dataset.roll, this.actor.data.data);
+
let key = dataset.label ? dataset.label : '';
let label = dataset.label ? `${dataset.label}` : '';
let targetVal = "";
@@ -382,6 +382,7 @@ export class DeltaGreenActorSheet extends ActorSheet {
_resetBreakingPoint(event){
event.preventDefault();
+
let currentBreakingPoint = 0;
currentBreakingPoint = this.actor.data.data.sanity.value - this.actor.data.data.statistics.pow.value;
@@ -391,7 +392,9 @@ export class DeltaGreenActorSheet extends ActorSheet {
}
let updatedData = duplicate(this.actor.data.data);
+
updatedData.sanity.currentBreakingPoint = currentBreakingPoint;
+
this.actor.update({"data": updatedData});
}
diff --git a/module/actor/actor.js b/module/actor/actor.js
index ebcdcf0..8e42a50 100644
--- a/module/actor/actor.js
+++ b/module/actor/actor.js
@@ -123,7 +123,32 @@ export class DeltaGreenActor extends Actor {
}
actorData.data.health.protection = protection;
+
+ // Damage Bonus/Malus From Strength in Hand-to-hand Combat (melee/unarmed)
+ let bonus = 0;
+ let sbonus = "";
+ let strength = actorData.data.statistics.str;
+
+ if(strength.value < 5){
+ sbonus = "-2";
+ bonus = -2;
+ }
+ else if(strength.value < 9){
+ sbonus = "-1";
+ bonus = -1;
+ }
+ else if(strength.value > 12 && strength.value < 17){
+ sbonus = "+1";
+ bonus = 1;
+ }
+ else if(strength.value > 16){
+ sbonus = "+2";
+ bonus = 2;
+ }
+ actorData.data.statistics.str.meleeDamageBonus = bonus;
+ actorData.data.statistics.str.meleeDamageBonusFormula = sbonus;
+
console.log(agent);
}
diff --git a/module/deltagreen.js b/module/deltagreen.js
index 8d84635..70e634b 100644
--- a/module/deltagreen.js
+++ b/module/deltagreen.js
@@ -133,6 +133,30 @@ Hooks.once('init', async function() {
}
});
+ Handlebars.registerHelper('calculateHandToHandCombatDamageFormulaBonus', function(strength) {
+ try {
+ let bonus = "";
+
+ if(strength.value < 5){
+ bonus = " - 2";
+ }
+ else if(strength.value < 9){
+ bonus = " - 1";
+ }
+ else if(strength.value > 12 && strength < 17){
+ bonus = " + 1";
+ }
+ else if(strength.value > 16){
+ bonus = " + 2";
+ }
+
+ return bonus;
+
+ } catch (error) {
+ console.log(error);
+ }
+ });
+
// looks at system setting for what font to use and returns the class that is then used in the handlebars template that
// generates the character sheet.
Handlebars.registerHelper('getFontFamilySystemSettingClass', function() {
@@ -221,6 +245,7 @@ async function createDeltaGreenMacro(data, slot) {
flags: { "deltagreen.itemMacro": true }
});
}
+
game.user.assignHotbarMacro(macro, slot);
return false;
}
diff --git a/module/roll/roll.js b/module/roll/roll.js
index 2625216..5dc86a9 100644
--- a/module/roll/roll.js
+++ b/module/roll/roll.js
@@ -235,6 +235,8 @@ export async function sendDamageRollToChat(actor, label, diceFormula, rollMode){
rollMode = game.settings.get("core", "rollMode");
}
+ diceFormula += actor.data.data.statistics.str.meleeDamageBonusFormula;
+
let roll = new Roll(diceFormula, actor.data.data);
await roll.evaluate({async: true});
diff --git a/templates/actor/actor-sheet.html b/templates/actor/actor-sheet.html
index 266e04b..e0ac6b3 100644
--- a/templates/actor/actor-sheet.html
+++ b/templates/actor/actor-sheet.html
@@ -275,8 +275,13 @@
{{#unless item.data.data.isLethal}}
-
- {{toUpperCase item.data.data.damage}}
+
+ {{toUpperCase item.data.data.damage}}{{#if_eq item.data.data.skill 'unarmed_combat'}}{{actor.data.data.statistics.str.meleeDamageBonusFormula}}{{/if_eq}}{{#if_eq item.data.data.skill 'melee_weapons'}}{{actor.data.data.statistics.str.meleeDamageBonusFormula}}{{/if_eq}}
{{/unless}}
{{#if item.data.data.isLethal}}