2 #include "InhaleNeed.hpp"
3 #include "IngestNeed.hpp"
5 #include "Creature.hpp"
6 #include "../world/Planet.hpp"
15 void Need::Tick(double dt) noexcept {
19 void Need::Increase(double delta) noexcept {
20 value = std::min(1.0, value + delta);
23 void Need::Decrease(double delta) noexcept {
24 value = std::max(0.0, value - delta);
28 IngestNeed::IngestNeed(int resource, double speed, double damage)
34 IngestNeed::~IngestNeed() {
37 void IngestNeed::ApplyEffect(Creature &c, double dt) {
39 // TODO: find resource and start ingest task
47 InhaleNeed::InhaleNeed(int resource, double speed, double damage)
54 InhaleNeed::~InhaleNeed() {
57 void InhaleNeed::ApplyEffect(Creature &c, double dt) {
58 if (!IsSatisfied() && !inhaling) {
62 if (c.GetSituation().OnPlanet() && c.GetSituation().GetPlanet().Atmosphere() == resource) {