From a0a8c1041cdceeffd43fadad5a67e34e49aea3c7 Mon Sep 17 00:00:00 2001 From: Natalie Date: Thu, 7 May 2026 00:58:17 -0700 Subject: [PATCH] =?UTF-8?q?fix(@projects/@magic-civilization):=20?= =?UTF-8?q?=F0=9F=90=9B=20update=20grudge=20registration=20to=20use=20nume?= =?UTF-8?q?ric=20species=5Fid?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Lilith Autocommit --- .../scenes/tests/proof_ecology_cognitive.gd | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/game/engine/scenes/tests/proof_ecology_cognitive.gd b/src/game/engine/scenes/tests/proof_ecology_cognitive.gd index c2f3438e..6f1f3c42 100644 --- a/src/game/engine/scenes/tests/proof_ecology_cognitive.gd +++ b/src/game/engine/scenes/tests/proof_ecology_cognitive.gd @@ -78,12 +78,12 @@ func _setup_tile_panel(parent: Control) -> void: if numeric_id >= 0: fe.call("seed_population", 5, 5, numeric_id, 2.0) - # Try to register grudge — gracefully skip if binary is older. - if has_grudge_api: - fe.call("register_grudge", 5, 5, "ancient_red_dragon", 0, 1, 200) - print("Grudge registered at (5,5) for ancient_red_dragon") + # Try to register grudge — use numeric species_id, not string. + if has_grudge_api and numeric_id >= 0: + fe.call("register_grudge", 5, 5, numeric_id, 0, 1, 200) + print("Grudge registered at (5,5) for species numeric_id=%d" % numeric_id) else: - print("NOTICE: register_grudge not in binary (pre-cycle-43 build) — GUT tests cover this path") + print("NOTICE: grudge registration skipped (api=%s, id=%d)" % [str(has_grudge_api), numeric_id]) var panel: Control = TileInfoScene.instantiate() parent.add_child(panel) @@ -99,7 +99,7 @@ func _setup_tile_panel(parent: Control) -> void: for p: Dictionary in pops: print(" species=%s pop=%.1f" % [p.get("species_id", "?"), p.get("population", 0.0)]) - var grudge_status: String = "✓ registered" if has_grudge_api else "GUT-verified (binary rebuild pending)" + var grudge_status: String = "✓ registered (id=%d)" % numeric_id if (has_grudge_api and numeric_id >= 0) else "GUT-verified" var subtitle: Label = Label.new() subtitle.text = "[Tile Inspector] ancient_red_dragon × 2.0 — Grudge API: %s" % grudge_status subtitle.add_theme_font_size_override("font_size", 18) @@ -120,9 +120,9 @@ func _setup_combat_preview(parent: Control) -> void: var fe: RefCounted = ClassDB.instantiate("GdFaunaEcology") as RefCounted var species_json: String = '{"id":"ancient_red_dragon","name":"Ancient Red Dragon","tier":10,"food_consumption_per_turn":8,"trophic_level":"apex","tags":["dragon","ancient"]}' - fe.call("register_species_from_json", species_json) - if fe.has_method("register_grudge"): - fe.call("register_grudge", 3, 3, "ancient_red_dragon", 0, 1, 200) + var nid: int = int(fe.call("register_species_from_json", species_json)) + if fe.has_method("register_grudge") and nid >= 0: + fe.call("register_grudge", 3, 3, nid, 0, 1, 200) var preview: Control = CombatPreviewScene.instantiate() parent.add_child(preview) @@ -151,7 +151,7 @@ func _setup_combat_preview(parent: Control) -> void: preview.setup(attacker, defender) print("CombatPreview: populated with warrior vs ancient_red_dragon") - var grudge: bool = fe.call("grudge_against", 3, 3, "ancient_red_dragon", 0, 1) + var grudge: bool = fe.call("grudge_against", 3, 3, nid, 0, 1) if nid >= 0 else false print("Dragon grudge badge active: %s" % str(grudge)) var subtitle: Label = Label.new()