From 01541557b2e940e239dc56d67019aac620dea133 Mon Sep 17 00:00:00 2001 From: VegaZ Date: Mon, 5 Apr 2021 17:44:56 +0200 Subject: [PATCH] ReviveSperre --- .../Commands/FactionCommands.cs | 1 + .../Factions/Medic/Medic.cs | 18 ++++++++++++++++++ ReallifeGamemode.Server/Util/ThreadTimers.cs | 1 + 3 files changed, 20 insertions(+) diff --git a/ReallifeGamemode.Server/Commands/FactionCommands.cs b/ReallifeGamemode.Server/Commands/FactionCommands.cs index 437b8dae..d5a42793 100644 --- a/ReallifeGamemode.Server/Commands/FactionCommands.cs +++ b/ReallifeGamemode.Server/Commands/FactionCommands.cs @@ -331,6 +331,7 @@ namespace ReallifeGamemode.Server.Commands deadPlayer.SendNotification($"Du wurdest von ~y~{player.Name}~s~ für ~g~{100.ToMoneyString()} ~s~wiederbelebt."); player.SendNotification($"Du hast ~y~{deadPlayer.Name}~s~ wiederbelebt und ~g~{Medic.ReviveIncome}$ ~s~für die Fraktion verdient."); deadPlayer.SetData("isDead", false); + deadPlayer.SetData("reviveSperre", 5); dbContext.Factions.Include(f => f.BankAccount).Where(f => f.Id == 2).First().BankAccount.Balance += Medic.ReviveIncome; diff --git a/ReallifeGamemode.Server/Factions/Medic/Medic.cs b/ReallifeGamemode.Server/Factions/Medic/Medic.cs index fad61601..73639b61 100644 --- a/ReallifeGamemode.Server/Factions/Medic/Medic.cs +++ b/ReallifeGamemode.Server/Factions/Medic/Medic.cs @@ -81,6 +81,24 @@ namespace ReallifeGamemode.Server.Factions.Medic } } + public static void UpdateReviveSperre() + { + var allRevivedPlayers = NAPI.Pools.GetAllPlayers().Where(c => c.HasData("reviveSperre")); + foreach(var player in allRevivedPlayers) + { + var timeLeft = player.GetData("reviveSperre"); + + if (timeLeft > 0) + { + player.SetData("reviveSperre", timeLeft - 1); + } + else + { + player.ResetData("reviveSperre"); + } + } + } + public static void MakeHealDecision(Player target, bool decision) { var activeDecision = HealDecisions.FirstOrDefault(d => d.dTarget == target); diff --git a/ReallifeGamemode.Server/Util/ThreadTimers.cs b/ReallifeGamemode.Server/Util/ThreadTimers.cs index 92b16424..0f96f89a 100644 --- a/ReallifeGamemode.Server/Util/ThreadTimers.cs +++ b/ReallifeGamemode.Server/Util/ThreadTimers.cs @@ -59,6 +59,7 @@ namespace ReallifeGamemode.Server.Util Jail.JailOut_Elapsed(); Economy.Timer_Elapsed(); WeaponDealManager.Timer_Elapsed(); + Medic.UpdateReviveSperre(); }); }