Add CanAttack to IActionBlocker, prevent using guns when dead (#769)

This commit is contained in:
Víctor Aguilera Puerto
2020-03-03 15:10:09 +01:00
committed by GitHub
parent 5e2cac78ac
commit d1ff84e95d
5 changed files with 37 additions and 2 deletions

View File

@@ -20,6 +20,8 @@ namespace Content.Server.GameObjects.EntitySystems
bool CanPickup();
bool CanEmote();
bool CanAttack();
}
public class ActionBlockerSystem : EntitySystem
@@ -105,5 +107,17 @@ namespace Content.Server.GameObjects.EntitySystems
return canemote;
}
public static bool CanAttack(IEntity entity)
{
bool canattack = true;
foreach (var actionblockercomponents in entity.GetAllComponents<IActionBlocker>())
{
canattack &= actionblockercomponents.CanAttack();
}
return canattack;
}
}
}

View File

@@ -853,7 +853,7 @@ namespace Content.Server.GameObjects.EntitySystems
var item = hands.GetActiveHand?.Owner;
// TODO: If item is null we need some kinda unarmed combat.
if (!ActionBlockerSystem.CanInteract(player) || item == null)
if (!ActionBlockerSystem.CanAttack(player) || item == null)
{
return;
}