diff --git a/app/imports/api/creature/creatures/methods/removeCreature.js b/app/imports/api/creature/creatures/methods/removeCreature.js index 66eaa0b4..d157f5d7 100644 --- a/app/imports/api/creature/creatures/methods/removeCreature.js +++ b/app/imports/api/creature/creatures/methods/removeCreature.js @@ -3,11 +3,13 @@ import { ValidatedMethod } from 'meteor/mdg:validated-method'; import { RateLimiterMixin } from 'ddp-rate-limiter-mixin'; import { assertOwnership } from '/imports/api/creature/creatures/creaturePermissions.js'; import Creatures from '/imports/api/creature/creatures/Creatures.js'; +import CreatureVariables from '/imports/api/creature/creatures/CreatureVariables.js'; import CreatureProperties from '/imports/api/creature/creatureProperties/CreatureProperties.js'; import CreatureLogs from '/imports/api/creature/log/CreatureLogs.js'; import Experiences from '/imports/api/creature/experience/Experiences.js'; function removeRelatedDocuments(creatureId){ + CreatureVariables.remove({_creatureId: creatureId}); CreatureProperties.remove({'ancestors.id': creatureId}); CreatureLogs.remove({creatureId}); Experiences.remove({creatureId}); diff --git a/app/imports/api/engine/computation/writeComputation/writeScope.js b/app/imports/api/engine/computation/writeComputation/writeScope.js index 04858b8f..1c5bfde3 100644 --- a/app/imports/api/engine/computation/writeComputation/writeScope.js +++ b/app/imports/api/engine/computation/writeComputation/writeScope.js @@ -1,9 +1,9 @@ import CreatureVariables from '/imports/api/creature/creatures/CreatureVariables.js'; import Creatures from '/imports/api/creature/creatures/Creatures.js'; import { EJSON } from 'meteor/ejson'; -import { omitBy } from 'lodash'; export default function writeScope(creatureId, computation) { + if (!creatureId) throw 'creatureId is required'; const scope = computation.scope; const variables = computation.variables || {}; delete variables._id; @@ -50,7 +50,7 @@ export default function writeScope(creatureId, computation) { if ($unset) update.$unset = $unset; CreatureVariables.upsert({_creatureId: creatureId}, update); } - if (computation.creature.dirty) { + if (computation.creature?.dirty) { Creatures.update({_creatureId: creatureId}, {$unset: { dirty: 1 }}); } } diff --git a/app/imports/ui/creature/character/CharacterSheet.vue b/app/imports/ui/creature/character/CharacterSheet.vue index 9edaf0fb..0b4870f0 100644 --- a/app/imports/ui/creature/character/CharacterSheet.vue +++ b/app/imports/ui/creature/character/CharacterSheet.vue @@ -129,6 +129,16 @@ if