Пример #1
0
        // Token: 0x06000026 RID: 38 RVA: 0x00003C9C File Offset: 0x00001E9C
        public static void StaticActivate(Character character, object[] _infos, Effect instance)
        {
            float localRangeSquared = 100f;
            Dictionary <Character, float> dictionary = new Dictionary <Character, float>();
            List <Character> list = new List <Character>();

            CharacterManager.Instance.FindCharactersInRange(character.CenterPosition, CelestialSurge.range + 10f, ref list);
            list = (from c in list
                    where c.Faction != character.Faction
                    select c).ToList <Character>();
            using (IEnumerator <Character> enumerator = (from c in list
                                                         where c.StatusEffectMngr.HasStatusEffect("Radiating")
                                                         select c).GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    Character chr = enumerator.Current;
                    float     num = CelestialSurge.AmpDamage(character, Radiating.sumTicks(chr.StatusEffectMngr.GetStatusEffectOfName("Radiating").RemainingLifespan) + 40f, DamageType.Types.Electric);
                    IEnumerable <Character> source = list;

                    foreach (Character character2 in source.Where(c => (c.transform.position - chr.transform.position).sqrMagnitude <= localRangeSquared))
                    {
                        bool flag = !character2.Invincible;
                        if (flag)
                        {
                            float num2;
                            dictionary[character2] = (dictionary.TryGetValue(character2, out num2) ? num2 : 0f) + num;
                        }
                    }
                }
            }
            foreach (KeyValuePair <Character, float> keyValuePair in dictionary)
            {
                DamageList damageList = new DamageList(DamageType.Types.Electric, keyValuePair.Value);
                keyValuePair.Key.Stats.GetMitigatedDamage(null, ref damageList);
                keyValuePair.Key.Stats.ReceiveDamage(damageList.TotalDamage);
                bool flag2 = damageList.TotalDamage > 55f;
                if (flag2)
                {
                    keyValuePair.Key.AutoKnock(true, Vector3.zero);
                }
                else
                {
                    CasualStagger.Stagger(keyValuePair.Key);
                }
            }
        }
Пример #2
0
        // Token: 0x0600002A RID: 42 RVA: 0x00003F24 File Offset: 0x00002124
        protected override void ActivateLocally(Character character, object[] _infos)
        {
            bool flag = this.TryRemove(character, "Dez Runes");

            if (flag)
            {
                character.StatusEffectMngr.AddStatusEffect(ResourcesPrefabManager.Instance.GetStatusEffectPrefab("Runic Protection Amplified"), character);
            }
            else
            {
                bool flag2 = this.TryRemove(character, "Shim Runes");
                if (flag2)
                {
                    CelestialSurge.StaticActivate(character, _infos, this);
                }
                else
                {
                    bool flag3 = this.TryRemove(character, "Egoth Runes");
                    if (flag3)
                    {
                        character.Stats.AffectHealth(HealingAoE.AmpHealing(character, 40f, DamageType.Types.Electric));
                    }
                    else
                    {
                        bool flag4 = this.TryRemove(character, "Fal Runes");
                        if (flag4)
                        {
                            character.StatusEffectMngr.AddStatusEffect(Templar.Instance.surgeOfDivinityInstance, character);
                        }
                        else
                        {
                            HealingAoE.StaticActivate(this, character, _infos, 30f, 30f, DamageType.Types.Electric, true);
                        }
                    }
                }
            }
        }
Пример #3
0
 // Token: 0x06000027 RID: 39 RVA: 0x00003F00 File Offset: 0x00002100
 protected override void ActivateLocally(Character character, object[] _infos)
 {
     CelestialSurge.StaticActivate(character, _infos, this);
 }