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.GetUnyieldingStaminaCostForgivenes(__state.Item3);
                bool  flag2 = !(item.GetValueOrDefault() == num & item != null);
                if (flag2)
                {
                    Debug.Log("Logic error at CharacterEquipment_GetTotalStaminaUseModifier 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.CanReduceStaminaCostArmorPenalty(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.GetUnyieldingStaminaCostForgivenes(character), typeof(Stat), stat, "m_currentValue");
                }
            }
        }