private void CalculateAttributeChange(Entity target, int count) { float newAttributeChange = _attributeSnapshot * Magnitude * Count * Sign; // Calculate new change in attribute float appliedAttribute = newAttributeChange - _attributeChange; // Get the difference from the old change Attributes newAttribute = new Attributes(); newAttribute.ModifyValue(Attribute, appliedAttribute); target.ApplyBuff(newAttribute); _attributeChange += appliedAttribute; }