Relationships are per player. One heart is 250 points. Normal friends cap at 2500; unromanced candidates at 2249 (8 displayed hearts); spouses at 3500.
Daily friendship and decay
Talking grants 20 once per day. Gifts are limited to one each day and 2 each week, resetting Sunday. Birthdays bypass the weekly cap, and spouses have no weekly cap. Giving at least 2 gifts grants 10 on the next weekly reset. Delivery/task completion grants 150.
A silent day loses 2 as friends, 10 while dating/engaged, or 20 for a spouse. Decay stops at 2000 for unromanced candidates and 2500 for other non-spouse relationships. Spouse decay never stops. Social day processing applies to offline players too.
Gift points
| Taste | Regular | Silver | Gold | Iridium | Birthday iridium |
|---|---|---|---|---|---|
| Love | 80 | 88 | 100 | 120 | 960 |
| Like | 45 | 49 | 56 | 67 | 540 |
| Neutral | 20 | 20 | 20 | 20 | 160 |
| Dislike | -20 | -20 | -20 | -20 | -160 |
| Hate | -40 | -40 | -40 | -40 | -320 |
Points are floored after multiplication; quality affects only love/like. Birthday multiplier: 8.
Romance and events
Give Misc · bouquet · 100g · 01 name pending at 8 hearts to date (+25 points), then Misc · pendant · 01 name pending at 10 to propose. Wedding status changes after 3 days; a candidate already engaged/married to either player is unavailable. Spouse chore records exist, but do not water, feed or repair the world. No spouse rooms, children, breakup, divorce, bedroom gating or player marriage are implemented.
Heart events check hearts, area, time and weather; each choice is applied once. They do not pause shared time.
packages/sim/src/systems/villagers/index.ts · packages/sim/src/systems/villagers/friendship.ts · packages/sim/src/systems/villagers/schedules.ts