#pragma once #include #include "BuddyTypes.h" struct TamaState { uint8_t hunger; // 0=full → 100=starving uint8_t happiness; // 100=happy → 0=bored uint8_t hygiene; // 100=clean → 0=dirty uint32_t nextHungerTick; uint32_t nextHappyTick; uint32_t nextHygieneTick; }; void initTama(TamaState &t, uint32_t now); // Updates ticks and returns the mood override for buddy. // Returns MOOD_HUNGRY / MOOD_DIRTY / MOOD_PLAYFUL when a need is critical. // Returns MOOD_NORMAL when needs are satisfied or guard blocks (revertAt != 0, sleepy, wink). Mood updateTama(TamaState &t, const BuddyState &b, uint32_t now); void tamaFeed(TamaState &t); // hunger -= 30 (floor 0) void tamaPlay(TamaState &t); // happy += 25 (cap 100) void tamaClean(TamaState &t); // hygiene += 40 (cap 100)