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

TasteRegularSilverGoldIridiumBirthday iridium
Love8088100120960
Like45495667540
Neutral20202020160
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