internal float TotalAuraMultiplier(AuraEffectType auraType) { if (!auraEffectsByAuraType.TryGetValue(auraType, out List <AuraEffect> auraEffects)) { return(1.0f); } float multiplier = 1.0f; foreach (AuraEffect auraEffect in auraEffects) { multiplier = multiplier.AddPercentage(auraEffect.Value); } return(multiplier); }
internal float TotalAuraMultiplier(AuraEffectType auraType, float secondaryValue, ComparisonOperator comparison) { if (!auraEffectsByAuraType.TryGetValue(auraType, out List <AuraEffect> auraEffects)) { return(1.0f); } float multiplier = 1.0f; foreach (AuraEffect auraEffect in auraEffects) { if (auraEffect.EffectInfo.SecondaryValue.CompareWith(secondaryValue, comparison)) { multiplier = multiplier.AddPercentage(auraEffect.Value); } } return(multiplier); }