Browse Source

Я в своем познании настолько преисполнился, что я как будто бы уже

сто триллионов миллиардов лет проживаю на триллионах и

триллионах таких же планет, как эта Земля, мне этот мир абсолютно

понятен, и я здесь ищу только одного - покоя, умиротворения и

вот этой гармонии, от слияния с бесконечно вечным, от созерцания

великого фрактального подобия и от вот этого замечательного всеединства

существа, бесконечно вечного, куда ни посмотри, хоть вглубь - бесконечно

малое, хоть ввысь - бесконечное большое, понимаешь? А ты мне опять со

своим вот этим, иди суетись дальше, это твоё распределение, это

твой путь и твой горизонт познания и ощущения твоей природы, он

несоизмеримо мелок по сравнению с моим, понимаешь? Я как будто бы уже

давно глубокий старец, бессмертный, ну или там уже почти бессмертный,

который на этой планете от её самого зарождения, ещё когда только Солнце

только-только сформировалось как звезда, и вот это газопылевое облако,

вот, после взрыва, Солнца, когда оно вспыхнуло, как звезда, начало

формировать вот эти коацерваты, планеты, понимаешь, я на этой Земле уже

как будто почти пять миллиардов лет живу и знаю её вдоль и поперёк

этот весь мир, а ты мне какие-то... мне не важно на твои тачки, на твои

яхты, на твои квартиры, там, на твоё благо. Я был на этой

планете бесконечным множеством, и круче Цезаря, и круче Гитлера, и круче

всех великих, понимаешь, был, а где-то был конченым говном, ещё хуже,

чем здесь. Я множество этих состояний чувствую. Где-то я был больше

подобен растению, где-то я больше был подобен птице, там, червю, где-то

был просто сгусток камня, это всё есть душа, понимаешь? Она имеет грани

подобия совершенно многообразные, бесконечное множество. Но тебе этого

не понять, поэтому ты езжай себе , мы в этом мире как бы живем

разными ощущениями и разными стремлениями, соответственно, разное наше и

место, разное и наше распределение. Тебе я желаю все самые крутые тачки

чтоб были у тебя, и все самые лучше самки, если мало идей, обращайся ко мне, я тебе на каждую твою идею предложу сотню триллионов, как всё делать. Ну а я всё, я иду как глубокий старец,узревший вечное, прикоснувшийся к Божественному, сам стал богоподобен и устремлен в это бесконечное, и который в умиротворении, покое, гармонии, благодати, в этом сокровенном блаженстве пребывает, вовлеченный во всё и во вся, понимаешь, вот и всё, в этом наша разница. Так что я иду любоваться мирозданием, а ты идёшь преисполняться в ГРАНЯХ каких-то, вот и вся разница, понимаешь, ты не зришь это вечное бесконечное, оно тебе не нужно. Ну зато ты, так сказать, более активен, как вот этот дятел долбящий, или муравей, который очень активен в своей стезе, поэтому давай, наши пути здесь, конечно, имеют грани подобия, потому что всё едино, но я-то тебя прекрасно понимаю, а вот ты меня - вряд ли, потому что я как бы тебя в себе содержу, всю твою природу, она составляет одну маленькую там песчиночку, от того что есть во мне, вот и всё, поэтому давай, ступай, езжай, а я пошел наслаждаться прекрасным осенним закатом на берегу теплой южной реки. Всё, ступай, и я пойду.
Tigran 4 years ago
parent
commit
cdc29a96a6

+ 5 - 12
MafiaTelegramBot/Game/GameRoles/DameRole.cs

@@ -69,20 +69,13 @@ namespace MafiaTelegramBot.Game.GameRoles
                 await Room.PlayersCh.EditTo(Player.Id, MessageId, $"{strings.you_choose_target} {Room.Players[NightTargetId].NickName}");
             }
         }
-        
+
         public override async Task SetMafiaTarget(long userId)
         {
-            if(userId == -1) await Room.PlayersCh.EditTo(Player.Id, MafiaMessageId, strings.you_skip_vote);
-            else
-            {
-                if (!Room.Players.ContainsKey(userId)) await Room.PlayersCh.SendTo(Player.Id, strings.this_player_left_from_game);
-                else
-                {
-                    MafiaTargetId = userId;
-                    await Room.PlayersCh.EditTo(Player.Id, MafiaMessageId,
-                        $"{strings.you_choose_target} {Room.Players[MafiaTargetId].NickName}");
-                }
-            }
+            MafiaTargetId = userId;
+            if (userId == -4) await Room.PlayersCh.EditTo(Player.Id, MafiaMessageId, strings.you_skip_vote);
+            else if(!Room.Players.ContainsKey(userId)) await Room.PlayersCh.SendTo(Player.Id, strings.this_player_left_from_game);
+            else await Room.PlayersCh.EditTo(Player.Id, MafiaMessageId, $"{strings.you_choose_target} {Room.Players[userId].NickName}");
         }
         
         public DameRole(GameRoom room, Player player) : base(room, player) { }

+ 5 - 12
MafiaTelegramBot/Game/GameRoles/DonRole.cs

@@ -69,20 +69,13 @@ namespace MafiaTelegramBot.Game.GameRoles
                 await Room.PlayersCh.EditTo(Player.Id, MessageId, $"{strings.you_choose_target} {Room.Players[NightTargetId].NickName}");
             }
         }
-        
+
         public override async Task SetMafiaTarget(long userId)
         {
-            if(userId == -1) await Room.PlayersCh.EditTo(Player.Id, MafiaMessageId, strings.you_skip_vote);
-            else
-            {
-                if (!Room.Players.ContainsKey(userId)) await Room.PlayersCh.SendTo(Player.Id, strings.this_player_left_from_game);
-                else
-                {
-                    MafiaTargetId = userId;
-                    await Room.PlayersCh.EditTo(Player.Id, MafiaMessageId,
-                        $"{strings.you_choose_target} {Room.Players[MafiaTargetId].NickName}");
-                }
-            }
+            MafiaTargetId = userId;
+            if (userId == -4) await Room.PlayersCh.EditTo(Player.Id, MafiaMessageId, strings.you_skip_vote);
+            else if(!Room.Players.ContainsKey(userId)) await Room.PlayersCh.SendTo(Player.Id, strings.this_player_left_from_game);
+            else await Room.PlayersCh.EditTo(Player.Id, MafiaMessageId, $"{strings.you_choose_target} {Room.Players[userId].NickName}");
         }
         
         public DonRole(GameRoom room, Player player) : base(room, player) { }

+ 4 - 10
MafiaTelegramBot/Game/GameRoles/MafiaRole.cs

@@ -38,16 +38,10 @@ namespace MafiaTelegramBot.Game.GameRoles
 
         public override async Task SetMafiaTarget(long userId)
         {
-            if(userId == -1) await Room.PlayersCh.EditTo(Player.Id, MafiaMessageId, strings.you_skip_vote);
-            else
-            {
-                if(!Room.Players.ContainsKey(userId)) await Room.PlayersCh.SendTo(Player.Id, strings.this_player_left_from_game);
-                else
-                {
-                    MafiaTargetId = userId;
-                    await Room.PlayersCh.EditTo(Player.Id, MafiaMessageId, $"{strings.you_choose_target} {Room.Players[userId].NickName}");
-                }
-            }
+            MafiaTargetId = userId;
+            if (userId == -4) await Room.PlayersCh.EditTo(Player.Id, MafiaMessageId, strings.you_skip_vote);
+            else if(!Room.Players.ContainsKey(userId)) await Room.PlayersCh.SendTo(Player.Id, strings.this_player_left_from_game);
+            else await Room.PlayersCh.EditTo(Player.Id, MafiaMessageId, $"{strings.you_choose_target} {Room.Players[userId].NickName}");
         }
 
         public MafiaRole(GameRoom room, Player player) : base(room, player) { }

+ 14 - 4
MafiaTelegramBot/Game/GameRooms/GameRoom.GameProcess.cs

@@ -224,13 +224,23 @@ namespace MafiaTelegramBot.Game.GameRooms
             {
                 var beforeKill = Players.Values.ToDictionary(p=>p.Id,p=>p.IsAlive);
                 var mafiaNotAgree = "";
-                var votes = Players.Values.Where(p=> p.IsAlive && p.CurrentRole.MafiaTargetId != -1 && p.CurrentRole.MafiaTargetId != -2)
+                var votes = Players.Values.Where(p=> p.IsAlive && p.CurrentRole.MafiaTargetId != -1 && p.CurrentRole.MafiaTargetId != -2 && p.CurrentRole.MafiaTargetId != -4)
                     .GroupBy(p => p.CurrentRole.MafiaTargetId)
                     .Select(item => new {id = item.Key, count = item.Count()})
                     .ToList();
-                var hookerBlock = Players.Values.Any(p => p.CurrentRole.MafiaTargetId == -2);
-                if (hookerBlock) { }
-                else if (votes.Count == 0) mafiaNotAgree = strings.mafia_not_kill_message;
+                if (votes.Count == 0)
+                {
+                    var allMafiaVotes = Players.Values.Where(p => p.CurrentRole.MafiaTargetId is -1 or -2 or -3).Distinct().ToList();
+                    if (allMafiaVotes.Count == 1)
+                    {
+                        mafiaNotAgree = allMafiaVotes[0].CurrentRole.MafiaTargetId switch
+                        {
+                            -1 => strings.mafia_not_kill_message,
+                            -3 => strings.mafia_decided_not_kill,
+                            _ => "",
+                        };
+                    }
+                }
                 else {
                     var max = votes.Max(item => item.count);
                     var maxObjects = votes.Where(item => item.count == max).ToList();

+ 1 - 1
MafiaTelegramBot/Resources/Keyboard.cs

@@ -201,7 +201,7 @@ namespace MafiaTelegramBot.Resources
                 };
             }
             inlineButtons[players.Count] = new[] {
-                InlineKeyboardButton.WithCallbackData(strings.skip, $"{Callback.MafiaTarget}|{userId}|-1")
+                InlineKeyboardButton.WithCallbackData(strings.skip, $"{Callback.MafiaTarget}|{userId}|-4")
             };
             return inlineButtons;
         }

+ 6 - 0
MafiaTelegramBot/Resources/strings.Designer.cs

@@ -1118,5 +1118,11 @@ namespace MafiaTelegramBot {
                 return ResourceManager.GetString("calculating_votes", resourceCulture);
             }
         }
+        
+        internal static string mafia_decided_not_kill {
+            get {
+                return ResourceManager.GetString("mafia_decided_not_kill", resourceCulture);
+            }
+        }
     }
 }

+ 3 - 0
MafiaTelegramBot/Resources/strings.resx

@@ -555,4 +555,7 @@
     <data name="calculating_votes" xml:space="preserve">
         <value>Подвожу итоги...</value>
     </data>
+    <data name="mafia_decided_not_kill" xml:space="preserve">
+        <value>Мафия решила никого не убивать</value>
+    </data>
 </root>