X-Git-Url: http://git.localhorst.tv/?p=blobs.git;a=blobdiff_plain;f=src%2Fworld%2Fsim.cpp;h=1d9706e80bc3af77717bb44dcd99837f1c8331bf;hp=edf7bfe4f02f88954c2fd140161e07bff785d7fa;hb=631f0cfd6b421f5be68d60375db2ce91176d923d;hpb=05c42da80ec11cd73cc8a1b6ff21ac817b02a6e6 diff --git a/src/world/sim.cpp b/src/world/sim.cpp index edf7bfe..1d9706e 100644 --- a/src/world/sim.cpp +++ b/src/world/sim.cpp @@ -4,8 +4,10 @@ #include "Planet.hpp" #include "Sun.hpp" #include "../creature/Creature.hpp" +#include "../ui/string.hpp" #include +#include namespace blobs { @@ -83,41 +85,66 @@ void Simulation::SetDead(creature::Creature *c) { void Simulation::CheckRecords(creature::Creature &c) noexcept { if (c.Age() > records[0].value) { + if (records[0].holder && records[0].holder != &c) { + Log() << "new age record by " << c.Name() << std::endl; + } records[0].value = c.Age(); records[0].time = Time(); records[0].holder = &c; } if (c.Mass() > records[1].value) { + if (records[1].holder && records[1].holder != &c) { + Log() << "new mass record by " << c.Name() << std::endl; + } records[1].value = c.Mass(); records[1].time = Time(); records[1].holder = &c; } if (c.Size() > records[2].value) { + if (records[2].holder && records[2].holder != &c) { + Log() << "new size record by " << c.Name() << std::endl; + } records[2].value = c.Size(); records[2].time = Time(); records[2].holder = &c; } if (c.Strength() > records[3].value) { + if (records[3].holder && records[3].holder != &c) { + Log() << "new strength record by " << c.Name() << std::endl; + } records[3].value = c.Strength(); records[3].time = Time(); records[3].holder = &c; } if (c.Stamina() > records[4].value) { + if (records[4].holder && records[4].holder != &c) { + Log() << "new stamina record by " << c.Name() << std::endl; + } records[4].value = c.Stamina(); records[4].time = Time(); records[4].holder = &c; } if (c.Dexerty() > records[5].value) { + if (records[5].holder && records[5].holder != &c) { + Log() << "new dexerty record by " << c.Name() << std::endl; + } records[5].value = c.Dexerty(); records[5].time = Time(); records[5].holder = &c; } if (c.Intelligence() > records[6].value) { + if (records[6].holder && records[6].holder != &c) { + Log() << "new intelligence record by " << c.Name() << std::endl; + } records[6].value = c.Intelligence(); records[6].time = Time(); records[6].holder = &c; } } +std::ostream &Simulation::Log() { + return std::cout << '[' << ui::TimeString(Time()) << "] "; +} + } }