Record original-alignment implementation and traceability checkpoint
Capture current source, content data, tests, asset licenses, and original-specification traceability. Original implementation remains incomplete. The accepted matching UI generation passed 154 suites and 12,253 checks, with eight rendered staff-contract screens reviewed. Latest native Windows and full-original acceptance remain outstanding.
This commit is contained in:
+24
@@ -0,0 +1,24 @@
|
||||
[gd_resource type="Resource" script_class="FacilityDefinition" load_steps=2 format=3]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/data/facility_definition.gd" id="1"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1")
|
||||
id = &"premium_room"
|
||||
display_name = "上級客室"
|
||||
description = "富裕客と長期滞在客向けの静かな地上客室。一般客室より高い品質と料金を持つ。"
|
||||
zone = 1
|
||||
layer = 0
|
||||
footprint = Vector2i(3, 2)
|
||||
construction_cost = {&"gold": 900, &"materials": 10}
|
||||
build_minutes = 150
|
||||
weight_per_cell = 2
|
||||
maintenance_mana = 1
|
||||
staff_min = 0
|
||||
staff_max = 0
|
||||
capacity = 2
|
||||
queue_capacity = 2
|
||||
base_service_minutes = 720
|
||||
base_quality = 70
|
||||
base_price = 220
|
||||
tags = Array[StringName]([&"expansion", &"lodging", &"premium", &"quiet"])
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
[gd_resource type="Resource" script_class="FacilityDefinition" load_steps=2 format=3]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/data/facility_definition.gd" id="1"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1")
|
||||
id = &"staff_dormitory"
|
||||
display_name = "従業員宿舎"
|
||||
description = "勤務の合間に従業員が睡眠と長時間休息を取るBACK居住区画。"
|
||||
zone = 1
|
||||
layer = 1
|
||||
footprint = Vector2i(4, 2)
|
||||
construction_cost = {&"gold": 650, &"materials": 8}
|
||||
build_minutes = 150
|
||||
weight_per_cell = 1
|
||||
maintenance_mana = 1
|
||||
power_priority = 35
|
||||
staff_min = 0
|
||||
staff_max = 0
|
||||
capacity = 12
|
||||
queue_capacity = 0
|
||||
base_service_minutes = 360
|
||||
base_quality = 58
|
||||
base_price = 0
|
||||
tags = Array[StringName]([&"back_of_house", &"expansion", &"recovery", &"staff_only", &"staff_support"])
|
||||
Vendored
+24
@@ -0,0 +1,24 @@
|
||||
extends RefCounted
|
||||
|
||||
## Build a genuine pre-v10 fixture only when no upkeep ledger history exists.
|
||||
static func strip_empty_upkeep(data: Dictionary) -> void:
|
||||
for entry: Dictionary in data[&"economy"][&"entries"]:
|
||||
assert(String(entry.get(&"category", "")) not in ["MAINTENANCE_ACCRUAL", "MAINTENANCE_PAYMENT"])
|
||||
data.erase(&"weather")
|
||||
data.erase(&"facility_cleanliness")
|
||||
data.erase(&"facility_upkeep")
|
||||
data.erase(&"upkeep_settlement")
|
||||
var accounts: Array = data[&"economy"][&"accounts"]
|
||||
for index in range(accounts.size() - 1, -1, -1):
|
||||
if String(accounts[index][&"account_id"]) in ["MAINTENANCE_EXPENSE", "MAINTENANCE_PAYABLE"]:
|
||||
accounts.remove_at(index)
|
||||
|
||||
static func migrated_accrual(minute: int) -> Dictionary:
|
||||
var accrual := FacilityUpkeepAccrual.new()
|
||||
accrual.start_at(minute)
|
||||
return accrual.create_snapshot()
|
||||
|
||||
static func migrated_weather(minute: int) -> Dictionary:
|
||||
var weather = preload("res://scripts/environment/weather_timeline.gd").new()
|
||||
weather.initialize(&"clear", minute)
|
||||
return weather.create_snapshot()
|
||||
+1
@@ -0,0 +1 @@
|
||||
uid://b0s2m5gt63axs
|
||||
Reference in New Issue
Block a user