// Token: 0x0600046F RID: 1135 RVA: 0x0001EAE8 File Offset: 0x0001CCE8 private void OnAbilityRemoved(Ability9 ability) { IHasRangeIncrease range; if ((range = (ability as IHasRangeIncrease)) != null) { if (range.IsRangeIncreasePermanent) { ability.Owner.Range(range, false); return; } foreach (Unit9 unit in EntityManager9.Units) { unit.Range(range, false); } IHasRangeIncrease hasRangeIncrease = EntityManager9.Abilities.OfType <IHasRangeIncrease>().FirstOrDefault((IHasRangeIncrease x) => x.RangeModifierName == range.RangeModifierName); if (hasRangeIncrease != null) { this.ranges[hasRangeIncrease.RangeModifierName] = hasRangeIncrease; IEnumerable <Unit9> units = EntityManager9.Units; Func <Unit9, bool> < > 9__1; Func <Unit9, bool> predicate; if ((predicate = < > 9__1) == null) { predicate = (< > 9__1 = ((Unit9 x) => x.HasModifier(range.RangeModifierName))); } using (IEnumerator <Unit9> enumerator = units.Where(predicate).GetEnumerator()) { while (enumerator.MoveNext()) { Unit9 unit2 = enumerator.Current; unit2.Range(range, true); } return; } } this.ranges.Remove(range.RangeModifierName); } }
// Token: 0x060003B6 RID: 950 RVA: 0x0001D02C File Offset: 0x0001B22C private void CheckModifier(uint senderHandle, Modifier modifier, bool added) { string name = modifier.Name; Unit9 unitFast = EntityManager9.GetUnitFast(senderHandle); if (unitFast == null) { return; } Action <Unit9, bool> action; if (this.specialModifiers.TryGetValue(name, out action)) { action(unitFast, added); } IHasRangeIncrease range = this.rangeFactory.GetRange(name); if (range != null) { unitFast.Range(range, added); return; } if (modifier.IsHidden) { return; } IAppliesImmobility disable = this.damageFactory.GetDisable(name); if (disable != null) { IDisable disable2; bool invulnerability = (disable2 = (disable as IDisable)) != null && (disable2.AppliesUnitState & UnitState.Invulnerable) > (UnitState)0UL; unitFast.Disabler(modifier, added, invulnerability); return; } if (modifier.IsStunDebuff) { unitFast.Disabler(modifier, added, false); return; } IHasDamageAmplify amplifier = this.damageFactory.GetAmplifier(name); if (amplifier != null) { unitFast.Amplifier(amplifier, added); return; } IHasPassiveDamageIncrease passive = this.damageFactory.GetPassive(name); if (passive != null) { unitFast.Passive(passive, added); return; } IHasDamageBlock blocker = this.damageFactory.GetBlocker(name); if (blocker != null) { unitFast.Blocker(blocker, added); return; } }