public void AddBuff(BuffSpell aBuffSpell, Sprite aSpellIcon) { if (!hasAuthority) { return; } for (int index = 0; index < myBuffs.Count; index++) { if (myBuffs[index].GetParent() == aBuffSpell.GetParent() && myBuffs[index].GetBuff() == aBuffSpell.GetBuff()) { RemoveBuff(index); break; } } myBuffs.Add(aBuffSpell); aBuffSpell.GetBuff().ApplyBuff(ref myStats); myCharacterHUD.AddBuff(aSpellIcon); if (aBuffSpell.GetBuff().myAttackSpeed != 0.0f) { float attackspeed = myAutoAttackCooldownReset / myStats.myAttackSpeed; float currentAnimationSpeed = 1.0f; if (currentAnimationSpeed > attackspeed) { myAnimator.SetFloat("AutoAttackSpeed", myAnimator.GetFloat("AutoAttackSpeed") + attackspeed / currentAnimationSpeed); } } else if (aBuffSpell.GetBuff().mySpeedMultiplier != 0.0f) { myAnimator.SetFloat("RunSpeed", myStats.mySpeedMultiplier); } }