From: Daniel Karbach Date: Mon, 4 Dec 2017 14:26:37 +0000 (+0100) Subject: only show death message when damage is max X-Git-Url: https://git.localhorst.tv/?a=commitdiff_plain;h=fe2ad02c75b369e2a055c38b8ee08a43f5f6c367;p=blobs.git only show death message when damage is max and I was wondering why they all randomly died, lol --- diff --git a/src/creature/creature.cpp b/src/creature/creature.cpp index 8c7d235..911d9d0 100644 --- a/src/creature/creature.cpp +++ b/src/creature/creature.cpp @@ -216,22 +216,24 @@ void Creature::Hurt(double amount) noexcept { void Creature::Die() noexcept { if (Dead()) return; - std::ostream &log = sim.Log() << name << " "; - if (stats.Exhaustion().Full()) { - log << "died of exhaustion"; - } else if (stats.Breath().Full()) { - log << "suffocated"; - } else if (stats.Thirst().Full()) { - log << "died of thirst"; - } else if (stats.Hunger().Full()) { - log << "starved to death"; - } else { - log << "succumed to wounds"; + if (stats.Damage().Full()) { + std::ostream &log = sim.Log() << name << " "; + if (stats.Exhaustion().Full()) { + log << "died of exhaustion"; + } else if (stats.Breath().Full()) { + log << "suffocated"; + } else if (stats.Thirst().Full()) { + log << "died of thirst"; + } else if (stats.Hunger().Full()) { + log << "starved to death"; + } else { + log << "succumed to wounds"; + } + log << " at an age of " << ui::TimeString(Age()) + << " (" << ui::PercentageString(Age() / properties.Lifetime()) + << " of life expectancy of " << ui::TimeString(properties.Lifetime()) + << ")" << std::endl; } - log << " at an age of " << ui::TimeString(Age()) - << " (" << ui::PercentageString(Age() / properties.Lifetime()) - << " of life expectancy of " << ui::TimeString(properties.Lifetime()) - << ")" << std::endl; sim.SetDead(this); death = sim.Time();