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