Exemplo n.º 1
0
        public static bool Prefix(Skill __instance, ref bool _tryingToActivate, ref bool __result)
        {
            Character ownerCharacter = __instance.OwnerCharacter;
            float?    num;

            if (ownerCharacter == null)
            {
                num = null;
            }
            else
            {
                CharacterStats stats = ownerCharacter.Stats;
                num = ((stats != null) ? new float?(stats.GetFinalManaConsumption(null, __instance.ManaCost)) : null);
            }
            float     num2            = num ?? __instance.ManaCost;
            Character ownerCharacter2 = __instance.OwnerCharacter;
            int?      num3;

            if (ownerCharacter2 == null)
            {
                num3 = null;
            }
            else
            {
                StatusEffectManager statusEffectMngr = ownerCharacter2.StatusEffectMngr;
                if (statusEffectMngr == null)
                {
                    num3 = null;
                }
                else
                {
                    StatusEffect statusEffectOfName = statusEffectMngr.GetStatusEffectOfName(Templar.Instance.burstOfDivinityInstance.IdentifierName);
                    num3 = ((statusEffectOfName != null) ? new int?(statusEffectOfName.StackCount) : null);
                }
            }
            int? num4           = num3;
            int  valueOrDefault = num4.GetValueOrDefault();
            bool flag           = __instance.OwnerCharacter.Mana + (float)valueOrDefault * 7f >= num2;
            bool result;

            if (flag)
            {
                __result = true;
                result   = false;
            }
            else
            {
                result = true;
            }
            return(result);
        }
        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;
            }
        }