Advertisement
Guest User

Untitled

a guest
Feb 23rd, 2018
250
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.80 KB | None | 0 0
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4.  
  5. namespace PaCore.Game.Character
  6. {
  7. public enum StatType {
  8. Core, Defence, MartialSkills,
  9. MartialOffence, RangedSkills,
  10. RangedOffence, Meta, Spirit,
  11. LoreExp, Survival, TradeSpec }
  12.  
  13. public enum StatWeight { Alpha, Beta, Capa, Delta }
  14.  
  15. public class Stats : MonoBehaviour
  16. {
  17.  
  18. public int StatPoints;
  19.  
  20. public static StatBlock CreateStatBlock ()
  21. {
  22. StatBlock statBlock = new StatBlock();
  23.  
  24. // CREATE STATS
  25.  
  26. #region CORE STATS
  27.  
  28. #region Physical Development
  29. // Strength
  30. List<Dependancy> strDep = new List<Dependancy>();
  31. statBlock.Stats.Add(CreateStat("Strength", StatType.Core, StatWeight.Capa, strDep));
  32.  
  33. // Strength
  34. List<Dependancy> endDep = new List<Dependancy>();
  35. statBlock.Stats.Add(CreateStat("Endurance", StatType.Core, StatWeight.Capa, endDep));
  36.  
  37. // Strength
  38. List<Dependancy> dexDep = new List<Dependancy>();
  39. statBlock.Stats.Add(CreateStat("Dexterity", StatType.Core, StatWeight.Capa, dexDep));
  40.  
  41. // Strength
  42. List<Dependancy> resDep = new List<Dependancy>();
  43. statBlock.Stats.Add(CreateStat("Resilience", StatType.Core, StatWeight.Capa, resDep));
  44. #endregion
  45.  
  46. #region Mental Development
  47. // Strength
  48. List<Dependancy> perDep = new List<Dependancy>();
  49. statBlock.Stats.Add(CreateStat("Perception", StatType.Core, StatWeight.Capa, perDep));
  50.  
  51. // Strength
  52. List<Dependancy> intDep = new List<Dependancy>();
  53. statBlock.Stats.Add(CreateStat("Intelligence", StatType.Core, StatWeight.Capa, intDep));
  54.  
  55. // Strength
  56. List<Dependancy> wilDep = new List<Dependancy>();
  57. statBlock.Stats.Add(CreateStat("Willpower", StatType.Core, StatWeight.Capa, wilDep));
  58.  
  59. // Strength
  60. List<Dependancy> knoDep = new List<Dependancy>();
  61. statBlock.Stats.Add(CreateStat("Knowledge", StatType.Core, StatWeight.Capa, knoDep));
  62. #endregion
  63.  
  64. #endregion
  65.  
  66. #region STATS
  67.  
  68. #region Defence
  69. statBlock.Stats.Add(CreateStat("Evade Melee", StatType.Defence, StatWeight.Capa, CreateDependancies("Dexterity,0,Perception,0,Strength,0")));
  70. statBlock.Stats.Add(CreateStat("Evade Ranged", StatType.Defence, StatWeight.Capa, CreateDependancies("Dexterity,0,Perception,0,Strength,0")));
  71. statBlock.Stats.Add(CreateStat("Evade Explosion", StatType.Defence, StatWeight.Capa, CreateDependancies("Dexterity,0,Perception,0,Resilience,0")));
  72. statBlock.Stats.Add(CreateStat("Deflect", StatType.Defence, StatWeight.Capa, CreateDependancies("Dexterity,0,Strength,0,Perception,0")));
  73. statBlock.Stats.Add(CreateStat("Mimicry", StatType.Defence, StatWeight.Capa, CreateDependancies("Dexterity,0,Perception,0,Strength,0")));
  74. #endregion
  75.  
  76. #region Martial Skills
  77. statBlock.Stats.Add(CreateStat("Light Trauma", StatType.MartialSkills, StatWeight.Capa, CreateDependancies("Strength,0,Endurance,0,Dexterity,0")));
  78. statBlock.Stats.Add(CreateStat("Heavy Trauma", StatType.MartialSkills, StatWeight.Capa, CreateDependancies("Strength,0,Endurance,0,Dexterity,0")));
  79. statBlock.Stats.Add(CreateStat("Light Slashing", StatType.MartialSkills, StatWeight.Capa, CreateDependancies("Dexterity,0,Strength,0,Endurance,0")));
  80. statBlock.Stats.Add(CreateStat("Heavy Slashing", StatType.MartialSkills, StatWeight.Capa, CreateDependancies("Dexterity,0,Strength,0,Endurance,0")));
  81. statBlock.Stats.Add(CreateStat("Light Piercing", StatType.MartialSkills, StatWeight.Capa, CreateDependancies("Dexterity,0,Perception,0,Strength,0")));
  82. statBlock.Stats.Add(CreateStat("Heavy Piercing", StatType.MartialSkills, StatWeight.Capa, CreateDependancies("Dexterity,0,Strength,0,Perception,0")));
  83. statBlock.Stats.Add(CreateStat("Light Phys Power", StatType.MartialSkills, StatWeight.Capa, CreateDependancies("Dexterity,0,Strength,0,Endurance,0")));
  84. statBlock.Stats.Add(CreateStat("Heavy Phys Power", StatType.MartialSkills, StatWeight.Capa, CreateDependancies("Dexterity,0,Strength,0,Endurance,0")));
  85. statBlock.Stats.Add(CreateStat("Unarmed Skill", StatType.MartialSkills, StatWeight.Capa, CreateDependancies("Dexterity,0,Strength,0,Resilience,0")));
  86. statBlock.Stats.Add(CreateStat("Unarmed Reflex", StatType.MartialSkills, StatWeight.Capa, CreateDependancies("Dexterity,0,Perception,0")));
  87. statBlock.Stats.Add(CreateStat("Martial Reflex", StatType.MartialSkills, StatWeight.Capa, CreateDependancies("Dexterity,0,Perception,0")));
  88. #endregion
  89.  
  90. #region Martial Attacks
  91. statBlock.Stats.Add(CreateStat("Sneak Attack", StatType.MartialOffence, StatWeight.Capa, CreateDependancies("Dexterity,0,Perception,0,Strength,0")));
  92. statBlock.Stats.Add(CreateStat("Precise Attack", StatType.MartialOffence, StatWeight.Capa, CreateDependancies("Dexterity,0,Perception,0,Strength,0")));
  93. statBlock.Stats.Add(CreateStat("Counter Attack", StatType.MartialOffence, StatWeight.Capa, CreateDependancies("Dexterity,0,Strength,0,Perception,0")));
  94. statBlock.Stats.Add(CreateStat("Dirty Fighting", StatType.MartialOffence, StatWeight.Capa, CreateDependancies("Strength,0,Dexterity,0,Enfurance,0")));
  95. statBlock.Stats.Add(CreateStat("Stunning Attack", StatType.MartialOffence, StatWeight.Capa, CreateDependancies("Perception,0,Strength,0,Dexterity,0")));
  96. #endregion
  97.  
  98. #region Ranged Skills
  99. statBlock.Stats.Add(CreateStat("Pistols", StatType.RangedSkills, StatWeight.Capa, CreateDependancies("Dexterity,0,Perception,0")));
  100. statBlock.Stats.Add(CreateStat("Sub-Machine Guns", StatType.RangedSkills, StatWeight.Capa, CreateDependancies("Dexterity,0,Perception,0")));
  101. statBlock.Stats.Add(CreateStat("Shotguns", StatType.RangedSkills, StatWeight.Capa, CreateDependancies("Dexterity,0,Perception,0,Endurance,0")));
  102. statBlock.Stats.Add(CreateStat("Energy Weapons", StatType.RangedSkills, StatWeight.Capa, CreateDependancies("Dexterity,0,Perception,0")));
  103. statBlock.Stats.Add(CreateStat("Artillery Weapons", StatType.RangedSkills, StatWeight.Capa, CreateDependancies("Dexterity,0,Perception,0,Strength,0")));
  104. statBlock.Stats.Add(CreateStat("Martial Ranged", StatType.RangedSkills, StatWeight.Capa, CreateDependancies("Dexterity,0,Perception,0,Endurance,0")));
  105. statBlock.Stats.Add(CreateStat("Assault Rifles", StatType.RangedSkills, StatWeight.Capa, CreateDependancies("Dexterity,0,Perception,0,Strength,0")));
  106. statBlock.Stats.Add(CreateStat("Rifles", StatType.RangedSkills, StatWeight.Capa, CreateDependancies("Dexterity,0,Perception,0,Strength,0")));
  107. statBlock.Stats.Add(CreateStat("Explosive Weapons", StatType.RangedSkills, StatWeight.Capa, CreateDependancies("Dexterity,0,Perception,0,Strength,0")));
  108. statBlock.Stats.Add(CreateStat("Exotic Weapons", StatType.RangedSkills, StatWeight.Capa, CreateDependancies("Dexterity,0,Perception,0,Intelligence,0")));
  109. statBlock.Stats.Add(CreateStat("Ranged Reflex", StatType.RangedSkills, StatWeight.Capa, CreateDependancies("Dexterity,0,Perception,0,Strength,0")));
  110. #endregion
  111.  
  112. #region Ranged Attacks
  113. statBlock.Stats.Add(CreateStat("Quick Shot", StatType.RangedOffence, StatWeight.Capa, CreateDependancies("Dexterity,0,Perception,0")));
  114. statBlock.Stats.Add(CreateStat("Burst Fire", StatType.RangedOffence, StatWeight.Capa, CreateDependancies("Dexterity,0,Perception,0,Strength,0")));
  115. statBlock.Stats.Add(CreateStat("Deflect Shot", StatType.RangedOffence, StatWeight.Capa, CreateDependancies("Dexterity,0,Perception,0")));
  116. statBlock.Stats.Add(CreateStat("Precise Shot", StatType.RangedOffence, StatWeight.Capa, CreateDependancies("Dexterity,0,Perception,0")));
  117. statBlock.Stats.Add(CreateStat("Full Auto", StatType.RangedOffence, StatWeight.Capa, CreateDependancies("Dexterity,0,Perception,0,Endurance,0")));
  118. statBlock.Stats.Add(CreateStat("Speciality", StatType.RangedOffence, StatWeight.Capa, CreateDependancies("Dexterity,0,Perception,0")));
  119. statBlock.Stats.Add(CreateStat("Run & Gun", StatType.RangedOffence, StatWeight.Capa, CreateDependancies("Dexterity,0,Endurance,0,Strength,0")));
  120. #endregion
  121.  
  122. #region Metamatics
  123. statBlock.Stats.Add(CreateStat("Meta-Alter", StatType.Meta, StatWeight.Capa, CreateDependancies("Intelligence,0,Willpower,0,Perception,0")));
  124. statBlock.Stats.Add(CreateStat("Meta-Control", StatType.Meta, StatWeight.Capa, CreateDependancies("Intelligence,0,Willpower,0,Perception,0")));
  125. statBlock.Stats.Add(CreateStat("Meta-Create", StatType.Meta, StatWeight.Capa, CreateDependancies("Intelligence,0,Willpower,0,Knowledge,0")));
  126. statBlock.Stats.Add(CreateStat("Meta-Destruct", StatType.Meta, StatWeight.Capa, CreateDependancies("Intelligence,0,Willpower,0,Perception,0")));
  127. statBlock.Stats.Add(CreateStat("Meta-Augment", StatType.Meta, StatWeight.Capa, CreateDependancies("Intelligence,0,Willpower,0,Knowledge,0")));
  128. statBlock.Stats.Add(CreateStat("Meta-Biotics", StatType.Meta, StatWeight.Capa, CreateDependancies("Intelligence,0,Willpower,0,Perception,0")));
  129. statBlock.Stats.Add(CreateStat("Meta-Synergy", StatType.Meta, StatWeight.Capa, CreateDependancies("Intelligence,0,Willpower,0")));
  130. statBlock.Stats.Add(CreateStat("Meta-Reserve", StatType.Defence, StatWeight.Capa, CreateDependancies("Willpower,0,Intelligence,0")));
  131. #endregion
  132.  
  133. #region Dimensional
  134. statBlock.Stats.Add(CreateStat("Void Manipulation", StatType.Spirit, StatWeight.Capa, CreateDependancies("Intelligence,0,Willpower,0,Resilience,0")));
  135. statBlock.Stats.Add(CreateStat("Void Control", StatType.Spirit, StatWeight.Capa, CreateDependancies("Intelligence,0,Willpower,0,Resilience,0")));
  136. statBlock.Stats.Add(CreateStat("Chatotic Affinity", StatType.Spirit, StatWeight.Capa, CreateDependancies("Intelligence,0,Willpower,0,Knowledge,0")));
  137. statBlock.Stats.Add(CreateStat("Psionic Affinity", StatType.Spirit, StatWeight.Capa, CreateDependancies("Intelligence,0,Willpower,0,Knowledge,0")));
  138. statBlock.Stats.Add(CreateStat("Energy Channelling", StatType.Spirit, StatWeight.Capa, CreateDependancies("Intelligence,0,Willpower,0,Resilience,0")));
  139. #endregion
  140.  
  141. #region Lore & Exploration
  142. statBlock.Stats.Add(CreateStat("Run Speed", StatType.LoreExp, StatWeight.Capa, CreateDependancies("Dexterity,0,Endurance,0,Strength,0")));
  143. statBlock.Stats.Add(CreateStat("Swim Speed", StatType.LoreExp, StatWeight.Capa, CreateDependancies("Strength,0,Endurance,0,Dexterity,0")));
  144. statBlock.Stats.Add(CreateStat("Vehicle Proficiency", StatType.LoreExp, StatWeight.Capa, CreateDependancies("Dexterity,0,Perception,0,Knowledge,0")));
  145. statBlock.Stats.Add(CreateStat("Cartography", StatType.LoreExp, StatWeight.Capa, CreateDependancies("Intelligence,0,Knowledge,0,Perception,0")));
  146. statBlock.Stats.Add(CreateStat("History", StatType.LoreExp, StatWeight.Capa, CreateDependancies("Knowledge,0,Intelligence,0")));
  147. statBlock.Stats.Add(CreateStat("Language", StatType.LoreExp, StatWeight.Capa, CreateDependancies("Knowledge,0,Intelligence,0,Perception,0")));
  148. #endregion
  149.  
  150. #region Survival & Awareness
  151. statBlock.Stats.Add(CreateStat("Concealment", StatType.Survival, StatWeight.Capa, CreateDependancies("Perception,0,Dexterity,0")));
  152. statBlock.Stats.Add(CreateStat("First Aid", StatType.Survival, StatWeight.Capa, CreateDependancies("Intelligence,0,Knowledge,0,Perception,0")));
  153. statBlock.Stats.Add(CreateStat("Field Surgery", StatType.Survival, StatWeight.Capa, CreateDependancies("Intelligence,0,Knowledge,0,Perception,0")));
  154. statBlock.Stats.Add(CreateStat("Awareness", StatType.Survival, StatWeight.Capa, CreateDependancies("Perception,0,Intelligence,0")));
  155. statBlock.Stats.Add(CreateStat("Negotiation", StatType.Survival, StatWeight.Capa, CreateDependancies("Perception,0,Intelligence,0,Willpower,0")));
  156. statBlock.Stats.Add(CreateStat("Scavenging", StatType.Survival, StatWeight.Capa, CreateDependancies("Perception,0,Intelligence,0,Resilience,0")));
  157. #endregion
  158.  
  159. #region Trade & Speciality
  160. statBlock.Stats.Add(CreateStat("Engineering", StatType.TradeSpec, StatWeight.Capa, CreateDependancies("Knowledge,0,Intelligence,0,Perception,0")));
  161. statBlock.Stats.Add(CreateStat("Material Science", StatType.TradeSpec, StatWeight.Capa, CreateDependancies("Knowledge,0,Intelligence,0")));
  162. statBlock.Stats.Add(CreateStat("Avionics", StatType.TradeSpec, StatWeight.Capa, CreateDependancies("Knowledge,0,Intelligence,0")));
  163. statBlock.Stats.Add(CreateStat("Computer Science", StatType.TradeSpec, StatWeight.Capa, CreateDependancies("Knowledge,0,Intelligence,0,Perception,0")));
  164. statBlock.Stats.Add(CreateStat("Chemisty", StatType.TradeSpec, StatWeight.Capa, CreateDependancies("Knowledge,0,Intelligence,0")));
  165. statBlock.Stats.Add(CreateStat("Quantum Physics", StatType.TradeSpec, StatWeight.Capa, CreateDependancies("Knowledge,0,Intelligence,0,Perception,0")));
  166. statBlock.Stats.Add(CreateStat("Pharmacology", StatType.TradeSpec, StatWeight.Capa, CreateDependancies("Knowledge,0,Intelligence,0")));
  167. statBlock.Stats.Add(CreateStat("Genetics", StatType.TradeSpec, StatWeight.Capa, CreateDependancies("Knowledge,0,Intelligence,0")));
  168. statBlock.Stats.Add(CreateStat("Neurology", StatType.TradeSpec, StatWeight.Capa, CreateDependancies("Knowledge,0,Intelligence,0")));
  169. statBlock.Stats.Add(CreateStat("Internal Medicine", StatType.TradeSpec, StatWeight.Capa, CreateDependancies("Knowledge,0,Intelligence,0,Willpower,0")));
  170. statBlock.Stats.Add(CreateStat("Security", StatType.TradeSpec, StatWeight.Capa, CreateDependancies("Dexterity,0,Knowledge,0,Perception,0")));
  171. #endregion
  172.  
  173. #endregion
  174.  
  175. return statBlock;
  176. }
  177.  
  178. static Stat CreateStat (string name, StatType type, StatWeight weight, List<Dependancy> Dependancies)
  179. {
  180. Stat newStat = new Stat();
  181. newStat.Name = name;
  182. newStat.Type = type;
  183. newStat.Weight = weight;
  184. switch (weight)
  185. {
  186. case StatWeight.Alpha:
  187. newStat.BaseValue = 10;
  188. break;
  189. case StatWeight.Beta:
  190. newStat.BaseValue = 8;
  191. break;
  192. case StatWeight.Capa:
  193. newStat.BaseValue = 6;
  194. break;
  195. case StatWeight.Delta:
  196. newStat.BaseValue = 4;
  197. break;
  198. }
  199. newStat.Dependancies = Dependancies;
  200. return newStat;
  201. }
  202.  
  203. static List<Dependancy> CreateDependancies (string dependancies)
  204. {
  205. string[] split = dependancies.Split(',');
  206. List<Dependancy> depend = new List<Dependancy>();
  207. foreach (string part in split)
  208. {
  209. Debug.Log(part);
  210. }
  211. return depend;
  212. }
  213. }
  214.  
  215. [System.Serializable]
  216. public class StatBlock
  217. {
  218. public List<Stat> Stats = new List<Stat>();
  219.  
  220. public void Trickle ()
  221. {
  222.  
  223. }
  224. }
  225.  
  226. [System.Serializable]
  227. public class Dependancy
  228. {
  229. public string name;
  230. public string value;
  231. }
  232.  
  233. [System.Serializable]
  234. public class Stat
  235. {
  236. private string name;
  237. public string Name { get { return name; } set { name = value; } }
  238.  
  239. private StatType type;
  240. public StatType Type { get { return type; } set { type = value; } }
  241.  
  242. private StatWeight weight;
  243. public StatWeight Weight { get { return weight; } set { weight = value; } }
  244.  
  245. private int baseValue;
  246. public int BaseValue { get { return baseValue; } set { baseValue = value; } }
  247.  
  248. private int currentValue;
  249. public int CurrentValue { get { return currentValue; } set { currentValue = value; } }
  250.  
  251. private List<Dependancy> dependancies = new List<Dependancy>();
  252. public List<Dependancy> Dependancies { get { return dependancies; } set { dependancies = value; } }
  253. }
  254. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement