damage bonus from str autocalculated

This commit is contained in:
TheLastScrub
2021-06-05 17:32:00 -07:00
parent 732ee809ac
commit aae286e517
5 changed files with 63 additions and 3 deletions
+4 -1
View File
@@ -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});
}
+25
View File
@@ -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);
}
+25
View File
@@ -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;
}
+2
View File
@@ -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});
+7 -2
View File
@@ -275,8 +275,13 @@
</h4>
{{#unless item.data.data.isLethal}}
<span class="rollable centered-item-property" data-rolltype="damage" data-target="damage" data-label="{{toUpperCase item.name}}" data-roll="{{toUpperCase item.data.data.damage}}">
{{toUpperCase item.data.data.damage}}</span>
<span class="rollable centered-item-property"
data-rolltype="damage"
data-target="damage"
data-label="{{toUpperCase item.name}}"
data-roll="{{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}}</span>
{{/unless}}
{{#if item.data.data.isLethal}}