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 @@
+ | 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"}}