Ejemplo n.º 1
0
    // Token: 0x060003BC RID: 956 RVA: 0x0001FBB0 File Offset: 0x0001DDB0
    public static int CalculateComfortLevel(Player player)
    {
        List <Piece> nearbyPieces = SE_Rested.GetNearbyPieces(player.transform.position);

        nearbyPieces.Sort(new Comparison <Piece>(SE_Rested.PieceComfortSort));
        int num = 1;

        if (player.InShelter())
        {
            num++;
            int i = 0;
            while (i < nearbyPieces.Count)
            {
                Piece piece = nearbyPieces[i];
                if (i <= 0)
                {
                    goto IL_77;
                }
                Piece piece2 = nearbyPieces[i - 1];
                if ((piece.m_comfortGroup == Piece.ComfortGroup.None || piece.m_comfortGroup != piece2.m_comfortGroup) && !(piece.m_name == piece2.m_name))
                {
                    goto IL_77;
                }
IL_80:
                i++;
                continue;
IL_77:
                num += piece.m_comfort;
                goto IL_80;
            }
        }
        return(num);
    }
Ejemplo n.º 2
0
    private static void UpdateStatusEffect(StatusEffect se, bool onPlayer = false)
    {
        string playerString = onPlayer ? " on local player " : " in ObjectDB ";

        if (se is SE_Stats stats)
        {
            switch (se.m_name)
            {
            case "$se_cold_name":
                BetterStaminaPlugin.DebugLog($"[{Localization.instance.Localize(se.m_name)}] Updating m_staminaRegenMultiplier{playerString}from {stats.m_staminaRegenMultiplier} to {BetterStaminaPlugin.coldStaminaRegenMultiplier.Value}");
                stats.m_staminaRegenMultiplier = BetterStaminaPlugin.coldStaminaRegenMultiplier.Value;
                break;

            case "$se_wet_name":
                BetterStaminaPlugin.DebugLog($"[{Localization.instance.Localize(se.m_name)}] Updating m_staminaRegenMultiplier{playerString}from {stats.m_staminaRegenMultiplier} to {BetterStaminaPlugin.wetStaminaRegenMultiplier.Value}");
                stats.m_staminaRegenMultiplier = BetterStaminaPlugin.wetStaminaRegenMultiplier.Value;
                break;

            case "$se_rested_name":
                BetterStaminaPlugin.DebugLog($"[{Localization.instance.Localize(se.m_name)}] Updating m_staminaRegenMultiplier{playerString}from {stats.m_staminaRegenMultiplier} to {BetterStaminaPlugin.restedStaminaRegenMultiplier.Value}");
                stats.m_staminaRegenMultiplier = BetterStaminaPlugin.restedStaminaRegenMultiplier.Value;

                SE_Rested ser = se as SE_Rested;
                BetterStaminaPlugin.DebugLog($"[{Localization.instance.Localize(se.m_name)}] Updating m_TTLPerComfortLevel{playerString}from {ser.m_TTLPerComfortLevel} to {BetterStaminaPlugin.restedDurationPerComfortLvl.Value}");
                ser.m_TTLPerComfortLevel = BetterStaminaPlugin.restedDurationPerComfortLvl.Value;
                break;
            }
        }
    }