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; }
public void PlayerPhaseCompute(TimeController.TimeOfDay phase) { if (!Active) { return; } PhaseStatDecrease(phase); PhaseNeedEvaluation(phase); }
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()); }