som qol fixes

This commit is contained in:
Sebastian Bularca
2026-04-06 01:35:15 +02:00
parent 236bf1a647
commit a807405585
2 changed files with 13 additions and 10 deletions

View File

@@ -23,14 +23,14 @@ namespace Nox.Game {
} }
var healthModifiers = modifierResolver.CollectModifiers(entityDefinition, StatType.Health); var healthModifiers = modifierResolver.CollectModifiers(entityDefinition, StatType.Health);
var staminaModifiers = modifierResolver.CollectModifiers(entityDefinition, StatType.Mana); var manaModifiers = modifierResolver.CollectModifiers(entityDefinition, StatType.Mana);
var levelModifiers = modifierResolver.CollectModifiers(entityDefinition, StatType.Level); var levelModifiers = modifierResolver.CollectModifiers(entityDefinition, StatType.Level);
var experienceModifiers = modifierResolver.CollectModifiers(entityDefinition, StatType.Experience); var experienceModifiers = modifierResolver.CollectModifiers(entityDefinition, StatType.Experience);
return new EntityStats { return new EntityStats {
stats = new[] { stats = new[] {
new Stat(StatType.Health, modifierResolver.Resolve(baseSettings.defaultEntityStats.GetValue(StatType.Health), healthModifiers, entityDefinition)), new Stat(StatType.Health, modifierResolver.Resolve(baseSettings.defaultEntityStats.GetValue(StatType.Health), healthModifiers, entityDefinition)),
new Stat(StatType.Mana, modifierResolver.Resolve(baseSettings.defaultEntityStats.GetValue(StatType.Mana), staminaModifiers, entityDefinition)), new Stat(StatType.Mana, modifierResolver.Resolve(baseSettings.defaultEntityStats.GetValue(StatType.Mana), manaModifiers, entityDefinition)),
new Stat(StatType.Level, modifierResolver.Resolve(baseSettings.defaultEntityStats.GetValue(StatType.Level), levelModifiers, entityDefinition)), new Stat(StatType.Level, modifierResolver.Resolve(baseSettings.defaultEntityStats.GetValue(StatType.Level), levelModifiers, entityDefinition)),
new Stat(StatType.Experience, modifierResolver.Resolve(baseSettings.defaultEntityStats.GetValue(StatType.Experience), experienceModifiers, entityDefinition)) new Stat(StatType.Experience, modifierResolver.Resolve(baseSettings.defaultEntityStats.GetValue(StatType.Experience), experienceModifiers, entityDefinition))
} }

View File

@@ -35,7 +35,7 @@ namespace Nox.UI {
private int remainingPoints; private int remainingPoints;
private readonly int[] allocatedPoints = new int[4]; // Might, Reflex, Knowledge, Perception (AttributeType 1-4) private readonly int[] allocatedPoints = new int[4]; // Might, Reflex, Knowledge, Perception (AttributeType 1-4)
private int previousHealth; private int previousHealth;
private int previousStamina; private int previousMana;
// Modifier source tracking // Modifier source tracking
private PerksData racialPerks = new(); private PerksData racialPerks = new();
@@ -87,8 +87,11 @@ namespace Nox.UI {
var canStart = characterCreationRequests is { Count: > 0 }; var canStart = characterCreationRequests is { Count: > 0 };
characterCreationReference.startGameButton.interactable = canStart; characterCreationReference.startGameButton.interactable = canStart;
}; };
characterCreationReference.startGameButton.interactable = false;
characterCreationReference.startGameButton.onClick.AddListener(() => { characterCreationReference.startGameButton.onClick.AddListener(() => {
if(characterCreationRequests == null || characterCreationRequests.Count == 0) {
inGameLogger.Log("You must accept your character before starting the game.", "#FF4444");
return;
}
Hide(); Hide();
menuGameStateData.startGameRequests?.Invoke(PlayMode.Adventure); menuGameStateData.startGameRequests?.Invoke(PlayMode.Adventure);
}); });
@@ -182,7 +185,7 @@ namespace Nox.UI {
// Initialize previous values so first change doesn't log a delta from 0 // Initialize previous values so first change doesn't log a delta from 0
previousHealth = workingStats.GetValue(StatType.Health); previousHealth = workingStats.GetValue(StatType.Health);
previousStamina = workingStats.GetValue(StatType.Mana); previousMana = workingStats.GetValue(StatType.Mana);
} }
private void ApplyRacialBonuses() { private void ApplyRacialBonuses() {
@@ -291,19 +294,19 @@ namespace Nox.UI {
// 10. Log stat deltas // 10. Log stat deltas
var newHealth = workingStats.GetValue(StatType.Health); var newHealth = workingStats.GetValue(StatType.Health);
var newStamina = workingStats.GetValue(StatType.Mana); var newMana = workingStats.GetValue(StatType.Mana);
if(newHealth != previousHealth && previousHealth != 0) { if(newHealth != previousHealth && previousHealth != 0) {
var delta = newHealth - previousHealth; var delta = newHealth - previousHealth;
var sign = delta > 0 ? "+" : ""; var sign = delta > 0 ? "+" : "";
inGameLogger.Log($"Health: {previousHealth} -> {newHealth} ({sign}{delta})", "#87CEEB"); inGameLogger.Log($"Health: {previousHealth} -> {newHealth} ({sign}{delta})", "#87CEEB");
} }
if(newStamina != previousStamina && previousStamina != 0) { if(newMana != previousMana && previousMana != 0) {
var delta = newStamina - previousStamina; var delta = newMana - previousMana;
var sign = delta > 0 ? "+" : ""; var sign = delta > 0 ? "+" : "";
inGameLogger.Log($"Stamina: {previousStamina} -> {newStamina} ({sign}{delta})", "#FFFF99"); inGameLogger.Log($"Mana: {previousMana} -> {newMana} ({sign}{delta})", "#FFFF99");
} }
previousHealth = newHealth; previousHealth = newHealth;
previousStamina = newStamina; previousMana = newMana;
} }
private PerksData BuildCombinedPerks() { private PerksData BuildCombinedPerks() {