using System; using UnityEngine; namespace Nox.Game { [CreateAssetMenu(fileName = "CharacterBaseSettings", menuName = "Nox/Database/Entities/CharacterBaseSettings")] public class StarterCharacterSettings: ScriptableObject { [Header("Character Creation Defaults")] public DistributionPointsPerClass[] distributionPointsPerClass; public EntityAttributes defaultEntityAttributes; public EntityStats defaultEntityStats; public PerksData defaultPerksData; public ModifiersData defaultModifiersData; [Header("General Racial Bonuses and Perks per Class")] public RacialBonuses [] racialBonuses; public ClassBonuses [] classBonuses; [Header("Party System Defaults")] public int maxPartySize = 4; } [Serializable] public sealed class RacialBonuses { public CharacterRace race; public EntityAttributes bonusAttributes; public EntityStats bonusStats; public PerksData startingPerks; public ModifiersData permanentModifiers; } [Serializable] public sealed class ClassBonuses { public CharacterClass @class; public EntityAttributes bonusAttributes; public EntityStats bonusStats; public PerksData startingPerks; public ModifiersData permanentModifiers; } [Serializable] public sealed class DistributionPointsPerClass { public CharacterClass @class; public int points; } }