protected static void add(Spell sp1, Spell sp2, Spell nS) { nS.baseMinDamage = (sp1.baseMinDamage + sp2.baseMaxDamage); nS.baseMaxDamage = (sp1.baseMaxDamage + sp2.baseMaxDamage); nS.castTime = (sp1.castTime + sp2.castTime); nS.periodicTick = (sp1.periodicTick + sp2.periodicTick); nS.periodicTicks = (sp1.periodicTicks + sp2.periodicTicks); nS.periodicTickTime = (sp1.periodicTickTime + sp2.periodicTickTime); nS.manaCost = (sp1.manaCost + sp2.manaCost); nS.gcd = (sp1.gcd + sp2.gcd); nS.crit = (sp1.crit + sp2.crit); nS.critModifier = (sp1.critModifier + sp2.critModifier); nS.cooldown = (sp1.cooldown + sp2.cooldown); nS.missChance = (sp1.missChance + sp2.missChance); nS.totalCoef = (sp1.totalCoef + sp2.totalCoef); nS.directCoefBonus = (sp1.directCoefBonus + sp2.directCoefBonus); nS.baseCoef = (sp1.baseCoef + sp2.baseCoef); nS.spCoef = (sp1.spCoef + sp2.spCoef); nS.dotBaseCoef = (sp1.dotBaseCoef + sp2.dotBaseCoef); nS.dotSpCoef = (sp1.dotSpCoef + sp2.dotSpCoef); nS.dotCritModifier = (sp1.dotCritModifier + sp2.dotCritModifier); nS.spellPower = (sp1.spellPower + sp2.spellPower); }
protected static void multiply(Spell sp1, float c, Spell nS) { nS.baseMinDamage = sp1.baseMinDamage * c; nS.baseMaxDamage = sp1.baseMaxDamage * c; nS.castTime = sp1.castTime * c; nS.periodicTick = sp1.periodicTick * c; nS.periodicTicks = sp1.periodicTicks * c; nS.periodicTickTime = sp1.periodicTickTime * c; nS.manaCost = sp1.manaCost * c; nS.gcd = sp1.gcd * c; nS.crit = sp1.crit * c; nS.critModifier = sp1.critModifier * c; nS.cooldown = sp1.cooldown * c; nS.missChance = sp1.missChance * c; nS.totalCoef = sp1.totalCoef * c; nS.baseCoef = sp1.baseCoef * c; nS.spCoef = sp1.spCoef * c; nS.dotBaseCoef = sp1.dotBaseCoef * c; nS.dotSpCoef = sp1.dotSpCoef * c; nS.directCoefBonus = sp1.directCoefBonus * c; nS.dotCritModifier = sp1.dotCritModifier * c; nS.spellPower = sp1.spellPower * c; }
public void AddSpell(Spell spell) { spells.Add(spell); Invalidate(); }