Calibrate the soul layer: innocent harvests, sane gifts, healing path

Run 5 findings: justice arrived (selfish health 31-64 vs nature 100, all
108 refusals theirs) but two pathologies emerged: the whole village maxed
others-regard debris because the commons penalty line (50%) sat above the
nature harvest floor (45%) and debris had no clearing path; and warmth-
weighted asking + near-total gift transfers produced a 2,501-gift winter
food-swapping loop.

Fixes: commons line lowered to 40% (respectful harvesting never grazes
it; strip-harvesting lives deep inside it); gifts capped at 3 with a
kept reserve of 5; asking gated on genuine hunger; and giving now heals
the giver slightly (-0.003 others-regard vs +0.02 per refusal) — harm
stays an order of magnitude easier than healing.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-21 13:49:15 -04:00
parent ed78d560ff
commit 8aab1a763b
8 changed files with 6522 additions and 3910 deletions
+2 -2
View File
@@ -6,10 +6,10 @@ uid="uid://da6vou2v16yvt"
[deps]
files=["res://soak_stats.season.translation", "res://soak_stats.wood.translation", "res://soak_stats.stone.translation", "res://soak_stats.clay.translation", "res://soak_stats.food.translation", "res://soak_stats.harvested.translation", "res://soak_stats.trades.translation", "res://soak_stats.avg.translation", "res://soak_stats.avg.translation", "res://soak_stats.avg.translation", "res://soak_stats.carried.translation", "res://soak_stats.gather.translation", "res://soak_stats.build.translation", "res://soak_stats.trade.translation", "res://soak_stats.rest.translation", "res://soak_stats.social.translation", "res://soak_stats.shelters.translation", "res://soak_stats.ruins.translation", "res://soak_stats.avg.translation", "res://soak_stats.upkeep.translation", "res://soak_stats.burn.translation", "res://soak_stats.modules.translation", "res://soak_stats.granary.translation"]
files=["res://soak_stats.season.translation", "res://soak_stats.wood.translation", "res://soak_stats.stone.translation", "res://soak_stats.clay.translation", "res://soak_stats.food.translation", "res://soak_stats.harvested.translation", "res://soak_stats.trades.translation", "res://soak_stats.avg.translation", "res://soak_stats.avg.translation", "res://soak_stats.avg.translation", "res://soak_stats.carried.translation", "res://soak_stats.gather.translation", "res://soak_stats.build.translation", "res://soak_stats.trade.translation", "res://soak_stats.rest.translation", "res://soak_stats.social.translation", "res://soak_stats.shelters.translation", "res://soak_stats.ruins.translation", "res://soak_stats.avg.translation", "res://soak_stats.upkeep.translation", "res://soak_stats.burn.translation", "res://soak_stats.modules.translation", "res://soak_stats.granary.translation", "res://soak_stats.avg.translation", "res://soak_stats.refusals.translation"]
source_file="res://soak_stats.csv"
dest_files=["res://soak_stats.season.translation", "res://soak_stats.wood.translation", "res://soak_stats.stone.translation", "res://soak_stats.clay.translation", "res://soak_stats.food.translation", "res://soak_stats.harvested.translation", "res://soak_stats.trades.translation", "res://soak_stats.avg.translation", "res://soak_stats.avg.translation", "res://soak_stats.avg.translation", "res://soak_stats.carried.translation", "res://soak_stats.gather.translation", "res://soak_stats.build.translation", "res://soak_stats.trade.translation", "res://soak_stats.rest.translation", "res://soak_stats.social.translation", "res://soak_stats.shelters.translation", "res://soak_stats.ruins.translation", "res://soak_stats.avg.translation", "res://soak_stats.upkeep.translation", "res://soak_stats.burn.translation", "res://soak_stats.modules.translation", "res://soak_stats.granary.translation"]
dest_files=["res://soak_stats.season.translation", "res://soak_stats.wood.translation", "res://soak_stats.stone.translation", "res://soak_stats.clay.translation", "res://soak_stats.food.translation", "res://soak_stats.harvested.translation", "res://soak_stats.trades.translation", "res://soak_stats.avg.translation", "res://soak_stats.avg.translation", "res://soak_stats.avg.translation", "res://soak_stats.carried.translation", "res://soak_stats.gather.translation", "res://soak_stats.build.translation", "res://soak_stats.trade.translation", "res://soak_stats.rest.translation", "res://soak_stats.social.translation", "res://soak_stats.shelters.translation", "res://soak_stats.ruins.translation", "res://soak_stats.avg.translation", "res://soak_stats.upkeep.translation", "res://soak_stats.burn.translation", "res://soak_stats.modules.translation", "res://soak_stats.granary.translation", "res://soak_stats.avg.translation", "res://soak_stats.refusals.translation"]
[params]