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)); }
public static void GetCharacterStatValues(this StatsContainer statsContainer, ref StringBuilder sb) { for (int i = 0; i < Attributes.Count; i++) { sb.AppendNewLine(statsContainer.Get(Attributes.GetID(i)).ToString()); } var atkStats = GameData.Enums[Stats.AttackStats]; if (atkStats != null) { for (int i = 0; i < atkStats.Length; i++) { sb.AppendNewLine(statsContainer.Get(atkStats.IDs[i]).ToString()); } } for (int i = 0; i < Defenses.Count; i++) { sb.AppendNewLine(statsContainer.Get(Defenses.GetID(i)).ToString()); } }