Characters now recompute on subscribe if they haven't been computed in the current version

This commit is contained in:
Stefan Zermatten
2020-11-04 14:27:31 +02:00
parent 2fb0ba79c6
commit 9722bbc667
7 changed files with 27 additions and 4 deletions

View File

@@ -34,6 +34,7 @@ function computeAction(prop, memo){
if (prop.usesUsed >= prop.usesResult){
prop.insufficientResources = true;
}
if (!prop.resources) return;
// Attributes consumed
prop.resources.attributesConsumed.forEach((attConsumed, i) => {
if (attConsumed.variableName){

View File

@@ -102,12 +102,12 @@ export function recomputeCreatureByDoc(creature){
'ancestors.id': creatureId,
inactive: {$ne: true},
type: {$in: calculationPropertyTypes},
// TODO filter out expensive fields, particularly icon field
}).fetch();
/*getActiveProperties({
ancestorId: creatureId,
filter: {type: {$in: calculationPropertyTypes}},
includeUntoggled: true,
// TODO filter out expensive fields, particularly icon field
});*/
let computationMemo = new ComputationMemo(props, creature);
computeMemo(computationMemo);

View File

@@ -1,5 +1,6 @@
import { pick, forOwn } from 'lodash';
import Creatures from '/imports/api/creature/Creatures.js';
import VERSION from '/imports/constants/VERSION.js';
export default function writeCreatureVariables(memo, creatureId) {
const fields = [
@@ -31,5 +32,8 @@ export default function writeCreatureVariables(memo, creatureId) {
let condensedStat = pick(stat, fields);
memo.creatureVariables[variableName] = condensedStat;
});
Creatures.update(creatureId, {$set: {variables: memo.creatureVariables}});
Creatures.update(creatureId, {$set: {
variables: memo.creatureVariables,
computeVersion: VERSION,
}});
}