public override bool Execute(Player p, DayStep time) { this.EventText.Clear(); string withFriends = p.Gender == GenderType.Man ? "з хлопцями" : "з дівчатами"; p.DistanceFromHome = DistanceType.Medium; p.ChangeFollowerRait(-5); if (p.Place == PlaceType.Place && p.Company == CompanyType.WithFriends) { EventText.Add($"Після недовгих перемовин {withFriends} було " + $"вирішено продовжувати гуляння!."); if (time.isLearningTime) { p.ChangeOP(-5); } p.ChangePower(-5); p.ChangeFollowerRait(-5); p.ChangeHappines(17); EventText.Add(p.GetDrunk(1)); p.ChangeFriendsRait(20); return(true); } else { if (time.partOfDay == PartOfDay.Evening) { EventText.Add($"Починається вечірня вилазка " + $"{withFriends} в {BarName}."); } else if (time.partOfDay == PartOfDay.Night) { EventText.Add($"Це буде весела нічка " + $"{withFriends} в {BarName}!"); } else { EventText.Add($"Гайда " + $"{withFriends} в {BarName}!"); } p.ChangePower(-10); EventText.Add(p.Gender == GenderType.Man ? $"{p.Name} {withFriends} " + $"весело гуляє в барі, пиво ллється рікою а веселі історії, " + $"здається, не закінчаться ніколи! {Resource.PLUS_HAPPY} {Resource.PLUS_FRIENDS}" : $"{p.Name} {withFriends} п'ють вино, обговорюють важливі теми та оцінюють" + $""); EventText.Add(p.GetDrunk(1)); p.Company = CompanyType.WithFriends; p.Place = PlaceType.Place; p.ChangeHappines(10); p.ChangeFriendsRait(10); p.ChangeFollowerRait(-5); return(false); } }
public override bool Execute(Player p, DayStep time) { this.EventText.Clear(); Random r = new Random(); int RandomValue; bool Zator = false; if (time.partOfDay == PartOfDay.Night) { RandomValue = r.Next(0, 100); } else { RandomValue = r.Next(0, 10); } if (RandomValue < 5) { Zator = true; } p.Place = PlaceType.Home; p.Company = CompanyType.Alone; p.ChangeMoney(-cost); switch (p.DistanceFromHome) { case DistanceType.Low: p.DistanceFromHome = DistanceType.Home; this.EventText.Add($"{p.Name} вдома."); return(false); case DistanceType.Medium: if (Zator) { this.EventText.Add("Автобус потравляє у затор. Бабуськи вважають" + $" за необхідне дуже голосно сповіщати про це всіх довкола, а {p.Name}" + $" не може навіть послухати музику, бо телефон сів. {Resource.MINUS_HAPPY}"); p.ChangeHappines(-5); } this.EventText.Add($"{p.Name} нарешті вдома."); p.DistanceFromHome = DistanceType.Home; return(false); case DistanceType.Large: this.EventText.Add("Половину шляху треба їхати на трамваї."); this.EventText.Add("Трамвай успішно доїхав до центру. Звідси на автобусі."); if (Zator) { this.EventText.Add("Автобус потравляє у затор. Бабуськи вважають" + $" за необхідне дуже голосно сповіщати про це всіх довкола, а {p.Name}" + $"не може навіть послухати музику, бо телефон сів. {Resource.MINUS_HAPPY}"); p.ChangeHappines(-5); } if (p.isDrunk) { if (p.DrunkLevel == 1 || p.DrunkLevel == 2) { EventText.Add($"В дорозі п'яне тіло почуває себе не дуже добре, " + $"{p.Name} відчуває нудоту і тримається з останніх сил на поворотах. {Resource.MINUS_HAPPY}"); EventText.Add(p.ResetDrunk(1)); p.ChangeHappines(-5); } else { string s = p.Gender == GenderType.Man ? "його" : "її"; string s1 = p.Gender == GenderType.Man ? "позеленів" : "позеленіла"; EventText.Add($"Ох ні, оце халепа! {p.Name} аж {s1} від нудоти і {s} " + $"все-таки знудило на одній із зупинок! Тепер треба чекати наступного " + $"автобусу під ядовитими поглядами оточуючих. {Resource.MINUS_HAPPY}"); EventText.Add(p.ResetDrunk(1)); p.ChangeHappines(-10); } } this.EventText.Add("Така довга подорож в громадському транспорті " + $"виснажить кого завгодно. {Resource.MINUS_HAPPY}"); p.ChangeHappines(-5); p.ChangeFollowerRait(-3); p.DistanceFromHome = DistanceType.Home; return(true); default: return(false); } }