public override void Execute(Person person) { Status = "Eating food"; if (Settings.IsVerbose) { Console.WriteDebugLine("Eating food"); Console.WriteDebugLine(" Current hunger: " + person.Vitals[PersonVitalType.Hunger]); } var amount = Settings.DefaultEatAmount; if (amount > person.Inventory [ItemType.Food]) { amount = person.Inventory [ItemType.Food]; } if (Settings.IsVerbose) { Console.WriteDebugLine(" Amount: " + amount); } ItemsConsumed[ItemType.Food] += amount; var hungerDecrease = amount * Settings.FoodForHungerRatio; if (Settings.IsVerbose) { Console.WriteDebugLine(" Decreased hunger by: " + hungerDecrease); } VitalsChange.Add(PersonVitalType.Hunger, -hungerDecrease); TotalfoodConsumed += amount; }
public override void Execute(Person person) { if (Settings.IsVerbose) { Console.WriteDebugLine("Starting " + GetType().Name + " activity"); Console.WriteDebugLine(" Quantity (energy): " + NeedEntry.Quantity); } var amountOfEnergyThisCycle = Settings.EnergyFromSleepRate; // If the person has no shelter then halve the amount of energy recovered if (!person.HasShelter) { amountOfEnergyThisCycle = amountOfEnergyThisCycle / 2; } TotalEnergyRecovered += amountOfEnergyThisCycle; VitalsChange.Add(PersonVitalType.Energy, amountOfEnergyThisCycle); var fraction = NeedEntry.Quantity / 100; var percentComplete = fraction * TotalEnergyRecovered; Status = String.Format("Sleeping {0}%", percentComplete); }
public override void Execute(Person person) { Status = "Drinking water"; if (Settings.IsVerbose) { Console.WriteDebugLine("Drinking water"); Console.WriteDebugLine(" Current thirst: " + person.Vitals[PersonVitalType.Thirst]); } var amount = Settings.DefaultDrinkAmount; if (amount > person.Inventory [ItemType.Water]) { amount = person.Inventory [ItemType.Water]; } if (Settings.IsVerbose) { Console.WriteDebugLine(" Amount: " + amount); } ItemsConsumed[ItemType.Water] += amount; var thirstDecrease = amount * Settings.WaterForThirstRatio; if (Settings.IsVerbose) { Console.WriteDebugLine(" Decreased thirst by: " + thirstDecrease); } VitalsChange.Add(PersonVitalType.Thirst, -thirstDecrease); TotalWaterConsumed += amount; }
public override void Execute(Person person) { var amountOfHarm = 0; amountOfHarm += CalculateHarmFromDehydration VitalsChange.Add(PersonVital.Hunger, -amountOfHarm); }
public override void Execute(Person person) { VitalsChange.Add(PersonVitalType.Hunger, +Settings.HungerRate); }
public override void Execute(Person person) { VitalsChange.Add(PersonVitalType.Thirst, +Settings.ThirstRate); }
public override void Execute(Person person) { var difference = person.Vitals [PersonVitalType.Thirst] - Settings.DehydrationThreshold; VitalsChange.Add(PersonVitalType.Health, -difference); }
public override void Execute(Person person) { VitalsChange.Add(PersonVitalType.Energy, -Settings.PersonEnergyConsumptionRate); }