Now writing partial recalculations to creature variables
This commit is contained in:
@@ -2,7 +2,7 @@ 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) {
|
||||
export default function writeCreatureVariables(memo, creatureId, fullRecompute = true) {
|
||||
const fields = [
|
||||
'name',
|
||||
'attributeType',
|
||||
@@ -28,13 +28,22 @@ export default function writeCreatureVariables(memo, creatureId) {
|
||||
'level',
|
||||
];
|
||||
|
||||
memo.creatureVariables = {};
|
||||
forOwn(memo.statsByVariableName, (stat, variableName) => {
|
||||
let condensedStat = pick(stat, fields);
|
||||
memo.creatureVariables[variableName] = condensedStat;
|
||||
});
|
||||
Creatures.update(creatureId, {$set: {
|
||||
variables: memo.creatureVariables,
|
||||
computeVersion: VERSION,
|
||||
}});
|
||||
if (fullRecompute){
|
||||
memo.creatureVariables = {};
|
||||
forOwn(memo.statsByVariableName, (stat, variableName) => {
|
||||
let condensedStat = pick(stat, fields);
|
||||
memo.creatureVariables[variableName] = condensedStat;
|
||||
});
|
||||
Creatures.update(creatureId, {$set: {
|
||||
variables: memo.creatureVariables,
|
||||
computeVersion: VERSION,
|
||||
}});
|
||||
} else {
|
||||
let $set = {};
|
||||
forOwn(memo.statsByVariableName, (stat, variableName) => {
|
||||
let condensedStat = pick(stat, fields);
|
||||
$set[`variables.${variableName}`] = condensedStat;
|
||||
});
|
||||
Creatures.update(creatureId, {$set});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user