From 8a0820541eb9bca3d0c46b51578f3d2cd3b1ae58 Mon Sep 17 00:00:00 2001 From: VegaZ Date: Mon, 5 Apr 2021 17:55:23 +0200 Subject: [PATCH] Add revive-Sperre --- .../Commands/FactionCommands.cs | 6 +++ ReallifeGamemode.Server/Events/Death.cs | 37 ++++++++++--------- 2 files changed, 26 insertions(+), 17 deletions(-) diff --git a/ReallifeGamemode.Server/Commands/FactionCommands.cs b/ReallifeGamemode.Server/Commands/FactionCommands.cs index d5a42793..acad0b23 100644 --- a/ReallifeGamemode.Server/Commands/FactionCommands.cs +++ b/ReallifeGamemode.Server/Commands/FactionCommands.cs @@ -309,6 +309,12 @@ namespace ReallifeGamemode.Server.Commands ChatService.ErrorMessage(player, "Es wurde kein toter Spieler gefunden"); return; } + + if (deadPlayer.HasData("reviveSperre")) + { + ChatService.ErrorMessage(player, "Der Spieler hat eine Revivesperre"); + return; + } using (var dbContext = new DatabaseContext()) { var deadPlayerUser = deadPlayer.GetUser(dbContext); diff --git a/ReallifeGamemode.Server/Events/Death.cs b/ReallifeGamemode.Server/Events/Death.cs index 365085c1..b4edee69 100644 --- a/ReallifeGamemode.Server/Events/Death.cs +++ b/ReallifeGamemode.Server/Events/Death.cs @@ -32,6 +32,7 @@ namespace ReallifeGamemode.Server.Events player.Kick(); return; } + player.SetData("isDead", true); @@ -42,9 +43,6 @@ namespace ReallifeGamemode.Server.Events userDeath.SaveChanges(); } - - - //TODO: Zum Full Release entfernen if (player.HasData("togdeath")) { ChatService.SendMessage(player, "Du bist durch " + (killer?.Name ?? "Niemanden") + " gestorben: " + reason.ToString()); @@ -92,21 +90,26 @@ namespace ReallifeGamemode.Server.Events if (user.JailTime <= 0) { - //MEDIC AUFTRAG - MedicTask reviveTask = new MedicTask() + if (!player.HasData("reviveSperre")) { - Victim = player.Name, - Position = player.Position, - CauseOfDeath = reason.ToString(), - Caller = null, - Description = "Gestorben", - Time = DateTime.Now, - Type = MedicTaskType.REVIVE, - MedicName = "none" - }; - Medic.AddTaskToList(reviveTask); - Medic.delHealTask(player); - ChatService.BroadcastFaction("~y~[MEDIC] ~w~" + player.Name + " ist soeben verstorben.", new List() { 2 }); + //MEDIC AUFTRAG + MedicTask reviveTask = new MedicTask() + { + Victim = player.Name, + Position = player.Position, + CauseOfDeath = reason.ToString(), + Caller = null, + Description = "Gestorben", + Time = DateTime.Now, + Type = MedicTaskType.REVIVE, + MedicName = "none" + }; + Medic.AddTaskToList(reviveTask); + Medic.delHealTask(player); + ChatService.BroadcastFaction("~y~[MEDIC] ~w~" + player.Name + " ist soeben verstorben.", new List() { 2 }); + } + + if (player.GetUser().IsAdmin(AdminLevel.ADMIN) == true) {