Add Hanf items, some inventory mess removed
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user