Sani Erweiterung

This commit is contained in:
VegaZ
2021-02-04 20:03:44 +01:00
parent 12df148c1e
commit 92371c7a67
14 changed files with 250 additions and 9 deletions

View File

@@ -4,6 +4,9 @@ using Newtonsoft.Json;
using ReallifeGamemode.Server.Services;
using System.Linq;
using ReallifeGamemode.Services;
using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Database.Models;
using Microsoft.EntityFrameworkCore;
/**
* @overview Life of German Reallife - Server Factions Medic Medic.cs
@@ -18,6 +21,7 @@ namespace ReallifeGamemode.Server.Factions.Medic
public static List<MedicTask> ReviveTasks = new List<MedicTask>();
public static List<MedicTask> HealTasks = new List<MedicTask>();
public static List<MedicTask> FireTasks = new List<MedicTask>();
public static int ReviveIncome = 500;
public static void AddTaskToList(MedicTask task)
{
@@ -119,7 +123,7 @@ namespace ReallifeGamemode.Server.Factions.Medic
}
[RemoteEvent("delReviveTask")]
public void delReviveTask(Player player)
public static void delReviveTasks(Player player)
{
MedicTask task = ReviveTasks.FirstOrDefault(t => t.Victim == player.Name);
RemoveTaskFromList(task);
@@ -131,11 +135,31 @@ namespace ReallifeGamemode.Server.Factions.Medic
RemoveTaskFromList(task);
player.SetData("healauftrag", false);
}
public static void delReviveTasks(Player player)
[RemoteEvent("RemoveMedicCheckpoint")]
public void RemoveMedicCheckpoint(Player player)
{
MedicTask task = ReviveTasks.FirstOrDefault(t => t.Victim == player.Name);
RemoveTaskFromList(task);
var medic = PlayerService.GetPlayerByNameOrId(task.MedicName);
medic.TriggerEvent("checkPointTimeout");
medic.SendNotification("Der Auftrag wurde abgebrochen da du nicht innerhalb der vogegebenen Zeit am Einsatzort warst!");
}
[RemoteEvent("CutMedicEarnings")]
public void CutMedicEarnings(Player player)
{
MedicTask task = ReviveTasks.FirstOrDefault(t => t.Victim == player.Name);
var medic = PlayerService.GetPlayerByNameOrId(task.MedicName);
medic.TriggerEvent("cutMedicEarnings");
}
[RemoteEvent("payCutMedicEarnings")]
public void PayCutMedicEarnings(Player player)
{
using var dbContext = new DatabaseContext();
dbContext.Factions.Include(f => f.BankAccount).Where(f => f.Id == 2).First().BankAccount.Balance += Medic.ReviveIncome / 2;
player.SendNotification($"Du hast den Einsatzort erreicht und ~g~{Medic.ReviveIncome / 2}$ ~s~für die Fraktion verdient, da der Spieler bereits aus dem Krankenhaus entlassen wurde.");
dbContext.SaveChanges();
}
}
}
}