public override void AddComponents(Entity entity) { base.AddComponents(entity); entity.Add(new SkillRequirement(Skill, RequiredSkillRank)); var equipment = entity.Add(new Equipment(EquipmentSlot)); var stats = entity.GetOrAdd <StatsContainer>(); for (int i = 0; i < AttributeBonuses.Length; i++) { var attributeBonus = AttributeBonuses[i]; if (attributeBonus == 0) { continue; } equipment.StatsToEquip.Add(Attributes.GetID(i)); stats.Add(new BaseStat(entity, Attributes.GetNameAt(i), Attributes.GetID(i), AttributeBonuses[i])); } for (int i = 0; i < DefenseBonuses.Length; i++) { var defBonus = DefenseBonuses[i]; if (defBonus == 0) { continue; } equipment.StatsToEquip.Add(Defenses.GetID(i)); stats.Add(new BaseStat(entity, Defenses.GetNameAt(i), Defenses.GetID(i), DefenseBonuses[i])); } }
public static void SetupDefenseStats(StatsContainer stats) { var owner = stats.GetEntity(); var defend = owner.Add(new DefendDamageWithStats()); for (int i = 0; i < Defenses.Count; i++) { var typeDef = new BaseStat(owner, string.Format("{0} Defense", Defenses.GetNameAt(i)), Defenses.GetID(i), 0); stats.Add(typeDef); defend.AddStat(Defenses.GetID(i), typeDef.ID, typeDef); } stats.Add(new BaseStat(owner, Stats.Evasion, 0)); }