diff --git a/src/module/actor/character-sheet.js b/src/module/actor/character-sheet.js index a70b192..b0b6fa2 100644 --- a/src/module/actor/character-sheet.js +++ b/src/module/actor/character-sheet.js @@ -75,6 +75,29 @@ export class OseActorSheetCharacter extends OseActorSheet { encumbered: totalWeight > data.data.encumbrance.max, value: totalWeight }; + + // Compute AC + if (data.config.ascendingAC) { + let baseAc = 10; + data.owned.armors.forEach(a => { + if (a.data.equipped) { + baseAc += a.data.aac.value; + } + }) + data.data.aac.value = baseAc + data.data.scores.dex.mod; + + } else { + let baseAc = 9; + let shield = 0; + data.owned.armors.forEach(a => { + if (a.data.equipped && a.data.type != 'shield') { + baseAc = a.data.ac.value; + } else if (a.data.equipped && a.data.type == 'shield') { + shield = a.data.ac.value; + } + }) + data.data.ac.value = baseAc - data.data.scores.dex.mod - shield; + } return data; } diff --git a/src/module/actor/entity.js b/src/module/actor/entity.js index d41bd55..7ffd248 100644 --- a/src/module/actor/entity.js +++ b/src/module/actor/entity.js @@ -11,7 +11,6 @@ export class OseActor extends Actor { // Compute modifiers from actor scores this.computeModifiers(); - this.computeAttack(); // Determine Initiative if (game.settings.get("ose", "individualInit")) { @@ -375,21 +374,4 @@ export class OseActor extends Actor { data.scores.dex.init = OseActor._cappedMod(this.data.data.scores.dex.value); data.scores.cha.npc = OseActor._cappedMod(this.data.data.scores.cha.value); } - - computeAttack() { - const data = this.data.data; - let ascending = game.settings.get("ose", "ascendingAC"); - data.thac0.missile = ascending ? data.thac0.bba : data.thac0.value; - data.thac0.melee = ascending ? data.thac0.bba : data.thac0.value; - if (this.data.type != "character") { - return; - } - if (ascending) { - data.thac0.missile += data.scores.dex.mod + data.thac0.mod.missile; - data.thac0.melee += data.scores.str.mod + data.thac0.mod.melee; - } else { - data.thac0.missile -= data.scores.dex.mod - data.thac0.mod.missile; - data.thac0.melee -= data.scores.str.mod - data.thac0.mod.melee; - } - } } diff --git a/src/templates/actors/partials/character-attributes-tab.html b/src/templates/actors/partials/character-attributes-tab.html index 66e1b5c..674cd75 100644 --- a/src/templates/actors/partials/character-attributes-tab.html +++ b/src/templates/actors/partials/character-attributes-tab.html @@ -113,12 +113,12 @@