public bool Encounter(Person person) { var finalTerritory = _rootTerritory.GetLiveableTerritories().First(t => t != person.Location); person.AddFlag(TravelFlags.SettledFlag); finalTerritory.MovePerson(person); person.Log("I have settled permanently at {0}.", person.Location.Name); return true; }
public bool Encounter(Person person) { var month = _random.Next(3, 8); person.AddFlag(RomanticFlags.EngagedFlag); person.Partner.AddFlag(RomanticFlags.EngagedFlag); person.ClearFlag(RomanticFlags.DatingFlag); person.Partner.ClearFlag(RomanticFlags.DatingFlag); person.PopulationModule.SaveChanges(person.Partner); return true; }
public bool Encounter(Person person) { person.Gender = person.Gender == "Female" ? "Male" : "Female"; person.FirstName = this._firstNameGenerator.Build(person).FirstName; person.Log(string.Format("Changed their name to {0} {1} and is now transistioning", person.FirstName, person.FamilyName)); person.AddFlag(IdentityFlags.TransitioningFlag); return true; }
public bool Encounter(Person person) { var mate = person.Partner; // Mate them up! person.Log("I married {0}.", mate.Name); mate.Log("I married {0}. ", person.Name); person.AddFlag(RomanticFlags.MarriedFlag); mate.AddFlag(RomanticFlags.MarriedFlag); if (person.HasFlag(RomanticFlags.EngagedFlag)) { person.ClearFlag(RomanticFlags.EngagedFlag); mate.ClearFlag(RomanticFlags.EngagedFlag); } person.PopulationModule.SaveChanges(mate); return true; }
public bool Encounter(Person person) { var potentialPartner = person.Location.GetPeopleWhere(p => ValidPartner(person, p)) .OrderBy(_ => Guid.NewGuid()) .FirstOrDefault(); if (potentialPartner == null) { return false; } person.Log("I've started dating {0}!", potentialPartner.Name); potentialPartner.Log("I've started dating {0}!", person.Name); person.AddFlag(RomanticFlags.DatingFlag); potentialPartner.AddFlag(RomanticFlags.DatingFlag); person.Partner = potentialPartner; person.PopulationModule.SaveChanges(potentialPartner); return true; }
public Person Build(Person father = null, Person mother = null) { var person = new Person { Sex = _random.NextDouble() > 0.5 ? "Female" : "Male", Fate = new Fate(_random.Next()) }; person.Gender = person.Sex; person.BirthDate = Universe.CurrentUniverse.CurrentTime; person = _firstNameGenerator.Build(person); if (father != null && mother != null) { person.FamilyName = mother.FamilyName; } else { person = _lastNameGenerator.Build(person); } // Transgender? if (0.063474382 > _random.NextDouble()) person.AddFlag(IdentityFlags.TransgenderFlag); // Generate Personality person.Personality = Personality.CreateRandom(_random); // Generate Fate person.Fate.CalculateLifeline(); return person; }