connected the default test settings

This commit is contained in:
Sebastian Bularca
2026-04-05 17:42:29 +02:00
parent 4d83483034
commit bb75524cd8
6 changed files with 67 additions and 27 deletions

View File

@@ -16,7 +16,7 @@ namespace Nox.Game {
public List<PartyDefinitionSet> testPartyDefinitionSets;
[Header("Testing Party Definition Sets")]
public StarterCharacterSettings testStarterCharacterSettings;
public StarterCharacterSettings[] testStarterCharacterSettings;
private void OnValidate() {
if(String.IsNullOrEmpty(testStartingSetId)) {
@@ -37,7 +37,9 @@ namespace Nox.Game {
if(testPartyDefinitionSets.AsValueEnumerable().FirstOrDefault(pds => pds.id == partyDefinitionSet.id && pds.isTestingSet) != null) {
var testingSet = testPartyDefinitionSets.AsValueEnumerable().FirstOrDefault(pds => pds.id == partyDefinitionSet.id && pds.isTestingSet);
ApplyClassAndRacialBonuses(testingSet);
foreach(var characterSetting in testStarterCharacterSettings) {
ApplyClassAndRacialBonuses(testingSet, characterSetting);
}
}
if(partyDefinition.members.Count <= partyDefinition.maxPartySize) {
@@ -47,12 +49,12 @@ namespace Nox.Game {
partyDefinition.members.RemoveRange(partyDefinition.maxPartySize, partyDefinition.members.Count - partyDefinition.maxPartySize);
}
}
private void ApplyClassAndRacialBonuses(PartyDefinitionSet testingSet) {
private void ApplyClassAndRacialBonuses(PartyDefinitionSet testingSet, StarterCharacterSettings starterCharacterSettings) {
var partyDefinition = testingSet.partyDefinition;
foreach(var member in partyDefinition.members) {
var baseSettings = testStarterCharacterSettings.defaultEntityAttributes;
var classAttributes = testStarterCharacterSettings.classBonuses.AsValueEnumerable().FirstOrDefault(c => c.@class == member.Class)?.bonusAttributes;
var racialAttributes = testStarterCharacterSettings.racialBonuses.AsValueEnumerable().FirstOrDefault(rb => rb.race == member.Race)?.bonusAttributes;
var baseSettings = starterCharacterSettings.defaultEntityAttributes;
var classAttributes = starterCharacterSettings.classBonuses.AsValueEnumerable().FirstOrDefault(c => c.@class == member.Class)?.bonusAttributes;
var racialAttributes = starterCharacterSettings.racialBonuses.AsValueEnumerable().FirstOrDefault(rb => rb.race == member.Race)?.bonusAttributes;
if (classAttributes != null && racialAttributes != null) {
member.Attributes += baseSettings + classAttributes + racialAttributes;
}