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; } }