D: Workbench._last_consumed_ingredient transient field captures the carried item before queue_free so cremation_pyre.on_craft_complete can emit corpse_cremated with the real ref. Falls back to proximity scan. Pawn._on_corpse_cremated null-guarded. E: removed redundant r.ingredient_count = 0 from recipe_catalog. Field kept on Recipe for save round-trip compat; nothing reads it functionally. F: save_system._spawn_workbench simplified from 15 lines to 6 — let from_dict do all field restoration. Fixed workbench.from_dict to call _complete() instead of bare _completed=true, which was skipping light enable + beauty register + designation clear. Stale ingredient1/2 buffering comment in job_runner._tick_craft fixed. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| bill.gd | ||
| bill.gd.uid | ||
| chop_provider.gd | ||
| chop_provider.gd.uid | ||
| cleaning_provider.gd | ||
| cleaning_provider.gd.uid | ||
| construction_provider.gd | ||
| construction_provider.gd.uid | ||
| crafting_provider.gd | ||
| crafting_provider.gd.uid | ||
| decision.gd | ||
| decision.gd.uid | ||
| doctor_provider.gd | ||
| doctor_provider.gd.uid | ||
| eat_provider.gd | ||
| eat_provider.gd.uid | ||
| hauling_provider.gd | ||
| hauling_provider.gd.uid | ||
| job.gd | ||
| job.gd.uid | ||
| job_runner.gd | ||
| job_runner.gd.uid | ||
| mine_provider.gd | ||
| mine_provider.gd.uid | ||
| plant_provider.gd | ||
| plant_provider.gd.uid | ||
| quality.gd | ||
| quality.gd.uid | ||
| recipe.gd | ||
| recipe.gd.uid | ||
| recipe_catalog.gd | ||
| recipe_catalog.gd.uid | ||
| rest_provider.gd | ||
| rest_provider.gd.uid | ||
| sleep_provider.gd | ||
| sleep_provider.gd.uid | ||
| status.gd | ||
| status.gd.uid | ||
| status_catalog.gd | ||
| status_catalog.gd.uid | ||
| thought.gd | ||
| thought.gd.uid | ||
| thought_catalog.gd | ||
| thought_catalog.gd.uid | ||
| toil.gd | ||
| toil.gd.uid | ||
| wolf_spawner.gd | ||
| wolf_spawner.gd.uid | ||
| work_provider.gd | ||
| work_provider.gd.uid | ||