public static void Postfix(Weapon __instance, ref float __result) { Character ownerCharacter = null; bool flag; if (__instance.IsEquipped) { ownerCharacter = __instance.OwnerCharacter; flag = (ownerCharacter != null); } else { flag = false; } bool flag2 = flag; if (flag2) { bool flag3 = SkillRequirements.CanReduceWeaponAttackStaminaCost(ownerCharacter); if (flag3) { __result *= 1f - JuggernautFormulas.GetRuthlessAttackStaminaCostReduction(ownerCharacter); } } }
public static void Postfix(CharacterEquipment __instance, Tuple <float?, Stat, Character> __state) { bool flag = __state != null; if (flag) { float?item = __state.Item1; float num = __state.Item2.CurrentValue / JuggernautFormulas.GetUnyieldingMovementSpeedForgivenes(__state.Item3); bool flag2 = !(item.GetValueOrDefault() == num & item != null); if (flag2) { Debug.Log("Logic error at CharacterEquipment_GetTotalMovementModifier in Juggernaut class. m_equipementPenalties changed during call!"); } At.SetValue <float>(__state.Item1.Value, typeof(Stat), __state.Item2, "m_currentValue"); } }
public static void Prefix(CharacterEquipment __instance, out Tuple <float?, Stat, Character> __state) { __state = null; Character character = At.GetValue(typeof(CharacterEquipment), __instance, "m_character") as Character; bool flag = character != null && SkillRequirements.CanReduceMoveSpeedArmorPenalty(character); if (flag) { CharacterStats stats = character.Stats; Stat stat = At.GetValue(typeof(CharacterStats), stats, "m_equipementPenalties") as Stat; bool flag2 = stat != null; if (flag2) { __state = new Tuple <float?, Stat, Character>(new float?(stat.CurrentValue), stat, character); At.SetValue <float>(__state.Item1.Value * JuggernautFormulas.GetUnyieldingMovementSpeedForgivenes(character), typeof(Stat), stat, "m_currentValue"); } } }
public static void Postfix(CharacterStats __instance, ref DamageList _damages) { Character character = At.GetValue(typeof(CharacterStats), __instance, "m_character") as Character; bool flag = character != null; if (flag) { bool flag2 = SkillRequirements.CanAddBonusRageDamage(character); if (flag2) { _damages *= 1f + JuggernautFormulas.GetRuthlessDamageBonus(character); } bool flag3 = SkillRequirements.CanConvertToRawDamage(character); if (flag3) { float totalDamage = _damages.TotalDamage; float ruthlessRawDamageRatio = JuggernautFormulas.GetRuthlessRawDamageRatio(character); _damages *= 1f - ruthlessRawDamageRatio; _damages.Add(new DamageType(DamageType.Types.Raw, totalDamage * ruthlessRawDamageRatio)); } } }