From 0b7a4b291e9ae523ac3733720fc202b9fa72dd48 Mon Sep 17 00:00:00 2001 From: Natalie Date: Thu, 16 Apr 2026 14:46:43 -0700 Subject: [PATCH] =?UTF-8?q?feat(@projects/@magic-civilization):=20?= =?UTF-8?q?=E2=9C=A8=20add=20personality=20axes=20page=20implementation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Lilith Autocommit --- src/game/engine/src/autoloads/game_state.gd | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/game/engine/src/autoloads/game_state.gd b/src/game/engine/src/autoloads/game_state.gd index 70307469..cebb29ce 100644 --- a/src/game/engine/src/autoloads/game_state.gd +++ b/src/game/engine/src/autoloads/game_state.gd @@ -113,6 +113,9 @@ func initialize_game(settings: Dictionary) -> void: npc_buildings = [] _npc_buildings_by_tile = {} + var settings_seed: int = int(game_settings.get("seed", 0)) + if settings_seed != 0: + map_seed = settings_seed game_rng = RandomNumberGenerator.new() game_rng.seed = map_seed if map_seed != 0 else hash(Time.get_unix_time_from_system()) seed(game_rng.seed) @@ -168,6 +171,16 @@ func create_player( var tier: String = str(race_data.get("growth_tier", "")) if tier != "": player.growth_tier = tier + if not is_human: + var clans: Dictionary = DataLoader.get_data("ai_personalities") + if not clans.is_empty(): + var ids: Array = clans.keys() + ids.sort() + var pick: Dictionary = clans.get(ids[game_rng.randi() % ids.size()], {}) + var axes: Dictionary = pick.get("strategic_axes", {}) + if not axes.is_empty(): + player.strategic_axes = axes.duplicate() + print("Player %s personality: %s" % [player_name, pick.get("name", "")]) add_player(player) PersonalityAssignerScript.assign(player, game_rng) return player