Add Hanf items, some inventory mess removed

This commit is contained in:
hydrant
2021-05-22 14:52:29 +02:00
parent 467e0a4248
commit 34033eb875
20 changed files with 126 additions and 135 deletions

View File

@@ -1,6 +1,7 @@
using System;
using GTANetworkAPI;
using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Inventory.Interfaces;
using ReallifeGamemode.Server.Managers;
@@ -8,7 +9,7 @@ using ReallifeGamemode.Server.Util;
namespace ReallifeGamemode.Server.Inventory.Items
{
public abstract class ConsumableItem : BaseItem, IUsableItem
public abstract class ConsumableItem : UseItem
{
public abstract int HpAmount { get; }
public override int Id { get; }
@@ -18,28 +19,28 @@ namespace ReallifeGamemode.Server.Inventory.Items
public override string Einheit { get; }
public override int Price { get; }
public abstract float Cooldown { get; }
public abstract uint Object { get; }
public abstract override uint Object { get; }
public override bool RemoveWhenUsed => true;
public abstract void Consume(UserItem uItem);
public abstract void Consume(Player player, User user, DatabaseContext databaseContext);
public bool Use(UserItem uItem)
public override bool Use(Player player, User user, DatabaseContext databaseContext)
{
User user = uItem.GetUser();
if (user.Player == null || !user.Player.IsLoggedIn())
return false;
if (!HasCooldownElapsed(user))
if (!HasCooldownElapsed(user) && Cooldown > 0)
{
DateTime time = InventoryManager.itemCooldown[user.Id];
int timeUntillNextUse = (int)(time - DateTime.Now).TotalSeconds;
uItem.GetUser().Player.TriggerEvent("Error", $"Versuche es nach {timeUntillNextUse} Sekunden erneut.");
user.Player.TriggerEvent("Error", $"Versuche es nach {timeUntillNextUse} Sekunden erneut.");
return false;
}
DateTime cooldown = DateTime.Now.AddMilliseconds(Cooldown);
InventoryManager.itemCooldown.Add(user.Id, cooldown);
Consume(uItem);
Consume(player, user, databaseContext);
return true;
}