private void ShareSPCallback(float from, float to, float amount) { if ((amount > 0f) && base.actor.abilityPlugin.EvaluateAbilityPredicate(this.config.Predicates, base.instancedAbility, base.instancedModifier, null, null)) { float num = base.instancedAbility.Evaluate(this.config.ShareSPRatio) * amount; List <BaseMonoAvatar> allPlayerAvatars = Singleton <AvatarManager> .Instance.GetAllPlayerAvatars(); for (int i = 0; i < allPlayerAvatars.Count; i++) { BaseMonoAvatar avatar = allPlayerAvatars[i]; if (((avatar != null) && avatar.IsAlive()) && (avatar.GetRuntimeID() != base.actor.runtimeID)) { Singleton <EventManager> .Instance.GetActor <AvatarActor>(avatar.GetRuntimeID()).HealSP(num); } } } }