Ground widened add-building descriptor names
This commit is contained in:
parent
b2da02befa
commit
a3df447186
6 changed files with 287 additions and 15 deletions
|
|
@ -115,8 +115,21 @@ def load_cargo_bindings(raw_table_path: Path) -> dict[int, dict[str, object]]:
|
|||
}
|
||||
|
||||
|
||||
def load_building_bindings(raw_table_path: Path) -> dict[int, dict[str, object]]:
|
||||
bindings_path = raw_table_path.parent / "event-effects-building-bindings.json"
|
||||
if not bindings_path.exists():
|
||||
return {}
|
||||
artifact = json.loads(bindings_path.read_text(encoding="utf-8"))
|
||||
return {
|
||||
int(binding["descriptor_id"]): binding
|
||||
for binding in artifact.get("bindings", [])
|
||||
}
|
||||
|
||||
|
||||
def classify(
|
||||
row: dict[str, object], cargo_bindings: dict[int, dict[str, object]]
|
||||
row: dict[str, object],
|
||||
cargo_bindings: dict[int, dict[str, object]],
|
||||
building_bindings: dict[int, dict[str, object]],
|
||||
) -> dict[str, object]:
|
||||
descriptor_id = int(row["descriptor_id"])
|
||||
label = str(row["label"])
|
||||
|
|
@ -223,7 +236,11 @@ def classify(
|
|||
executable_in_runtime = True
|
||||
elif 503 <= descriptor_id <= 613:
|
||||
parameter_family = "world_building_spawn"
|
||||
label = f"Add Building Slot {descriptor_id - 502}"
|
||||
binding = building_bindings.get(descriptor_id)
|
||||
if binding is not None:
|
||||
label = f"Add Building {binding['candidate_name']}"
|
||||
else:
|
||||
label = f"Add Building Slot {descriptor_id - 502}"
|
||||
runtime_status = "shell_owned"
|
||||
elif "Earthquake" in label or "Storm" in label:
|
||||
parameter_family = "world_disaster_scalar"
|
||||
|
|
@ -249,7 +266,11 @@ def main() -> None:
|
|||
|
||||
raw_artifact = json.loads(args.raw_table.read_text(encoding="utf-8"))
|
||||
cargo_bindings = load_cargo_bindings(args.raw_table)
|
||||
descriptors = [classify(row, cargo_bindings) for row in raw_artifact["descriptors"]]
|
||||
building_bindings = load_building_bindings(args.raw_table)
|
||||
descriptors = [
|
||||
classify(row, cargo_bindings, building_bindings)
|
||||
for row in raw_artifact["descriptors"]
|
||||
]
|
||||
artifact = {
|
||||
"descriptor_count": len(descriptors),
|
||||
"raw_table_binary_sha256": raw_artifact.get("binary_sha256"),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue