@@ -266,7 +266,7 @@ public double GetMomentaryFailureRateForTriggerForScope(String trigger, String s
266266 internal MomentaryFailureModifier GetMomentaryFailureModifier ( String trigger , String owner , String scope )
267267 {
268268 scope = scope . ToLower ( ) . Trim ( ) ;
269- trigger = scope . ToLower ( ) . Trim ( ) ;
269+ trigger = trigger . ToLower ( ) . Trim ( ) ;
270270 String ownerName = owner . ToLower ( ) . Trim ( ) ;
271271
272272 foreach ( MomentaryFailureModifier mfMod in momentaryFailureModifiers )
@@ -282,7 +282,7 @@ internal MomentaryFailureModifier GetMomentaryFailureModifier(String trigger, St
282282 internal MomentaryFailureRate GetMomentaryFailureRate ( String trigger , String scope )
283283 {
284284 scope = scope . ToLower ( ) . Trim ( ) ;
285- trigger = scope . ToLower ( ) . Trim ( ) ;
285+ trigger = trigger . ToLower ( ) . Trim ( ) ;
286286
287287 foreach ( MomentaryFailureRate mfRate in momentaryFailureRates )
288288 {
@@ -303,16 +303,17 @@ public double SetTriggerMomentaryFailureModifierForScope(String trigger, double
303303 {
304304 // store the trigger, recalculate the final rate, and cache that as well
305305 scope = scope . ToLower ( ) . Trim ( ) ;
306- trigger = scope . ToLower ( ) . Trim ( ) ;
306+ trigger = trigger . ToLower ( ) . Trim ( ) ;
307307 MomentaryFailureModifier mfm ;
308308 String ownerName = owner . moduleName . ToLower ( ) ;
309- double totalModifier = 1 ;
310309
311310 mfm = GetMomentaryFailureModifier ( trigger , ownerName , scope ) ;
312311 if ( mfm . valid )
313312 {
314313 // recalculate new rate and cache everything
314+ momentaryFailureModifiers . Remove ( mfm ) ;
315315 mfm . modifier = multiplier ;
316+ momentaryFailureModifiers . Add ( mfm ) ;
316317 return CalculateMomentaryFailureRate ( trigger , scope ) ;
317318 }
318319 else
@@ -342,13 +343,14 @@ internal double CalculateMomentaryFailureRate(String trigger, String scope)
342343 totalModifiers *= mfm . modifier ;
343344 }
344345 }
345-
346346 double momentaryRate = baseFailureRate * totalModifiers ;
347347 // Cache this value internally
348348 MomentaryFailureRate mfr = GetMomentaryFailureRate ( trigger , scope ) ;
349349 if ( mfr . valid )
350350 {
351+ momentaryFailureRates . Remove ( mfr ) ;
351352 mfr . failureRate = momentaryRate ;
353+ momentaryFailureRates . Add ( mfr ) ;
352354 }
353355 else
354356 {
0 commit comments