Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        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);
            }
        }