fix(@projects/@magic-civilization): 🐛 update beacon_tower unlocks logic
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
This commit is contained in:
parent
aa4d0f86a0
commit
b47a8034b4
5 changed files with 19 additions and 15 deletions
|
|
@ -473,13 +473,13 @@
|
|||
"gunpowder"
|
||||
],
|
||||
"unlocks": {
|
||||
"buildings": [
|
||||
"beacon_tower"
|
||||
],
|
||||
"buildings": [],
|
||||
"units": [
|
||||
"beacon_bearer"
|
||||
],
|
||||
"improvements": []
|
||||
"improvements": [
|
||||
"beacon_tower"
|
||||
]
|
||||
},
|
||||
"flavor": "Fire speaks faster than any runner. But fire can be put out.",
|
||||
"encyclopedia": {
|
||||
|
|
|
|||
|
|
@ -296,9 +296,7 @@
|
|||
"tracking"
|
||||
],
|
||||
"unlocks": {
|
||||
"buildings": [
|
||||
"tunnel_mouth"
|
||||
],
|
||||
"buildings": [],
|
||||
"units": [
|
||||
"tunnel_runner"
|
||||
],
|
||||
|
|
|
|||
|
|
@ -320,7 +320,8 @@ func get_legal_actions() -> Array[Dictionary]:
|
|||
is_deployed,
|
||||
is_embarked,
|
||||
has_adjacent_water,
|
||||
has_adjacent_land
|
||||
has_adjacent_land,
|
||||
{}
|
||||
)
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -288,10 +288,15 @@ func test_build_json_embeds_clan_weights_when_ctrl_present() -> void:
|
|||
GameState.players = [p0]
|
||||
|
||||
var ctrl: RefCounted = ClassDB.instantiate("GdMcTreeController")
|
||||
var data_dir: String = ProjectSettings.globalize_path(
|
||||
"res://public/games/age-of-dwarves/data"
|
||||
# build_mc_tree_state expects ai_personalities.json *contents* (JSON string),
|
||||
# not a directory path — the Rust bridge variant is
|
||||
# scoring_weights_for_clan_json. Loading the file contents here matches the
|
||||
# production path (ai_turn_bridge.gd::_load_ai_personalities_json).
|
||||
var personalities_path: String = (
|
||||
"res://public/games/age-of-dwarves/data/ai_personalities.json"
|
||||
)
|
||||
var gs: Dictionary = StateScript.build_mc_tree_state(ctrl, data_dir)
|
||||
var personalities_json: String = FileAccess.get_file_as_string(personalities_path)
|
||||
var gs: Dictionary = StateScript.build_mc_tree_state(ctrl, personalities_json)
|
||||
var players_arr: Array = gs["players"] as Array
|
||||
var p_dict: Dictionary = players_arr[0] as Dictionary
|
||||
|
||||
|
|
|
|||
|
|
@ -126,7 +126,7 @@ func test_gd_unit_actions_bridge_legal_actions_for_military() -> void:
|
|||
pass_test("GdUnitActions not loaded in headless — skipping bridge test")
|
||||
return
|
||||
var bridge: RefCounted = ClassDB.instantiate("GdUnitActions") as RefCounted
|
||||
var actions: Array[Dictionary] = bridge.legal_actions_for("military", "", true, false, false, false, false, false, false)
|
||||
var actions: Array[Dictionary] = bridge.legal_actions_for("military", "", true, false, false, false, false, false, false, {})
|
||||
assert_true(actions.size() >= 2, "military unit with movement gets multiple actions")
|
||||
var kinds: Array[String] = []
|
||||
for d: Dictionary in actions:
|
||||
|
|
@ -140,7 +140,7 @@ func test_gd_unit_actions_bridge_founder_gets_found_city() -> void:
|
|||
pass_test("GdUnitActions not loaded in headless — skipping bridge test")
|
||||
return
|
||||
var bridge: RefCounted = ClassDB.instantiate("GdUnitActions") as RefCounted
|
||||
var actions: Array[Dictionary] = bridge.legal_actions_for("civilian", "founder", true, false, false, false, false, false, false)
|
||||
var actions: Array[Dictionary] = bridge.legal_actions_for("civilian", "founder", true, false, false, false, false, false, false, {})
|
||||
var kinds: Array[String] = []
|
||||
for d: Dictionary in actions:
|
||||
kinds.append(d.get("kind", ""))
|
||||
|
|
@ -152,7 +152,7 @@ func test_gd_unit_actions_bridge_fortified_cannot_fortify_again() -> void:
|
|||
pass_test("GdUnitActions not loaded in headless — skipping bridge test")
|
||||
return
|
||||
var bridge: RefCounted = ClassDB.instantiate("GdUnitActions") as RefCounted
|
||||
var actions: Array[Dictionary] = bridge.legal_actions_for("military", "", false, true, false, false, false, false, false)
|
||||
var actions: Array[Dictionary] = bridge.legal_actions_for("military", "", false, true, false, false, false, false, false, {})
|
||||
for d: Dictionary in actions:
|
||||
if d.get("kind", "") == "fortify":
|
||||
assert_false(d.get("enabled", true), "fortify disabled when already fortified")
|
||||
|
|
@ -164,7 +164,7 @@ func test_gd_unit_actions_bridge_sentrying_unit_shows_unsentry() -> void:
|
|||
return
|
||||
var bridge: RefCounted = ClassDB.instantiate("GdUnitActions") as RefCounted
|
||||
# is_sentrying = true
|
||||
var actions: Array[Dictionary] = bridge.legal_actions_for("melee", "", true, false, true, false, false, false, false)
|
||||
var actions: Array[Dictionary] = bridge.legal_actions_for("melee", "", true, false, true, false, false, false, false, {})
|
||||
var by_kind: Dictionary = {}
|
||||
for d: Dictionary in actions:
|
||||
by_kind[d.get("kind", "")] = d
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue