Explorar o código

fix werewolf transform bug

Tigran %!s(int64=4) %!d(string=hai) anos
pai
achega
a48536e853

+ 0 - 8
MafiaTelegramBot/Game/GameRoles/DameRole.cs

@@ -80,14 +80,6 @@ namespace MafiaTelegramBot.Game.GameRoles
                 }
             }
         }
-
-        public override async Task Kill()
-        {
-            if (Room.PlayersRole.ContainsKey(Roles.Werewolf)
-                && Room.PlayersRole[Roles.Werewolf].Count == 1)
-                await ((WerewolfRole) Room.PlayersRole[Roles.Werewolf][0].CurrentRole).TransformToMafia();
-            await base.Kill();
-        }
         
         public DameRole(GameRoom room, Player player) : base(room, player) { }
     }

+ 0 - 8
MafiaTelegramBot/Game/GameRoles/DonRole.cs

@@ -79,14 +79,6 @@ namespace MafiaTelegramBot.Game.GameRoles
             }
         }
         
-        public override async Task Kill()
-        {
-            if (Room.PlayersRole.ContainsKey(Roles.Werewolf)
-                && Room.PlayersRole[Roles.Werewolf].Count == 1)
-                await ((WerewolfRole) Room.PlayersRole[Roles.Werewolf][0].CurrentRole).TransformToMafia();
-            await base.Kill();
-        }
-        
         public DonRole(GameRoom room, Player player) : base(room, player) { }
     }
 }

+ 0 - 8
MafiaTelegramBot/Game/GameRoles/MafiaRole.cs

@@ -45,14 +45,6 @@ namespace MafiaTelegramBot.Game.GameRoles
                 }
             }
         }
-        
-        public override async Task Kill()
-        {
-            if (Room.PlayersRole.ContainsKey(Roles.Werewolf)
-                && Room.PlayersRole[Roles.Werewolf].Count == 1)
-                await ((WerewolfRole) Room.PlayersRole[Roles.Werewolf][0].CurrentRole).TransformToMafia();
-            await base.Kill();
-        }
 
         public MafiaRole(GameRoom room, Player player) : base(room, player) { }
     }

+ 3 - 0
MafiaTelegramBot/Game/GameRooms/GameRoom.GameProcess.cs

@@ -214,6 +214,9 @@ namespace MafiaTelegramBot.Game.GameRooms
                             message += alive
                                 ? $"\n{Players[id].NickName} {strings.will_be_ressurected}"
                                 : $"\n{Players[id].NickName} {strings.will_be_killed}";
+                            if(!alive && Players[id].GetRole() is Roles.Don or Roles.Dame or Roles.Mafia
+                                      && PlayersRole.ContainsKey(Roles.Werewolf) && PlayersRole[Roles.Werewolf].Count == 1)
+                                await ((WerewolfRole) PlayersRole[Roles.Werewolf][0].CurrentRole).TransformToMafia();
                             await PlayersCh.SendTo(id, alive ? strings.you_will_be_ressurected : strings.you_will_be_killed);
                         }
                 message += '\n' + mafiaNotAgree;