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}}