diff --git a/rpg-docs/client/views/character/stats/skillDialog/skillDialog.html b/rpg-docs/client/views/character/stats/skillDialog/skillDialog.html index 8edf4caa..a0918755 100644 --- a/rpg-docs/client/views/character/stats/skillDialog/skillDialog.html +++ b/rpg-docs/client/views/character/stats/skillDialog/skillDialog.html @@ -61,6 +61,18 @@ Total {{characterCalculate "skillMod" charId skillName}} + {{#each passiveEffects}} + + {{sourceName}} + Passive Bonus: {{statValue}} + + {{/each}} + {{#if showPassiveTotal}} + + Passive Score + {{characterCalculate "passiveSkill" charId skillName}} + + {{/if}} diff --git a/rpg-docs/client/views/character/stats/skillDialog/skillDialog.js b/rpg-docs/client/views/character/stats/skillDialog/skillDialog.js index 759c1f11..d3b5f6cd 100644 --- a/rpg-docs/client/views/character/stats/skillDialog/skillDialog.js +++ b/rpg-docs/client/views/character/stats/skillDialog/skillDialog.js @@ -122,7 +122,7 @@ Template.skillDialogView.helpers({ var char = Characters.findOne(this.charId); if (!char) return; var prof = Characters.calculate.proficiency(this.charId, this.skillName); - var proficiencyBonus = + var proficiencyBonus = Characters.calculate.attributeValue(this.charId, "proficiencyBonus"); return prof * proficiencyBonus; }, @@ -189,6 +189,23 @@ Template.skillDialogView.helpers({ enabled: true, }); }, + passiveEffects: function(){ + return Effects.find({ + charId: this.charId, + stat: this.skillName, + operation: "passiveAdd", + enabled: true, + }); + }, + showPassiveTotal: function(){ + if (this.skillName === "perception") return true; + return Effects.find({ + charId: this.charId, + stat: this.skillName, + operation: "passiveAdd", + enabled: true, + }).count(); + }, ability: function(){ var opts = {fields: {}}; opts.fields[this.skillName] = 1; diff --git a/rpg-docs/client/views/character/stats/skillRow/skillRow.html b/rpg-docs/client/views/character/stats/skillRow/skillRow.html index 0b01f919..207dbac2 100644 --- a/rpg-docs/client/views/character/stats/skillRow/skillRow.html +++ b/rpg-docs/client/views/character/stats/skillRow/skillRow.html @@ -14,7 +14,7 @@ {{#if conditionalCount}} * {{/if}} - {{#if showPassive}} + {{#if isPassiveShown}} ({{characterCalculate "passiveSkill" ../_id skill}}) {{/if}} diff --git a/rpg-docs/client/views/character/stats/skillRow/skillRow.js b/rpg-docs/client/views/character/stats/skillRow/skillRow.js index 20915294..25a15d6c 100644 --- a/rpg-docs/client/views/character/stats/skillRow/skillRow.js +++ b/rpg-docs/client/views/character/stats/skillRow/skillRow.js @@ -38,4 +38,16 @@ Template.skillRow.helpers({ operation: "conditional", }).count(); }, + isPassiveShown: function(){ + if (this.showPassive === "forced") return true; + if (this.showPassive === "ifNeeded"){ + var charId = Template.parentData()._id; + return Effects.find({ + charId, + stat: this.skill, + operation: "passiveAdd", + enabled: true, + }).count(); + } + }, }); diff --git a/rpg-docs/client/views/character/stats/stats.html b/rpg-docs/client/views/character/stats/stats.html index 3a5ce782..3cde018b 100644 --- a/rpg-docs/client/views/character/stats/stats.html +++ b/rpg-docs/client/views/character/stats/stats.html @@ -49,24 +49,24 @@ Skills
- {{> skillRow name="Acrobatics" skill="acrobatics"}} - {{> skillRow name="Animal Handling" skill="animalHandling"}} - {{> skillRow name="Arcana" skill="arcana"}} - {{> skillRow name="Athletics" skill="athletics"}} - {{> skillRow name="Deception" skill="deception"}} - {{> skillRow name="History" skill="history"}} - {{> skillRow name="Insight" skill="insight"}} - {{> skillRow name="Intimidation" skill="intimidation"}} - {{> skillRow name="Investigation" skill="investigation"}} - {{> skillRow name="Medicine" skill="medicine"}} - {{> skillRow name="Nature" skill="nature"}} - {{> skillRow name="Perception" skill="perception" showPassive="true"}} - {{> skillRow name="Performance" skill="performance"}} - {{> skillRow name="Persuasion" skill="persuasion"}} - {{> skillRow name="Religion" skill="religion"}} - {{> skillRow name="Sleight of Hand" skill="sleightOfHand"}} - {{> skillRow name="Stealth" skill="stealth"}} - {{> skillRow name="Survival" skill="survival"}} + {{> skillRow name="Acrobatics" skill="acrobatics" showPassive="ifNeeded"}} + {{> skillRow name="Animal Handling" skill="animalHandling" showPassive="ifNeeded"}} + {{> skillRow name="Arcana" skill="arcana" showPassive="ifNeeded"}} + {{> skillRow name="Athletics" skill="athletics" showPassive="ifNeeded"}} + {{> skillRow name="Deception" skill="deception" showPassive="ifNeeded"}} + {{> skillRow name="History" skill="history" showPassive="ifNeeded"}} + {{> skillRow name="Insight" skill="insight" showPassive="ifNeeded"}} + {{> skillRow name="Intimidation" skill="intimidation" showPassive="ifNeeded"}} + {{> skillRow name="Investigation" skill="investigation" showPassive="ifNeeded"}} + {{> skillRow name="Medicine" skill="medicine" showPassive="ifNeeded"}} + {{> skillRow name="Nature" skill="nature" showPassive="ifNeeded"}} + {{> skillRow name="Perception" skill="perception" showPassive="forced"}} + {{> skillRow name="Performance" skill="performance" showPassive="ifNeeded"}} + {{> skillRow name="Persuasion" skill="persuasion" showPassive="ifNeeded"}} + {{> skillRow name="Religion" skill="religion" showPassive="ifNeeded"}} + {{> skillRow name="Sleight of Hand" skill="sleightOfHand" showPassive="ifNeeded"}} + {{> skillRow name="Stealth" skill="stealth" showPassive="ifNeeded"}} + {{> skillRow name="Survival" skill="survival" showPassive="ifNeeded"}}