diff --git a/rpg-docs/Model/Character/Characters.js b/rpg-docs/Model/Character/Characters.js index 50b7156b..7ba2ac97 100644 --- a/rpg-docs/Model/Character/Characters.js +++ b/rpg-docs/Model/Character/Characters.js @@ -299,6 +299,7 @@ Characters.calculate = { var fieldSelector = {}; fieldSelector[fieldName] = 1; var char = Characters.findOne(charId, {fields: fieldSelector}); + if (!char) return; var field = char[fieldName]; if (field === undefined){ throw new Meteor.Error( @@ -332,6 +333,7 @@ Characters.calculate = { }, attributeValue: memoize(function(charId, attributeName){ var attribute = Characters.calculate.getField(charId, attributeName); + if (!attribute) return; //base value var value = Characters.calculate.attributeBase(charId, attributeName); //plus adjustment @@ -343,6 +345,7 @@ Characters.calculate = { }), skillMod: memoize(preventLoop(function(charId, skillName){ var skill = Characters.calculate.getField(charId, skillName); + if (!skill) return; //get the final value of the ability score var ability = Characters.calculate.attributeValue(charId, skill.ability); @@ -394,7 +397,6 @@ Characters.calculate = { return prof && prof.value || 0; }), passiveSkill: memoize(function(charId, skillName){ - var skill = Characters.calculate.getField(charId, skillName); var mod = +Characters.calculate.skillMod(charId, skillName); var value = 10 + mod; Effects.find( diff --git a/rpg-docs/client/globalHelpers/canEditCharacter.js b/rpg-docs/client/globalHelpers/canEditCharacter.js index 2de1b6d6..57d0ce6f 100644 --- a/rpg-docs/client/globalHelpers/canEditCharacter.js +++ b/rpg-docs/client/globalHelpers/canEditCharacter.js @@ -3,7 +3,8 @@ Template.registerHelper("canEditCharacter", function(charId) { }); canEditCharacter = function(charId) { - var char = Characters.findOne(charId) + var char = Characters.findOne(charId); + if (!char) return false; var userId = Meteor.userId(); return char.owner === userId || _.contains(char.writers, userId); diff --git a/rpg-docs/client/views/character/characterSettings/deleteCharacterConfirmation.js b/rpg-docs/client/views/character/characterSettings/deleteCharacterConfirmation.js index af8a64c2..fda5ba5c 100644 --- a/rpg-docs/client/views/character/characterSettings/deleteCharacterConfirmation.js +++ b/rpg-docs/client/views/character/characterSettings/deleteCharacterConfirmation.js @@ -10,7 +10,7 @@ Template.deleteCharacterConfirmation.helpers({ if (Template.instance().canDelete.get()) { return "background: #d23f31; color: white;"; } - } + }, }); Template.deleteCharacterConfirmation.events({ @@ -20,9 +20,7 @@ Template.deleteCharacterConfirmation.events({ }, "click #deleteButton": function(event, instance) { if (instance.find("#nameInput").value === this.name) { - popDialogStack(); - Router.go("/characterList"); - Characters.remove(this._id); + popDialogStack(true); } }, "click .cancelButton": function(event, instance){ diff --git a/rpg-docs/client/views/character/characterSheet.html b/rpg-docs/client/views/character/characterSheet.html index 3a4262a0..cc4c4d6d 100644 --- a/rpg-docs/client/views/character/characterSheet.html +++ b/rpg-docs/client/views/character/characterSheet.html @@ -1,7 +1,7 @@