added so you can choose race when starting the game.

This commit is contained in:
2026-01-30 08:31:33 +01:00
parent dabec8a119
commit 3b2af36231
73 changed files with 4241 additions and 1107 deletions

View File

@@ -207,10 +207,18 @@ func _find_local_player():
if local_players.size() > 0:
local_player = local_players[0]
if local_player and local_player.character_stats:
# Connect to character_changed signal
# Connect to character_changed signal (for inventory/equipment changes)
if local_player.character_stats.character_changed.is_connected(_on_character_changed):
local_player.character_stats.character_changed.disconnect(_on_character_changed)
local_player.character_stats.character_changed.connect(_on_character_changed)
# Connect to mana_changed signal (for mana updates only - don't rebuild UI)
if local_player.character_stats.mana_changed.is_connected(_on_mana_changed):
local_player.character_stats.mana_changed.disconnect(_on_mana_changed)
local_player.character_stats.mana_changed.connect(_on_mana_changed)
# Connect to health_changed signal (for HP updates only - don't rebuild UI)
if local_player.character_stats.health_changed.is_connected(_on_health_changed):
local_player.character_stats.health_changed.disconnect(_on_health_changed)
local_player.character_stats.health_changed.connect(_on_health_changed)
# Initial update
_update_ui()
_update_stats()
@@ -1396,6 +1404,20 @@ func _on_inventory_item_gui_input(event: InputEvent, item: Item):
# Use the same logic as E key to drop
_handle_e_key()
func _on_mana_changed(new_mana: float, max_mana: float):
# Update only MP bar and label when mana changes (don't rebuild entire UI)
if mp_progress_bar and mp_value_label:
mp_progress_bar.max_value = max(1.0, max_mana)
mp_progress_bar.value = new_mana
mp_value_label.text = str(int(new_mana)) + "/" + str(int(max_mana))
func _on_health_changed(new_hp: float, max_hp: float):
# Update only HP bar and label when health changes (don't rebuild entire UI)
if hp_progress_bar and hp_value_label:
hp_progress_bar.max_value = max(1.0, max_hp)
hp_progress_bar.value = new_hp
hp_value_label.text = str(int(new_hp)) + "/" + str(int(max_hp))
func _on_character_changed(_char: CharacterStats):
# Always update stats when character changes (even if inventory is closed)
# Equipment changes affect max HP/MP which should be reflected everywhere