using System.Collections; using System.Collections.Generic; using System.Linq; using UnityEngine; /// /// 职业 - 数据 /// public class DataProfession : DataAttribute { /// 职业名称 public string name; /// 职业等级 public int level = 0; /// 生命骰子 public int hitDice = 0; /// 累计生命点 public List hitPoints = new List(); /// 升级:骰生命骰子+体质调整值 public void Upgrade(int modifier) { level++; int hitPoint = Dice.Roll(hitDice) + modifier; hitPoints.Add(hitPoint); } /// 生命点:每级生命点总和 public int HitPoint() { return hitPoints.Sum(); } /// 无职业 public static DataProfession None() { return new DataProfession() { name = "无" }; } /// 战士职业 public static DataProfession Warrior(int modifier) { DataProfession profession = new DataProfession(); // 战士,初始1级,1d10生命骰子,初始生命=满生命骰子+体质调整值 profession.name = "战士"; profession.level = 1; profession.hitDice = 10; profession.hitPoints.Add(profession.hitDice + modifier); // 职业属性加成 profession.Str = 2; profession.Con = 1; return profession; } /// 法师职业 public static DataProfession Wizard(int modifier) { DataProfession profession = new DataProfession(); // 法师,初始1级,1d6生命骰子,初始生命=满生命骰子+体质调整值 profession.name = "法师"; profession.level = 1; profession.hitDice = 6; profession.hitPoints.Add(profession.hitDice + modifier); // 职业属性加成 profession.Int = 2; profession.Dex = 1; return profession; } /// 牧师职业 public static DataProfession Cleric(int modifier) { DataProfession profession = new DataProfession(); // 牧师,初始1级,1d8生命骰子,初始生命=满生命骰子+体质调整值 profession.name = "牧师"; profession.level = 1; profession.hitDice = 8; profession.hitPoints.Add(profession.hitDice + modifier); // 职业属性加成 profession.Wis = 2; profession.Con = 1; return profession; } }