GrowthSystem¶
GrowthSystem
| Phase · priority | Environment · 100 |
| Reads | food_value on Edible + Harvestable (or GrowthCapable) nodes |
| Writes | food_value |
| Settings | per template: regrow_per_day 80, food_value cap 25 |
| Status | designed · Phase 1 (#34) |
| PLAN | §15.2, §7.7, §3.9 |
| Player | Food |
Regrows food. A berry bush's food_value is a stock of meals, capped at 25, regrowing at 80 per day — an accumulator in sim-time (PLAN §3.9):
foreach (var bush in view.NodesWithComponent("Edible"))
{
var cap = view.GetOrDefault(bush, "food_value_max", 25f);
var cur = view.GetOrDefault(bush, "food_value", cap);
if (cur < cap) yield return new DeltaAttributeIntent(bush, "food_value", Math.Min(ctx.PerTick(s.RegrowPerDay), cap - cur));
}
The economy is deliberately generous (fifty villagers need ~200 meals a day; twelve bushes supply up to ~960) so that there is something to watch other than starvation. Scarcity is a harness tuning target and a Tinkerer's toggle.
Why it is in Phase 1: without regrowth the spike's village starved to extinction in every run. Hot-toggle: off, bushes deplete and never refill — the starvation story. Bounds: food_value has min: 0; summed bites cannot take it negative.
History¶
| Phase | Change |
|---|---|
| 1 | Introduced (pulled forward from the Survival phase); rate per day. |
See also: ActionSystem (eat) · HungerSystem