Exemple #1
0
 public Spell(SpellName spellname,
              SpellTalentSchool talentSchool,
              SpellSchool directSpellSchool = default(SpellSchool),
              SpellSchool DoTSpellSchool    = default(SpellSchool),
              double duration                    = 0,
              bool hasteAffectsDuration          = false,
              double baseCasttime                = 0,
              double flatCasttimeReduction       = 0,
              double percentualCasttimeReduction = 0,
              double hasteFactor                 = 1,
              double cooldown                    = 0,
              double manaCostOfBaseMana          = 0,
              double manaCostFactor              = 1,
              double requiredBuffUptimeFactor    = 1,
              Reagent reagent                    = Reagent.None,
              double averageDirectBaseDamage     = 0,
              double averageDoTBaseDamage        = 0,
              double SPDirectScaling             = 0,
              double SPDoTScaling                = 0,
              double APDirectScaling             = 0,
              double APDoTScaling                = 0,
              bool channeled                = false,
              int numOfTicks                = 1,
              double directDamageFactor     = 1,
              double DoTDamageFactor        = 1,
              bool directCanCrit            = true,
              bool DoTCanCrit               = false,
              double directCritChance       = 0,
              double DoTCritChance          = 0,
              double directCritDamageFactor = 1.5,
              double DoTCritDamageFactor    = 1.5)
 {
     this.spellname                   = spellname;
     this.talentSchool                = talentSchool;
     this.directSpellSchool           = directSpellSchool;
     this.duration                    = duration;
     this.hasteAffectsDuration        = hasteAffectsDuration;
     this.baseCasttime                = baseCasttime;
     this.flatCasttimeReduction       = flatCasttimeReduction;
     this.percentualCasttimeReduction = percentualCasttimeReduction;
     this.effectiveCasttime           = ((baseCasttime * (1 - (percentualCasttimeReduction / 100))) - flatCasttimeReduction) / hasteFactor;
     this.hasteFactor                 = hasteFactor;
     this.cooldown                    = cooldown;
     this.effectiveCooldown           = cooldown;
     this.manaCostOfBaseMana          = manaCostOfBaseMana;
     this.manaCostFactor              = manaCostFactor;
     this.requiredBuffUptimeFactor    = requiredBuffUptimeFactor;
     this.averageDirectBaseDamage     = averageDirectBaseDamage;
     this.averageDoTBaseDamage        = averageDoTBaseDamage;
     this.SPDirectScaling             = SPDirectScaling;
     this.SPDoTScaling                = SPDoTScaling;
     this.APDirectScaling             = APDirectScaling;
     this.APDoTScaling                = APDoTScaling;
     this.reagent                = reagent;
     this.channeled              = channeled;
     this.numOfTicks             = numOfTicks;
     this.directDamageFactor     = directDamageFactor;
     this.DoTDamageFactor        = DoTDamageFactor;
     this.directCanCrit          = directCanCrit;
     this.DoTCanCrit             = DoTCanCrit;
     this.directCritChance       = directCritChance;
     this.DoTCritChance          = DoTCritChance;
     this.directCritDamageFactor = directCritDamageFactor;
     this.DoTCritDamageFactor    = DoTCritDamageFactor;
 }
Exemple #2
0
 public Spell(SpellName spellname,
     SpellTalentSchool talentSchool,
     SpellSchool directSpellSchool = default(SpellSchool),
     SpellSchool DoTSpellSchool = default(SpellSchool),
     double duration = 0,
     bool hasteAffectsDuration = false,
     double baseCasttime = 0,
     double flatCasttimeReduction = 0,
     double percentualCasttimeReduction = 0,
     double hasteFactor = 1,
     double cooldown = 0,
     double manaCostOfBaseMana = 0,
     double manaCostFactor = 1,
     double requiredBuffUptimeFactor = 1,
     Reagent reagent = Reagent.None,
     double averageDirectBaseDamage = 0,
     double averageDoTBaseDamage = 0,
     double SPDirectScaling = 0,
     double SPDoTScaling = 0,
     double APDirectScaling = 0,
     double APDoTScaling = 0,
     bool channeled = false,
     int numOfTicks = 1,
     double directDamageFactor = 1,
     double DoTDamageFactor = 1,
     bool directCanCrit = true,
     bool DoTCanCrit = false,
     double directCritChance = 0,
     double DoTCritChance = 0,
     double directCritDamageFactor = 1.5,
     double DoTCritDamageFactor = 1.5)
 {
     this.spellname = spellname;
     this.talentSchool = talentSchool;
     this.directSpellSchool = directSpellSchool;
     this.duration = duration;
     this.hasteAffectsDuration = hasteAffectsDuration;
     this.baseCasttime = baseCasttime;
     this.flatCasttimeReduction = flatCasttimeReduction;
     this.percentualCasttimeReduction = percentualCasttimeReduction;
     this.effectiveCasttime = ((baseCasttime * (1 - (percentualCasttimeReduction / 100))) - flatCasttimeReduction) / hasteFactor;
     this.hasteFactor = hasteFactor;
     this.cooldown = cooldown;
     this.effectiveCooldown = cooldown;
     this.manaCostOfBaseMana = manaCostOfBaseMana;
     this.manaCostFactor = manaCostFactor;
     this.requiredBuffUptimeFactor = requiredBuffUptimeFactor;
     this.averageDirectBaseDamage = averageDirectBaseDamage;
     this.averageDoTBaseDamage = averageDoTBaseDamage;
     this.SPDirectScaling = SPDirectScaling;
     this.SPDoTScaling = SPDoTScaling;
     this.APDirectScaling = APDirectScaling;
     this.APDoTScaling = APDoTScaling;
     this.reagent = reagent;
     this.channeled = channeled;
     this.numOfTicks = numOfTicks;
     this.directDamageFactor = directDamageFactor;
     this.DoTDamageFactor = DoTDamageFactor;
     this.directCanCrit = directCanCrit;
     this.DoTCanCrit = DoTCanCrit;
     this.directCritChance = directCritChance;
     this.DoTCritChance = DoTCritChance;
     this.directCritDamageFactor = directCritDamageFactor;
     this.DoTCritDamageFactor = DoTCritDamageFactor;
 }