// Grants shield private static Buff CreateJapanese(int stage) { bool randomDistribution; switch (stage) { case 1: randomDistribution = true; break; case 2: randomDistribution = false; break; default: return(null); } Buff.BuffProperties buffProperties = new Buff.BuffProperties(); buffProperties.ShieldFlat = 500; BuffJapanese buff = new BuffJapanese(buffProperties, float.PositiveInfinity, randomDistribution, SynergyManager.FiguresInSynergy[(int)Enums.Synergy.Japanese].Count); return(buff); }
// Buffs are stronger private static Buff CreateBeauty(int stage) { Buff.BuffProperties buffProperties = new Buff.BuffProperties(); switch (stage) { case 1: buffProperties.BuffEfficiencyCoefficient = 1.5f; break; case 2: buffProperties.BuffEfficiencyCoefficient = 2.5f; break; case 3: buffProperties.BuffEfficiencyCoefficient = 4f; break; default: return(null); } BuffBeauty buff = new BuffBeauty(buffProperties, float.PositiveInfinity); return(buff); }
// Ignore damage flat private static Buff CreateSumerian(int stage) { int damageReduction = 0; switch (stage) { case 1: damageReduction = 25; break; case 2: damageReduction = 60; break; case 3: damageReduction = 100; break; default: return(null); } Buff.BuffProperties buffProperties = new Buff.BuffProperties(); buffProperties.DamageReduction = damageReduction; BuffSumerian buff = new BuffSumerian(buffProperties, float.PositiveInfinity); return(buff); }
// Basic attacks apply True damage DOT, prone to buggs private static Buff CreateMaya(int stage) { int damagePerSec = 0; switch (stage) { case 1: damagePerSec = 50; break; case 2: damagePerSec = 150; break; case 3: damagePerSec = 250; break; default: return(null); } BuffMayaOnHit buffE = new BuffMayaOnHit(damagePerSec); Buff.BuffProperties buffProperties = new Buff.BuffProperties(); buffProperties.AttackCarriedBuffs.Add(buffE); BuffMaya buff = new BuffMaya(buffProperties, float.PositiveInfinity); return(buff); }
// Invulnerable at the start of the combat private static Buff CreateHarvest(int stage) { float duration = 0; switch (stage) { case 1: duration = 2; break; case 2: duration = 4; break; case 3: duration = 6; break; default: return(null); } Buff.BuffProperties buffProperties = new Buff.BuffProperties(); ++buffProperties.IsInvounrable; BuffHarvest buff = new BuffHarvest(buffProperties, duration); return(buff); }
// Basic attacks deal AOE, prone to buggs, so requires extra testing private static Buff CreateHindu(int stage) { float damageCoefficient = 0; switch (stage) { case 1: damageCoefficient = 0.5f; break; case 2: damageCoefficient = 1f; break; case 3: damageCoefficient = 1.5f; break; default: return(null); } BuffHinduExplosion buffE = new BuffHinduExplosion(damageCoefficient); Buff.BuffProperties buffProperties = new Buff.BuffProperties(); buffProperties.AttackCarriedBuffs.Add(buffE); BuffHindu buff = new BuffHindu(buffProperties, float.PositiveInfinity); return(buff); }
// Grants magic resist private static Buff CreateWisdom(int stage) { Buff.BuffProperties buffProperties = new Buff.BuffProperties(); switch (stage) { case 1: buffProperties.MagicResistPercentage = 40; break; case 2: buffProperties.MagicResistPercentage = 70; break; case 3: buffProperties.MagicResistPercentage = 150; break; default: return(null); } BuffWisdom buff = new BuffWisdom(buffProperties, float.PositiveInfinity); return(buff); }
// Grants ability power private static Buff CreateWater(int stage) { Buff.BuffProperties buffProperties = new Buff.BuffProperties(); switch (stage) { case 1: buffProperties.AbilityPowerFlat = 50; break; case 2: buffProperties.AbilityPowerFlat = 100; break; case 3: buffProperties.AbilityPowerFlat = 150; break; default: return(null); } BuffWater buff = new BuffWater(buffProperties, float.PositiveInfinity); return(buff); }
// Grants health private static Buff CreateChief(int stage) { Buff.BuffProperties buffProperties = new Buff.BuffProperties(); switch (stage) { case 1: buffProperties.HealthFlat = 200; break; case 2: buffProperties.HealthFlat = 450; break; case 3: buffProperties.HealthFlat = 1000; break; default: return(null); } BuffChief buff = new BuffChief(buffProperties, float.PositiveInfinity); return(buff); }
// Stuns every X attacks private static Buff CreateThunder(int stage) { int stackNumber = 0; switch (stage) { case 1: stackNumber = 5; break; case 2: stackNumber = 4; break; case 3: stackNumber = 3; break; default: return(null); } BuffThunderOnHit buffE = new BuffThunderOnHit(stackNumber); Buff.BuffProperties buffProperties = new Buff.BuffProperties(); buffProperties.AttackCarriedBuffs.Add(buffE); BuffThunder buff = new BuffThunder(buffProperties, float.PositiveInfinity); return(buff); }
public (float, Enums.DamageType) AddStack() { if (++_stackNumber >= _maxStacks) { Buff.BuffProperties buffProperties = new Buff.BuffProperties(); ++buffProperties.Stunned; BuffThunderProc buff = new BuffThunderProc(buffProperties, 1.5f); List <Buff> buffs = new List <Buff>(); buffs.Add(buff); Attack attack = new Attack(Enums.TargetingSystem.Self, Enums.DamageType.none, 0, 0, 0, null, buffs); attack.AddSource(_target); } return(0, Enums.DamageType.none); }
// Has damage return private static Buff CreateChinese(int stage) { switch (stage) { case 1: Buff.BuffProperties buffProperties = new Buff.BuffProperties(); buffProperties.HasDamageReturn++; BuffChinese buff = new BuffChinese(buffProperties, float.PositiveInfinity); return(buff); default: return(null); } }
// All damage is true damage private static Buff CreateVoodoo(int stage) { switch (stage) { case 1: Buff.BuffProperties buffProperties = new Buff.BuffProperties(); buffProperties.AbilityDamageType = Enums.DamageType.True; buffProperties.AutoAttackDamageType = Enums.DamageType.True; BuffVoodoo buff = new BuffVoodoo(buffProperties, float.PositiveInfinity); return(buff); default: return(null); } }
// All damage is magical damage private static Buff CreateNorse(int stage) { switch (stage) { case 1: Buff.BuffProperties buffProperties = new Buff.BuffProperties(); buffProperties.AbilityDamageType = Enums.DamageType.Magical; buffProperties.AutoAttackDamageType = Enums.DamageType.Magical; BuffNorse buff = new BuffNorse(buffProperties, float.PositiveInfinity); return(buff); default: return(null); } }
// doubles ability power and attack damage private static Buff CreateDragon(int stage) { Buff.BuffProperties buffProperties = new Buff.BuffProperties(); switch (stage) { case 1: case 3: //Every time all units get buff(Only if there is 1 unit or all units) buffProperties.AttackDamagePercentage = 100; buffProperties.AbilityPowerPercentage = 100; break; case 2: default: return(null); } BuffDragon buff = new BuffDragon(buffProperties, float.PositiveInfinity); return(buff); }
// Grants attack damage private static Buff CreateHunt(int stage) { Buff.BuffProperties buffProperties = new Buff.BuffProperties(); switch (stage) { case 1: buffProperties.AttackDamageFlat = 15; break; case 2: buffProperties.AttackDamageFlat = 40; break; default: return(null); } BuffHunt buff = new BuffHunt(buffProperties, float.PositiveInfinity); return(buff); }
// Get attack speed on ult private static Buff CreateCeltic(int stage) { Buff.BuffProperties buffProperties = new Buff.BuffProperties(); switch (stage) { case 1: buffProperties.AttackSpeedPercentage = 50; break; case 2: buffProperties.AttackSpeedPercentage = 100; break; case 3: buffProperties.AttackSpeedPercentage = 150; break; default: return(null); } BuffAztec buff = new BuffAztec(buffProperties, float.PositiveInfinity); return(buff); }
public Buff(Buff.BuffProperties buffStats, float duration) : this() { _buffStats = buffStats; _duration = duration; }