From 9c1aa2b4d4ed80277837548d2412159148a19ba0 Mon Sep 17 00:00:00 2001 From: Fen Dweller Date: Sun, 16 Aug 2020 09:30:54 -0400 Subject: [PATCH] Fix mass gain/loss being wrong when grown/shrunk Changing a creature's mass sets its base mass so that, after effects are applied, its mass is correct. --- src/game/creature.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/game/creature.ts b/src/game/creature.ts index 75e38ae..ef12f21 100644 --- a/src/game/creature.ts +++ b/src/game/creature.ts @@ -69,8 +69,12 @@ export class Creature extends Mortal { const adjusted = self.effects.reduce((scale: number, effect: Effective) => effect.scale(scale), base) return adjusted }, + // we want to account for anything changing our current size; + // we will assume that the modifiers are all multiplicative set [VoreStat.Mass] (mass: number) { - self.baseMass = mass + const modifier = self.effects.reduce((scale: number, effect: Effective) => effect.scale(scale), 1) + const adjusted = mass / modifier + self.baseMass = adjusted }, get [VoreStat.PreyCount] () { return self.containers.reduce(