public static void Postfix(Character __instance, ref DamageList __result, Weapon _weapon, DamageList _damage, Vector3 _hitDir, Vector3 _hitPoint, float _angle, float _angleDir, Character _dealerChar, float _knockBack, bool _hitInventory)
        {
            bool flag = SkillRequirements.CanEnrageFromDamage(__instance) && __result.TotalDamage > 0f;

            if (flag)
            {
                __instance.StatusEffectMngr.AddStatusEffectBuildUp(ResourcesPrefabManager.Instance.GetStatusEffectPrefab("Rage"), _damage.TotalDamage, __instance);
            }
            bool flag2 = SkillRequirements.CanTerrify((_weapon != null) ? _weapon.OwnerCharacter : null) && __result.TotalDamage > 0f;

            if (flag2)
            {
                List <Character> list = new List <Character>();
                CharacterManager.Instance.FindCharactersInRange(__instance.CenterPosition, 7f, ref list);
                list = (from c in list
                        where c.Faction == __instance.Faction
                        select c).ToList <Character>();
                foreach (Character character in list)
                {
                    StatusEffectManager statusEffectMngr = character.StatusEffectMngr;
                    bool flag3 = statusEffectMngr != null;
                    if (flag3)
                    {
                        bool flag4 = statusEffectMngr.HasStatusEffect("Confusion");
                        statusEffectMngr.AddStatusEffectBuildUp(ResourcesPrefabManager.Instance.GetStatusEffectPrefab("Confusion"), Mathf.Clamp(__result.TotalDamage, 0f, 20f), character);
                        bool flag5 = !flag4 && statusEffectMngr.HasStatusEffect("Confusion");
                        if (flag5)
                        {
                            CasualStagger.Stagger(character);
                        }
                    }
                }
            }
        }
Exemplo n.º 2
0
        // Token: 0x0600004A RID: 74 RVA: 0x00004D40 File Offset: 0x00002F40
        public static float GetFreeCastBuildup(Character character)
        {
            bool?flag;

            if (character == null)
            {
                flag = null;
            }
            else
            {
                StatusEffectManager statusEffectMngr = character.StatusEffectMngr;
                flag = ((statusEffectMngr != null) ? new bool?(statusEffectMngr.HasStatusEffect(Templar.Instance.surgeOfDivinityInstance.IdentifierName)) : null);
            }
            bool?flag2 = flag;

            return((float)((flag2.GetValueOrDefault() ? 2 : 1) * 100) * 0.3f / 7f);
        }
        public static void Prefix(StatusEffectManager __instance, StatusEffect _statusEffect, out StatusData __state)
        {
            __state = null;
            bool flag = _statusEffect.IdentifierName == Templar.Instance.radiatingInstance.IdentifierName && __instance.HasStatusEffect(_statusEffect.IdentifierName);

            if (flag)
            {
                __state = _statusEffect.StatusData;
                _statusEffect.StatusData = new StatusData(__state);
                float remainingLifespan = __instance.GetStatusEffectOfName(_statusEffect.IdentifierName).RemainingLifespan;
                float num  = (_statusEffect.RemainingLifespan != 0f) ? _statusEffect.RemainingLifespan : _statusEffect.StartLifespan;
                float num2 = Radiating.sumTicks(remainingLifespan);
                float num3 = Radiating.sumTicks(num);
                num = Radiating.sumToRemain(num2 + num3);
                _statusEffect.StatusData.LifeSpan = num;
            }
        }