Esempio n. 1
0
    private void PhaseStatDecrease(TimeController.TimeOfDay phase)
    {
        switch (phase)
        {
        case TimeController.TimeOfDay.Morning:
            Hunger -= Strength > Intelligence ? 10 : 9;    // -40 / -30
            Thirst -= Strength > Intelligence ? 7 : 6;     // -30 / -25
            break;

        case TimeController.TimeOfDay.Noon:
            Hunger -= Strength > Intelligence ? 12 : 10;
            Thirst -= Strength > Intelligence ? 10 : 8;
            break;

        case TimeController.TimeOfDay.Evening:
            Hunger -= Strength > Intelligence ? 10 : 9;
            Thirst -= Strength > Intelligence ? 7 : 6;
            break;

        case TimeController.TimeOfDay.Night:
            Hunger -= Strength > Intelligence ? 8 : 7;
            Thirst -= Strength > Intelligence ? 6 : 5;
            break;

        default:
            throw new ArgumentOutOfRangeException("phase", phase, null);
        }

        if (Hunger > 30 || Thirst > 40)
        {
            _starvingPoints = 0;
        }

        Health -= _starvingPoints;
    }
Esempio n. 2
0
 public void PlayerPhaseCompute(TimeController.TimeOfDay phase)
 {
     if (!Active)
     {
         return;
     }
     PhaseStatDecrease(phase);
     PhaseNeedEvaluation(phase);
 }
Esempio n. 3
0
    private void PhaseNeedEvaluation(TimeController.TimeOfDay phase)
    {
        NeedQueue.Change(Needs.FoodNeed, () => (0.6f - (Hunger * 0.01f)) * 1.65f);
        NeedQueue.Change(Needs.DrinkNeed, () => (0.75f - (Thirst * 0.01f)) * 1.34f);

        NeedQueue.Change(Needs.RestNeed, 0);
        NeedQueue.Change(Needs.KillNeed, 0);

        //Debug.Log(NeedQueue.Get());
        NeedFeedback(NeedQueue.Get());
    }