fix six critical bugs from audit sprint
save/load round-trip: workbench bills, crop static-method, bed owner, wolf target now all survive reload via Bill.from_dict reconstruction, _spawn_crop using setup(), and a new _post_load_resolve_references pass. PlantProvider: sow path added; consumes 1 grain on a TILLED crop tile. CraftingProvider: ingredient2 supported via new KIND_DEPOSIT_AT_WB toil and Workbench.deposited_inputs buffer. Cremation pyre now actually consumes wood. HaulingProvider: per-item haul_retry_count + haul_rejected after 3 orphan passes; new EventBus.stockpile_layout_changed resets rejects on any player stockpile edit. Storyteller: 14 stubbed event effects implemented. New buff registry (add_buff/get_buff_multiplier/has_buff, day-prune, save/load) drives seasonal/resource events. New request_pawn_spawn signal + WANDERER table for arrivals. New SICK status + 3 mood thoughts. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
00cf8f445d
commit
d9638a4ea4
19 changed files with 711 additions and 101 deletions
|
|
@ -246,6 +246,7 @@ func _on_priority_pressed(prio_index: int) -> void:
|
|||
return
|
||||
current_zone.priority = prio_index as StorageDestination.Priority
|
||||
_update_priority_row()
|
||||
EventBus.stockpile_layout_changed.emit()
|
||||
Audit.log("stockpile_panel", "priority → %d" % prio_index)
|
||||
|
||||
|
||||
|
|
@ -256,6 +257,7 @@ func _on_select_all_pressed() -> void:
|
|||
# while this button's pressed signal is still emitting.
|
||||
current_zone.accepted_types.clear()
|
||||
call_deferred("_populate_chips")
|
||||
EventBus.stockpile_layout_changed.emit()
|
||||
Audit.log("stockpile_panel", "select_all → wildcard mode")
|
||||
|
||||
|
||||
|
|
@ -272,6 +274,7 @@ func _on_clear_all_pressed() -> void:
|
|||
current_zone.priority = StorageDestination.Priority.OFF
|
||||
_update_priority_row()
|
||||
call_deferred("_populate_chips")
|
||||
EventBus.stockpile_layout_changed.emit()
|
||||
Audit.log("stockpile_panel", "clear_all → priority OFF")
|
||||
|
||||
|
||||
|
|
@ -363,6 +366,7 @@ func _on_chip_pressed(type: StringName) -> void:
|
|||
|
||||
# Defer the rebuild — don't free this chip while its pressed signal emits.
|
||||
call_deferred("_populate_chips")
|
||||
EventBus.stockpile_layout_changed.emit()
|
||||
Audit.log("stockpile_panel", "chip toggled: %s → accepted_types size=%d" % [
|
||||
type, current_zone.accepted_types.size()
|
||||
])
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue