feat(@projects/@magic-civilization): add personality axes page implementation

Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
This commit is contained in:
Natalie 2026-04-16 14:46:43 -07:00
parent 63d005a853
commit 0b7a4b291e

View file

@ -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