public SkillDamageAffixData(ISkillDamageStat sd, ISkillDamageStat su, ISkillCostStat cs = null, ISkillCostStat ucs = null) { this.PowerData = new DamageSkillStat(sd, cs); if (cs != null && ucs == null) { var dsup = (sd as DamageSkillStat).CalculateSkillCosts(sd.Level + 1); ucs = new SkillCostStat(dsup); } this.PowerUp = new DamageSkillStat(su, ucs); }
public DamageSkillStat(ISkillDamageStat ds, ISkillCostStat cs, bool IsCC = false) { this.From = ds?.From ?? 0; this.To = ds?.To ?? 0; this.Level = ds?.Level ?? 0; this.Tier = ds?.Tier ?? 0; this.Cost = cs?.Cost ?? 0; this.CD = cs?.CD ?? 0; this.Charges = cs?.Charges ?? 1; this.IsCC = IsCC; }
public Skill(int id, SkillDTO data, ISkillCostStat cs) { this.Id = data.Id; this.Name = data.Name; this.Description = data.Description; this.Tier = data.Tier; this.Level = data.Level; var ds = data.SkillData.PowerData; ds.Cost = cs.Cost; ds.CD = cs.CD; ds.Charges = cs.Charges; var dsUp = new DamageSkillStat(ds); dsUp.Cost = cs.Cost; dsUp.CD = cs.CD; dsUp.Charges = cs.Charges; dsUp = dsUp.CalculateSkillPower(ds.Level + 1).CalculateSkillCosts(ds.Level + 1); // var sdad = new SkillDamageAffixData(ds, dsUp, cs); data.SkillData.PowerUp = dsUp; this.Data = data; }
public SkillCostStat(ISkillCostStat data) { this.CD = data?.CD ?? 0; this.Cost = data?.Cost ?? 0; this.Charges = data?.Charges ?? 1; }
public SkillDTO(int id, string name, string description, int level, ISkillDamageAffixData skillStats, ISkillCostStat cs, List <CastTypesEnum> castTypes, List <DamageTypesEnum> damageTypes, List <AffixMetadataEnum> skillMetadata, List <SkillCategoriesEnum> skillCategoriesMetadata, bool IsCC = false) { this.Id = id; this.Name = name; this.Description = description; this.Level = level != 0 ? level : skillStats?.PowerData?.Level ?? 0; this.Tier = skillStats?.PowerData?.Tier ?? 0; if (skillStats != null) { skillStats.PowerData.CD = cs?.CD ?? 0; skillStats.PowerData.Cost = cs?.Cost ?? 0; } this.SkillData = new SkillDamageAffixData(skillStats?.PowerData, skillStats?.PowerUp); this.CastTypes = castTypes ?? new List <CastTypesEnum>(); this.DamageTypes = damageTypes ?? new List <DamageTypesEnum>(); // TODO: Remove this after testing/dev phase done this.GeneratedByGen = skillStats?.PowerData?.Tier <= 2 ? IsCC ? 2 : 1 : IsCC ? 4 : 3; this.SkillMetadata = skillMetadata ?? new List <AffixMetadataEnum>(); this.SkillCategoriesMetadata = skillCategoriesMetadata ?? new List <SkillCategoriesEnum>(); }