diff --git a/app/client/main.js b/app/client/main.js index 959fa76f..7bb6b916 100644 --- a/app/client/main.js +++ b/app/client/main.js @@ -1,3 +1,2 @@ import '/imports/ui/vueSetup.js'; import '/imports/ui/styles/stylesIndex.js'; -import '/imports/ui/styles/stylesIndex.js'; diff --git a/app/imports/api/creature/actions/castSpellWithSlot.js b/app/imports/api/creature/actions/castSpellWithSlot.js index 9b97b8e2..3a80ff5f 100644 --- a/app/imports/api/creature/actions/castSpellWithSlot.js +++ b/app/imports/api/creature/actions/castSpellWithSlot.js @@ -4,7 +4,7 @@ import { RateLimiterMixin } from 'ddp-rate-limiter-mixin'; import CreatureProperties, { getCreature } from '/imports/api/creature/creatureProperties/CreatureProperties.js'; import { damagePropertyWork } from '/imports/api/creature/creatureProperties/methods/damageProperty.js'; import { assertEditPermission } from '/imports/api/creature/creaturePermissions.js'; -import { recomputeCreatureByDoc } from '/imports/api/creature/computation/recomputeCreature.js'; +import { recomputeCreatureByDoc } from '/imports/api/creature/computation/methods/recomputeCreature.js'; import { doActionWork } from '/imports/api/creature/actions/doAction.js'; const castSpellWithSlot = new ValidatedMethod({ diff --git a/app/imports/api/creature/actions/doAction.js b/app/imports/api/creature/actions/doAction.js index d118d9f6..8c1e3a7c 100644 --- a/app/imports/api/creature/actions/doAction.js +++ b/app/imports/api/creature/actions/doAction.js @@ -5,7 +5,7 @@ import CreatureProperties from '/imports/api/creature/creatureProperties/Creatur import Creatures from '/imports/api/creature/Creatures.js'; import getRootCreatureAncestor from '/imports/api/creature/creatureProperties/getRootCreatureAncestor.js'; import { assertEditPermission } from '/imports/api/creature/creaturePermissions.js'; -import { recomputeCreatureByDoc } from '/imports/api/creature/computation/recomputeCreature.js'; +import { recomputeCreatureByDoc } from '/imports/api/creature/computation/methods/recomputeCreature.js'; import { nodesToTree } from '/imports/api/parenting/parenting.js'; import applyProperties from '/imports/api/creature/actions/applyProperties.js'; diff --git a/app/imports/api/creature/computation/ComputationMemo.js b/app/imports/api/creature/computation/engine/ComputationMemo.js similarity index 99% rename from app/imports/api/creature/computation/ComputationMemo.js rename to app/imports/api/creature/computation/engine/ComputationMemo.js index 43eb2c46..8bf93765 100644 --- a/app/imports/api/creature/computation/ComputationMemo.js +++ b/app/imports/api/creature/computation/engine/ComputationMemo.js @@ -1,5 +1,5 @@ import { includes, cloneDeep } from 'lodash'; -import findAncestorByType from '/imports/api/creature/computation/findAncestorByType.js'; +import findAncestorByType from '/imports/api/creature/computation/engine/findAncestorByType.js'; // The computation memo is an in-memory data structure used only during the // computation process diff --git a/app/imports/api/creature/computation/EffectAggregator.js b/app/imports/api/creature/computation/engine/EffectAggregator.js similarity index 98% rename from app/imports/api/creature/computation/EffectAggregator.js rename to app/imports/api/creature/computation/engine/EffectAggregator.js index e24f1ac6..61535e9b 100644 --- a/app/imports/api/creature/computation/EffectAggregator.js +++ b/app/imports/api/creature/computation/engine/EffectAggregator.js @@ -1,4 +1,4 @@ -import evaluateCalculation from '/imports/api/creature/computation/evaluateCalculation.js'; +import evaluateCalculation from '/imports/api/creature/computation/engine/evaluateCalculation.js'; export default class EffectAggregator{ constructor(stat, memo){ diff --git a/app/imports/api/creature/computation/applyToggles.js b/app/imports/api/creature/computation/engine/applyToggles.js similarity index 80% rename from app/imports/api/creature/computation/applyToggles.js rename to app/imports/api/creature/computation/engine/applyToggles.js index 16720f51..7d7c1a4e 100644 --- a/app/imports/api/creature/computation/applyToggles.js +++ b/app/imports/api/creature/computation/engine/applyToggles.js @@ -1,4 +1,4 @@ -import computeToggle from '/imports/api/creature/computation/computeToggle.js'; +import computeToggle from '/imports/api/creature/computation/engine/computeToggle.js'; export default function applyToggles(prop, memo){ prop.computationDetails.toggleAncestors.forEach(toggleId => { diff --git a/app/imports/api/creature/computation/combineStat.js b/app/imports/api/creature/computation/engine/combineStat.js similarity index 96% rename from app/imports/api/creature/computation/combineStat.js rename to app/imports/api/creature/computation/engine/combineStat.js index 9449ea65..6fd251c4 100644 --- a/app/imports/api/creature/computation/combineStat.js +++ b/app/imports/api/creature/computation/engine/combineStat.js @@ -1,6 +1,6 @@ -import computeStat from '/imports/api/creature/computation/computeStat.js'; -import applyToggles from '/imports/api/creature/computation/applyToggles.js'; -import evaluateCalculation from '/imports/api/creature/computation/evaluateCalculation.js'; +import computeStat from '/imports/api/creature/computation/engine/computeStat.js'; +import applyToggles from '/imports/api/creature/computation/engine/applyToggles.js'; +import evaluateCalculation from '/imports/api/creature/computation/engine/evaluateCalculation.js'; export default function combineStat(stat, aggregator, memo){ if (stat.type === 'attribute'){ diff --git a/app/imports/api/creature/computation/computeEffect.js b/app/imports/api/creature/computation/engine/computeEffect.js similarity index 93% rename from app/imports/api/creature/computation/computeEffect.js rename to app/imports/api/creature/computation/engine/computeEffect.js index 84ab4427..28985057 100644 --- a/app/imports/api/creature/computation/computeEffect.js +++ b/app/imports/api/creature/computation/engine/computeEffect.js @@ -1,5 +1,5 @@ -import evaluateCalculation from '/imports/api/creature/computation/evaluateCalculation.js'; -import applyToggles from '/imports/api/creature/computation/applyToggles.js'; +import evaluateCalculation from '/imports/api/creature/computation/engine/evaluateCalculation.js'; +import applyToggles from '/imports/api/creature/computation/engine/applyToggles.js'; export default function computeEffect(effect, memo){ if (effect.computationDetails.computed) return; diff --git a/app/imports/api/creature/computation/computeEndStepProperty.js b/app/imports/api/creature/computation/engine/computeEndStepProperty.js similarity index 99% rename from app/imports/api/creature/computation/computeEndStepProperty.js rename to app/imports/api/creature/computation/engine/computeEndStepProperty.js index 57f4be16..b322845f 100644 --- a/app/imports/api/creature/computation/computeEndStepProperty.js +++ b/app/imports/api/creature/computation/engine/computeEndStepProperty.js @@ -1,4 +1,4 @@ -import evaluateCalculation from '/imports/api/creature/computation/evaluateCalculation.js'; +import evaluateCalculation from '/imports/api/creature/computation/engine/evaluateCalculation.js'; import ConstantNode from '/imports/parser/parseTree/ConstantNode.js'; export default function computeEndStepProperty(prop, memo){ diff --git a/app/imports/api/creature/computation/computeInlineCalculations.js b/app/imports/api/creature/computation/engine/computeInlineCalculations.js similarity index 96% rename from app/imports/api/creature/computation/computeInlineCalculations.js rename to app/imports/api/creature/computation/engine/computeInlineCalculations.js index 17c4e274..22ea0e4f 100644 --- a/app/imports/api/creature/computation/computeInlineCalculations.js +++ b/app/imports/api/creature/computation/engine/computeInlineCalculations.js @@ -1,4 +1,4 @@ -import evaluateCalculation from '/imports/api/creature/computation/evaluateCalculation.js'; +import evaluateCalculation from '/imports/api/creature/computation/engine/evaluateCalculation.js'; export default function computeInlineCalculations(prop, memo){ if (prop.summary){ diff --git a/app/imports/api/creature/computation/computeLevels.js b/app/imports/api/creature/computation/engine/computeLevels.js similarity index 100% rename from app/imports/api/creature/computation/computeLevels.js rename to app/imports/api/creature/computation/engine/computeLevels.js diff --git a/app/imports/api/creature/computation/computeMemo.js b/app/imports/api/creature/computation/engine/computeMemo.js similarity index 67% rename from app/imports/api/creature/computation/computeMemo.js rename to app/imports/api/creature/computation/engine/computeMemo.js index 52d20881..ef466c6f 100644 --- a/app/imports/api/creature/computation/computeMemo.js +++ b/app/imports/api/creature/computation/engine/computeMemo.js @@ -1,10 +1,10 @@ import { each, forOwn } from 'lodash'; -import computeLevels from '/imports/api/creature/computation/computeLevels.js'; -import computeStat from '/imports/api/creature/computation/computeStat.js'; -import computeEffect from '/imports/api/creature/computation/computeEffect.js'; -import computeToggle from '/imports/api/creature/computation/computeToggle.js'; -import computeEndStepProperty from '/imports/api/creature/computation/computeEndStepProperty.js'; -import computeInlineCalculations from '/imports/api/creature/computation/computeInlineCalculations.js'; +import computeLevels from '/imports/api/creature/computation/engine/computeLevels.js'; +import computeStat from '/imports/api/creature/computation/engine/computeStat.js'; +import computeEffect from '/imports/api/creature/computation/engine/computeEffect.js'; +import computeToggle from '/imports/api/creature/computation/engine/computeToggle.js'; +import computeEndStepProperty from '/imports/api/creature/computation/engine/computeEndStepProperty.js'; +import computeInlineCalculations from '/imports/api/creature/computation/engine/computeInlineCalculations.js'; export default function computeMemo(memo){ // Compute level diff --git a/app/imports/api/creature/computation/computeStat.js b/app/imports/api/creature/computation/engine/computeStat.js similarity index 84% rename from app/imports/api/creature/computation/computeStat.js rename to app/imports/api/creature/computation/engine/computeStat.js index dc910264..ebab8789 100644 --- a/app/imports/api/creature/computation/computeStat.js +++ b/app/imports/api/creature/computation/engine/computeStat.js @@ -1,7 +1,7 @@ -import combineStat from '/imports/api/creature/computation/combineStat.js'; -import computeEffect from '/imports/api/creature/computation/computeEffect.js'; -import EffectAggregator from '/imports/api/creature/computation/EffectAggregator.js'; -import applyToggles from '/imports/api/creature/computation/applyToggles.js'; +import combineStat from '/imports/api/creature/computation/engine/combineStat.js'; +import computeEffect from '/imports/api/creature/computation/engine/computeEffect.js'; +import EffectAggregator from '/imports/api/creature/computation/engine/EffectAggregator.js'; +import applyToggles from '/imports/api/creature/computation/engine/applyToggles.js'; import { each } from 'lodash'; export default function computeStat(stat, memo){ diff --git a/app/imports/api/creature/computation/computeToggle.js b/app/imports/api/creature/computation/engine/computeToggle.js similarity index 97% rename from app/imports/api/creature/computation/computeToggle.js rename to app/imports/api/creature/computation/engine/computeToggle.js index 507a81af..b3f5de2d 100644 --- a/app/imports/api/creature/computation/computeToggle.js +++ b/app/imports/api/creature/computation/engine/computeToggle.js @@ -1,4 +1,4 @@ -import evaluateCalculation from '/imports/api/creature/computation/evaluateCalculation.js'; +import evaluateCalculation from '/imports/api/creature/computation/engine/evaluateCalculation.js'; export default function computeToggle(toggle, memo){ if (toggle.computationDetails.computed) return; diff --git a/app/imports/api/creature/computation/evaluateCalculation.js b/app/imports/api/creature/computation/engine/evaluateCalculation.js similarity index 94% rename from app/imports/api/creature/computation/evaluateCalculation.js rename to app/imports/api/creature/computation/engine/evaluateCalculation.js index 1e9e6119..c1f5b472 100644 --- a/app/imports/api/creature/computation/evaluateCalculation.js +++ b/app/imports/api/creature/computation/engine/evaluateCalculation.js @@ -1,9 +1,9 @@ -import computeStat from '/imports/api/creature/computation/computeStat.js'; +import computeStat from '/imports/api/creature/computation/engine/computeStat.js'; import { parse, CompilationContext } from '/imports/parser/parser.js'; import SymbolNode from '/imports/parser/parseTree/SymbolNode.js'; import AccessorNode from '/imports/parser/parseTree/AccessorNode.js'; import ConstantNode from '/imports/parser/parseTree/ConstantNode.js'; -import findAncestorByType from '/imports/api/creature/computation/findAncestorByType.js'; +import findAncestorByType from '/imports/api/creature/computation/engine/findAncestorByType.js'; /* Convert a calculation into a constant output and errors*/ export default function evaluateCalculation({ diff --git a/app/imports/api/creature/computation/findAncestorByType.js b/app/imports/api/creature/computation/engine/findAncestorByType.js similarity index 100% rename from app/imports/api/creature/computation/findAncestorByType.js rename to app/imports/api/creature/computation/engine/findAncestorByType.js diff --git a/app/imports/api/creature/computation/getComputationProperties.js b/app/imports/api/creature/computation/engine/getComputationProperties.js similarity index 100% rename from app/imports/api/creature/computation/getComputationProperties.js rename to app/imports/api/creature/computation/engine/getComputationProperties.js diff --git a/app/imports/api/creature/computation/engine/getDependentProperties.js b/app/imports/api/creature/computation/engine/getDependentProperties.js new file mode 100644 index 00000000..516d7d90 --- /dev/null +++ b/app/imports/api/creature/computation/engine/getDependentProperties.js @@ -0,0 +1,42 @@ +import CreatureProperties from '/imports/api/creature/creatureProperties/CreatureProperties.js'; + +export default function getDependentProperties({creatureId, dependencies}){ + // find ids of all dependant toggles that have conditions, even if inactive + let toggleIds = CreatureProperties.find({ + 'ancestors.id': creatureId, + type: 'toggle', + removed: {$ne: true}, + condition: { $exists: true }, + dependencies: {$in: dependencies}, + }, { + fields: {_id: 1}, + }).map(t => t._id); + // Find all the dependant properties + let props = CreatureProperties.find({ + 'ancestors.id': creatureId, + removed: {$ne: true}, + dependencies: {$in: dependencies}, + $or: [ + // All active properties + {inactive: {$ne: true}}, + // All active and inactive toggles with conditions + // Same as {$in: toggleIds}, but should be slightly faster + {type: 'toggle', condition: { $exists: true }}, + // All decendents of the above toggles + {'ancestors.id': {$in: toggleIds}}, + ] + }, { + // Filter out fields never used by calculations + fields: { + icon: 0, + }, + sort: { + order: 1, + } + }).fetch(); + // Add on all the properties th + CreatureProperties.find({_id: {$in: dependencies}}).forEach(prop => { + props.push(prop) + }); + return props; +} diff --git a/app/imports/api/creature/computation/writeAlteredProperties.js b/app/imports/api/creature/computation/engine/writeAlteredProperties.js similarity index 89% rename from app/imports/api/creature/computation/writeAlteredProperties.js rename to app/imports/api/creature/computation/engine/writeAlteredProperties.js index b8e15cbc..7c49d74b 100644 --- a/app/imports/api/creature/computation/writeAlteredProperties.js +++ b/app/imports/api/creature/computation/engine/writeAlteredProperties.js @@ -79,7 +79,9 @@ function addUnsetOp(op, key){ function bulkWriteProperties(bulkWriteOps){ if (!bulkWriteOps.length) return; - if (Meteor.isServer){ + // Only use bulk writing if there are many writes to do + // it makes latency compensation janky, so we avoid it for smaller writes + if (Meteor.isServer && bulkWriteOps.length > 16){ CreatureProperties.rawCollection().bulkWrite( bulkWriteOps, {ordered : false}, @@ -94,10 +96,8 @@ function bulkWriteProperties(bulkWriteOps){ bulkWriteOps.forEach(op => { let updateOneOrMany = op.updateOne || op.updateMany; CreatureProperties.update(updateOneOrMany.filter, updateOneOrMany.update, { - // The server code is bypassing collection 2 validation, so do the same - // on the client - // include this if bypass is off: - // selector: {type: op.type} + // The bulk code is bypassing validation, so do the same here + // selector: {type: op.type} // include this if bypass is off bypassCollection2: true, }); }); diff --git a/app/imports/api/creature/computation/writeCreatureVariables.js b/app/imports/api/creature/computation/engine/writeCreatureVariables.js similarity index 100% rename from app/imports/api/creature/computation/writeCreatureVariables.js rename to app/imports/api/creature/computation/engine/writeCreatureVariables.js diff --git a/app/imports/api/creature/computation/recomputeCreature.js b/app/imports/api/creature/computation/methods/recomputeCreature.js similarity index 80% rename from app/imports/api/creature/computation/recomputeCreature.js rename to app/imports/api/creature/computation/methods/recomputeCreature.js index af4487b5..59090621 100644 --- a/app/imports/api/creature/computation/recomputeCreature.js +++ b/app/imports/api/creature/computation/methods/recomputeCreature.js @@ -2,14 +2,16 @@ import { ValidatedMethod } from 'meteor/mdg:validated-method'; import { RateLimiterMixin } from 'ddp-rate-limiter-mixin'; import SimpleSchema from 'simpl-schema'; import { assertEditPermission } from '/imports/api/creature/creaturePermissions.js'; -import ComputationMemo from '/imports/api/creature/computation/ComputationMemo.js'; -import getComputationProperties from '/imports/api/creature/computation/getComputationProperties.js'; -import computeMemo from '/imports/api/creature/computation/computeMemo.js'; -import writeAlteredProperties from '/imports/api/creature/computation/writeAlteredProperties.js'; -import writeCreatureVariables from '/imports/api/creature/computation/writeCreatureVariables.js'; +import ComputationMemo from '/imports/api/creature/computation/engine/ComputationMemo.js'; +import getComputationProperties from '/imports/api/creature/computation/engine/getComputationProperties.js'; +import computeMemo from '/imports/api/creature/computation/engine/computeMemo.js'; +import writeAlteredProperties from '/imports/api/creature/computation/engine/writeAlteredProperties.js'; +import writeCreatureVariables from '/imports/api/creature/computation/engine/writeCreatureVariables.js'; import { recomputeDamageMultipliersById } from '/imports/api/creature/denormalise/recomputeDamageMultipliers.js'; import recomputeInactiveProperties from '/imports/api/creature/denormalise/recomputeInactiveProperties.js'; import recomputeSlotFullness from '/imports/api/creature/denormalise/recomputeSlotFullness.js'; +import getRootCreatureAncestor from '/imports/api/creature/creatureProperties/getRootCreatureAncestor.js'; +import getDependentProperties from '/imports/api/creature/computation/engine/getDependentProperties.js'; import Creatures from '/imports/api/creature/Creatures.js'; export const recomputeCreature = new ValidatedMethod({ @@ -95,16 +97,22 @@ export function recomputeCreatureByDoc(creature){ return computationMemo; } -// TODO + export function recomputePropertyDependencies(property){ - // Placeholder functionality, just recompute the whole creature - let creature = Creatures.findOne(property.ancestors[0].id); - recomputeCreatureByDoc(creature); + let creature = getRootCreatureAncestor(property); + recomputeCreatureByDependencies({ + creature, + dependencies: [property._id], + }); } -// TODO -export function recomputeCreatureByIdAndDependencies({creatureId, dependencies}){ - // Placeholder functionality, just recompute the whole creature - let creature = Creatures.findOne(creatureId); - recomputeCreatureByDoc(creature); +export function recomputeCreatureByDependencies({creature, dependencies}){ + let props = getDependentProperties({ + creatureId: creature._id, + dependencies, + }); + let computationMemo = new ComputationMemo(props, creature); + computeMemo(computationMemo); + writeAlteredProperties(computationMemo); + return computationMemo; } diff --git a/app/imports/api/creature/creatureProperties/methods/adjustQuantity.js b/app/imports/api/creature/creatureProperties/methods/adjustQuantity.js index e2e3f1a4..f80c6799 100644 --- a/app/imports/api/creature/creatureProperties/methods/adjustQuantity.js +++ b/app/imports/api/creature/creatureProperties/methods/adjustQuantity.js @@ -4,7 +4,7 @@ import SimpleSchema from 'simpl-schema'; import CreatureProperties from '/imports/api/creature/creatureProperties/CreatureProperties.js'; import getRootCreatureAncestor from '/imports/api/creature/creatureProperties/getRootCreatureAncestor.js'; import { assertEditPermission } from '/imports/api/sharing/sharingPermissions.js'; -import { recomputePropertyDependencies } from '/imports/api/creature/computation/recomputeCreature.js'; +import { recomputePropertyDependencies } from '/imports/api/creature/computation/methods/recomputeCreature.js'; const adjustQuantity = new ValidatedMethod({ name: 'creatureProperties.adjustQuantity', diff --git a/app/imports/api/creature/creatureProperties/methods/damagePropertiesByName.js b/app/imports/api/creature/creatureProperties/methods/damagePropertiesByName.js index f20a39cb..200110ce 100644 --- a/app/imports/api/creature/creatureProperties/methods/damagePropertiesByName.js +++ b/app/imports/api/creature/creatureProperties/methods/damagePropertiesByName.js @@ -5,7 +5,7 @@ import CreatureProperties from '/imports/api/creature/creatureProperties/Creatur import Creatures from '/imports/api/creature/Creatures.js'; import { assertEditPermission } from '/imports/api/sharing/sharingPermissions.js'; import { damagePropertyWork } from '/imports/api/creature/creatureProperties/methods/damageProperty.js'; -import { recomputePropertyDependencies } from '/imports/api/creature/computation/recomputeCreature.js'; +import { recomputePropertyDependencies } from '/imports/api/creature/computation/methods/recomputeCreature.js'; const damagePropertiesByName = new ValidatedMethod({ name: 'CreatureProperties.damagePropertiesByName', diff --git a/app/imports/api/creature/creatureProperties/methods/damageProperty.js b/app/imports/api/creature/creatureProperties/methods/damageProperty.js index 9c10ab99..d9930841 100644 --- a/app/imports/api/creature/creatureProperties/methods/damageProperty.js +++ b/app/imports/api/creature/creatureProperties/methods/damageProperty.js @@ -4,7 +4,7 @@ import SimpleSchema from 'simpl-schema'; import CreatureProperties from '/imports/api/creature/creatureProperties/CreatureProperties.js'; import getRootCreatureAncestor from '/imports/api/creature/creatureProperties/getRootCreatureAncestor.js'; import { assertEditPermission } from '/imports/api/sharing/sharingPermissions.js'; -import { recomputePropertyDependencies } from '/imports/api/creature/computation/recomputeCreature.js'; +import { recomputePropertyDependencies, recomputeCreatureByDoc, recomputeCreature } from '/imports/api/creature/computation/methods/recomputeCreature.js'; const damageProperty = new ValidatedMethod({ name: 'creatureProperties.damage', @@ -37,7 +37,6 @@ const damageProperty = new ValidatedMethod({ damagePropertyWork({property, operation, value}); // Dependencies can't be changed through damage, only recompute deps recomputePropertyDependencies(property); - }, }); diff --git a/app/imports/api/creature/creatureProperties/methods/dealDamage.js b/app/imports/api/creature/creatureProperties/methods/dealDamage.js index 12f049ea..a8f0d13f 100644 --- a/app/imports/api/creature/creatureProperties/methods/dealDamage.js +++ b/app/imports/api/creature/creatureProperties/methods/dealDamage.js @@ -5,7 +5,7 @@ import CreatureProperties from '/imports/api/creature/creatureProperties/Creatur import Creatures from '/imports/api/creature/Creatures.js'; import { assertEditPermission } from '/imports/api/sharing/sharingPermissions.js'; import { damagePropertyWork } from '/imports/api/creature/creatureProperties/methods/damageProperty.js'; -import { recomputeCreatureByIdAndDependencies } from '/imports/api/creature/computation/recomputeCreature.js'; +import { recomputeCreatureByDependencies } from '/imports/api/creature/computation/methods/recomputeCreature.js'; const dealDamage = new ValidatedMethod({ name: 'creatureProperties.dealDamage', @@ -60,7 +60,7 @@ const dealDamage = new ValidatedMethod({ dependencies.push(healthBar.variableName); dependencies.push(...healthBar.dependencies); }); - recomputeCreatureByIdAndDependencies({creatureId, dependencies}); + recomputeCreatureByDependencies({creature, dependencies}); return totalDamage; }, }); diff --git a/app/imports/api/creature/creatureProperties/methods/insertProperty.js b/app/imports/api/creature/creatureProperties/methods/insertProperty.js index 188e86c7..188cccff 100644 --- a/app/imports/api/creature/creatureProperties/methods/insertProperty.js +++ b/app/imports/api/creature/creatureProperties/methods/insertProperty.js @@ -4,7 +4,7 @@ import CreatureProperties from '/imports/api/creature/creatureProperties/Creatur import getRootCreatureAncestor from '/imports/api/creature/creatureProperties/getRootCreatureAncestor.js'; import { assertEditPermission } from '/imports/api/sharing/sharingPermissions.js'; import { reorderDocs } from '/imports/api/parenting/order.js'; -import { recomputeCreatureByDoc } from '/imports/api/creature/computation/recomputeCreature.js'; +import { recomputeCreatureByDoc } from '/imports/api/creature/computation/methods/recomputeCreature.js'; const insertProperty = new ValidatedMethod({ name: 'creatureProperties.insert', diff --git a/app/imports/api/creature/creatureProperties/methods/insertPropertyFromLibraryNode.js b/app/imports/api/creature/creatureProperties/methods/insertPropertyFromLibraryNode.js index 4589eadd..5ba1ef65 100644 --- a/app/imports/api/creature/creatureProperties/methods/insertPropertyFromLibraryNode.js +++ b/app/imports/api/creature/creatureProperties/methods/insertPropertyFromLibraryNode.js @@ -5,7 +5,7 @@ import CreatureProperties from '/imports/api/creature/creatureProperties/Creatur import LibraryNodes from '/imports/api/library/LibraryNodes.js'; import { RefSchema } from '/imports/api/parenting/ChildSchema.js'; import getRootCreatureAncestor from '/imports/api/creature/creatureProperties/getRootCreatureAncestor.js'; -import { recomputeCreatureByDoc } from '/imports/api/creature/computation/recomputeCreature.js'; +import { recomputeCreatureByDoc } from '/imports/api/creature/computation/methods/recomputeCreature.js'; import { assertEditPermission } from '/imports/api/sharing/sharingPermissions.js'; import { setLineageOfDocs, diff --git a/app/imports/api/creature/creatureProperties/methods/pullFromProperty.js b/app/imports/api/creature/creatureProperties/methods/pullFromProperty.js index dfcec70a..a5ad2929 100644 --- a/app/imports/api/creature/creatureProperties/methods/pullFromProperty.js +++ b/app/imports/api/creature/creatureProperties/methods/pullFromProperty.js @@ -3,7 +3,7 @@ import { RateLimiterMixin } from 'ddp-rate-limiter-mixin'; import CreatureProperties from '/imports/api/creature/creatureProperties/CreatureProperties.js'; import { assertEditPermission } from '/imports/api/sharing/sharingPermissions.js'; import getRootCreatureAncestor from '/imports/api/creature/creatureProperties/getRootCreatureAncestor.js'; -import { recomputeCreatureByDoc } from '/imports/api/creature/computation/recomputeCreature.js'; +import { recomputeCreatureByDoc } from '/imports/api/creature/computation/methods/recomputeCreature.js'; const pullFromProperty = new ValidatedMethod({ name: 'creatureProperties.pull', diff --git a/app/imports/api/creature/creatureProperties/methods/pushToProperty.js b/app/imports/api/creature/creatureProperties/methods/pushToProperty.js index d8a0dac6..4228eca0 100644 --- a/app/imports/api/creature/creatureProperties/methods/pushToProperty.js +++ b/app/imports/api/creature/creatureProperties/methods/pushToProperty.js @@ -3,7 +3,7 @@ import { RateLimiterMixin } from 'ddp-rate-limiter-mixin'; import CreatureProperties from '/imports/api/creature/creatureProperties/CreatureProperties.js'; import { assertEditPermission } from '/imports/api/sharing/sharingPermissions.js'; import getRootCreatureAncestor from '/imports/api/creature/creatureProperties/getRootCreatureAncestor.js'; -import { recomputeCreatureByDoc } from '/imports/api/creature/computation/recomputeCreature.js'; +import { recomputeCreatureByDoc } from '/imports/api/creature/computation/methods/recomputeCreature.js'; const pushToProperty = new ValidatedMethod({ name: 'creatureProperties.push', diff --git a/app/imports/api/creature/creatureProperties/methods/restoreProperty.js b/app/imports/api/creature/creatureProperties/methods/restoreProperty.js index 62c29eea..ee628134 100644 --- a/app/imports/api/creature/creatureProperties/methods/restoreProperty.js +++ b/app/imports/api/creature/creatureProperties/methods/restoreProperty.js @@ -5,7 +5,7 @@ import CreatureProperties from '/imports/api/creature/creatureProperties/Creatur import { assertEditPermission } from '/imports/api/sharing/sharingPermissions.js'; import { restore } from '/imports/api/parenting/softRemove.js'; import getRootCreatureAncestor from '/imports/api/creature/creatureProperties/getRootCreatureAncestor.js'; -import { recomputeCreatureByDoc } from '/imports/api/creature/computation/recomputeCreature.js'; +import { recomputeCreatureByDoc } from '/imports/api/creature/computation/methods/recomputeCreature.js'; const restoreProperty = new ValidatedMethod({ name: 'creatureProperties.restore', diff --git a/app/imports/api/creature/creatureProperties/methods/selectAmmoItem.js b/app/imports/api/creature/creatureProperties/methods/selectAmmoItem.js index 73aff869..3c735ca1 100644 --- a/app/imports/api/creature/creatureProperties/methods/selectAmmoItem.js +++ b/app/imports/api/creature/creatureProperties/methods/selectAmmoItem.js @@ -4,7 +4,7 @@ import SimpleSchema from 'simpl-schema'; import CreatureProperties from '/imports/api/creature/creatureProperties/CreatureProperties.js'; import getRootCreatureAncestor from '/imports/api/creature/creatureProperties/getRootCreatureAncestor.js'; import { assertEditPermission } from '/imports/api/sharing/sharingPermissions.js'; -import { recomputeCreatureByDoc } from '/imports/api/creature/computation/recomputeCreature.js'; +import { recomputeCreatureByDoc } from '/imports/api/creature/computation/methods/recomputeCreature.js'; const selectAmmoItem = new ValidatedMethod({ name: 'creatureProperties.selectAmmoItem', diff --git a/app/imports/api/creature/creatureProperties/methods/softRemoveProperty.js b/app/imports/api/creature/creatureProperties/methods/softRemoveProperty.js index f44f1166..5a60e8af 100644 --- a/app/imports/api/creature/creatureProperties/methods/softRemoveProperty.js +++ b/app/imports/api/creature/creatureProperties/methods/softRemoveProperty.js @@ -5,7 +5,7 @@ import CreatureProperties from '/imports/api/creature/creatureProperties/Creatur import { assertEditPermission } from '/imports/api/sharing/sharingPermissions.js'; import { softRemove } from '/imports/api/parenting/softRemove.js'; import getRootCreatureAncestor from '/imports/api/creature/creatureProperties/getRootCreatureAncestor.js'; -import { recomputeCreatureByDoc } from '/imports/api/creature/computation/recomputeCreature.js'; +import { recomputeCreatureByDoc } from '/imports/api/creature/computation/methods/recomputeCreature.js'; const softRemoveProperty = new ValidatedMethod({ name: 'creatureProperties.softRemove', diff --git a/app/imports/api/creature/creatureProperties/methods/updateCreatureProperty.js b/app/imports/api/creature/creatureProperties/methods/updateCreatureProperty.js index 0cfab37b..d32d9cc8 100644 --- a/app/imports/api/creature/creatureProperties/methods/updateCreatureProperty.js +++ b/app/imports/api/creature/creatureProperties/methods/updateCreatureProperty.js @@ -3,7 +3,7 @@ import { RateLimiterMixin } from 'ddp-rate-limiter-mixin'; import CreatureProperties from '/imports/api/creature/creatureProperties/CreatureProperties.js'; import { assertEditPermission } from '/imports/api/sharing/sharingPermissions.js'; import getRootCreatureAncestor from '/imports/api/creature/creatureProperties/getRootCreatureAncestor.js'; -import { recomputeCreatureByDoc } from '/imports/api/creature/computation/recomputeCreature.js'; +import { recomputeCreatureByDoc } from '/imports/api/creature/computation/methods/recomputeCreature.js'; const updateCreatureProperty = new ValidatedMethod({ name: 'creatureProperties.update', diff --git a/app/imports/api/creature/creatureProperties/recomputeCreaturesByProperty.js b/app/imports/api/creature/creatureProperties/recomputeCreaturesByProperty.js index 6dd5b2d3..aa71e48f 100644 --- a/app/imports/api/creature/creatureProperties/recomputeCreaturesByProperty.js +++ b/app/imports/api/creature/creatureProperties/recomputeCreaturesByProperty.js @@ -1,4 +1,4 @@ -import { recomputeCreatureById } from '/imports/api/creature/computation/recomputeCreature.js'; +import { recomputeCreatureById } from '/imports/api/creature/computation/methods/recomputeCreature.js'; /** * Recomputes all ancestor creatures of this property diff --git a/app/imports/api/creature/experience/Experiences.js b/app/imports/api/creature/experience/Experiences.js index 88e6abc5..3584bc93 100644 --- a/app/imports/api/creature/experience/Experiences.js +++ b/app/imports/api/creature/experience/Experiences.js @@ -4,7 +4,7 @@ import { RateLimiterMixin } from 'ddp-rate-limiter-mixin'; import { getUserTier } from '/imports/api/users/patreon/tiers.js'; import { assertEditPermission } from '/imports/api/creature/creaturePermissions.js'; import Creatures from '/imports/api/creature/Creatures.js'; -import { recomputeCreatureById } from '/imports/api/creature/computation/recomputeCreature.js'; +import { recomputeCreatureById } from '/imports/api/creature/computation/methods/recomputeCreature.js'; let Experiences = new Mongo.Collection('experiences'); diff --git a/app/imports/api/creature/mixins/recomputeCreatureMixin.js b/app/imports/api/creature/mixins/recomputeCreatureMixin.js index cc07e8f0..05c0abde 100644 --- a/app/imports/api/creature/mixins/recomputeCreatureMixin.js +++ b/app/imports/api/creature/mixins/recomputeCreatureMixin.js @@ -1,4 +1,4 @@ -import { recomputeCreatureById } from '/imports/api/creature/computation/recomputeCreature.js'; +import { recomputeCreatureById } from '/imports/api/creature/computation/methods/recomputeCreature.js'; export default function recomputeCreatureMixin(methodOptions){ let runFunc = methodOptions.run; diff --git a/app/imports/api/creature/restCreature.js b/app/imports/api/creature/restCreature.js index 753298ae..c4c814ed 100644 --- a/app/imports/api/creature/restCreature.js +++ b/app/imports/api/creature/restCreature.js @@ -4,7 +4,7 @@ import { RateLimiterMixin } from 'ddp-rate-limiter-mixin'; import Creatures from '/imports/api/creature/Creatures.js'; import CreatureProperties from '/imports/api/creature/creatureProperties/CreatureProperties.js'; import { assertEditPermission } from '/imports/api/creature/creaturePermissions.js'; -import { recomputeCreatureById } from '/imports/api/creature/computation/recomputeCreature.js'; +import { recomputeCreatureById } from '/imports/api/creature/computation/methods/recomputeCreature.js'; const restCreature = new ValidatedMethod({ name: 'creature.methods.longRest', diff --git a/app/imports/api/parenting/organizeMethods.js b/app/imports/api/parenting/organizeMethods.js index 9a0ac805..36b56873 100644 --- a/app/imports/api/parenting/organizeMethods.js +++ b/app/imports/api/parenting/organizeMethods.js @@ -8,7 +8,7 @@ import { RefSchema } from '/imports/api/parenting/ChildSchema.js'; import { assertDocEditPermission } from '/imports/api/sharing/sharingPermissions.js'; import fetchDocByRef from '/imports/api/parenting/fetchDocByRef.js'; import getCollectionByName from '/imports/api/parenting/getCollectionByName.js'; -import { recomputeCreatureById } from '/imports/api/creature/computation/recomputeCreature.js'; +import { recomputeCreatureById } from '/imports/api/creature/computation/methods/recomputeCreature.js'; const organizeDoc = new ValidatedMethod({ name: 'organize.organizeDoc', diff --git a/app/imports/server/publications/singleCharacter.js b/app/imports/server/publications/singleCharacter.js index 59becda1..478e15ad 100644 --- a/app/imports/server/publications/singleCharacter.js +++ b/app/imports/server/publications/singleCharacter.js @@ -3,7 +3,7 @@ import Creatures from '/imports/api/creature/Creatures.js'; import CreatureProperties from '/imports/api/creature/creatureProperties/CreatureProperties.js'; import CreatureLogs from '/imports/api/creature/log/CreatureLogs.js'; import { assertViewPermission } from '/imports/api/creature/creaturePermissions.js'; -import { recomputeCreatureById } from '/imports/api/creature/computation/recomputeCreature.js'; +import { recomputeCreatureById } from '/imports/api/creature/computation/methods/recomputeCreature.js'; import VERSION from '/imports/constants/VERSION.js'; let schema = new SimpleSchema({ diff --git a/app/imports/ui/creature/character/characterSheetTabs/StatsTab.vue b/app/imports/ui/creature/character/characterSheetTabs/StatsTab.vue index f46dcd7c..413b103f 100644 --- a/app/imports/ui/creature/character/characterSheetTabs/StatsTab.vue +++ b/app/imports/ui/creature/character/characterSheetTabs/StatsTab.vue @@ -311,7 +311,7 @@