Files

24 lines
840 B
C

#pragma once
#include <stdint.h>
#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)