Fixed buffs not recomputing correctly because of inactive properties not being activated

This commit is contained in:
Stefan Zermatten
2021-03-01 10:07:24 +02:00
parent bcedd548c7
commit cd45ae1442
2 changed files with 7 additions and 7 deletions

View File

@@ -4,7 +4,6 @@ import {
} from '/imports/api/parenting/parenting.js';
import {setDocToLastOrder} from '/imports/api/parenting/order.js';
import CreatureProperties from '/imports/api/creature/creatureProperties/CreatureProperties.js';
import { recomputeCreatureByDoc } from '/imports/api/creature/computation/methods/recomputeCreature.js';
export default function applyBuff({
prop,
@@ -58,10 +57,5 @@ function copyNodeListToTarget(propList, target, oldParent){
collection: CreatureProperties,
doc: propList[0],
});
CreatureProperties.batchInsert(propList, () => {
// This insert is racing the main recompute, recmpute again after it's
// certainly finished
recomputeCreatureByDoc(target);
});
CreatureProperties.batchInsert(propList);
}

View File

@@ -10,6 +10,7 @@ import { recomputeCreatureByDoc } from '/imports/api/creature/computation/method
import { nodesToTree } from '/imports/api/parenting/parenting.js';
import applyProperties from '/imports/api/creature/actions/applyProperties.js';
import recomputeInventory from '/imports/api/creature/denormalise/recomputeInventory.js';
import recomputeInactiveProperties from '/imports/api/creature/denormalise/recomputeInactiveProperties.js';
const doAction = new ValidatedMethod({
name: 'creatureProperties.doAction',
@@ -46,9 +47,14 @@ const doAction = new ValidatedMethod({
// The acting creature might have used ammo
recomputeInventory(creature._id);
// The action might add properties which need to be activated
recomputeInactiveProperties(creature._id);
// recompute creatures
recomputeCreatureByDoc(creature);
targets.forEach(target => {
recomputeInactiveProperties(target._id);
recomputeCreatureByDoc(target);
});
},