Fixed buffs not recomputing correctly because of inactive properties not being activated
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
});
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user