forked from Shardstone/trail-into-darkness
53 lines
1.7 KiB
C#
53 lines
1.7 KiB
C#
using System;
|
|
using UnityEngine;
|
|
using Random = UnityEngine.Random;
|
|
|
|
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 CharacterRace race;
|
|
|
|
public CharacterClass @class;
|
|
public RacialBonuses [] racialBonuses;
|
|
public ClassBonuses [] classBonuses;
|
|
|
|
|
|
private void OnEnable() {
|
|
race = (CharacterRace)Random.Range(0, Enum.GetNames(typeof(CharacterRace)).Length-1);
|
|
@class = (CharacterClass)Random.Range(0, Enum.GetNames(typeof(CharacterClass)).Length-1);
|
|
}
|
|
}
|
|
|
|
[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;
|
|
}
|
|
}
|