Disable speaking while unconscious/dead (#362)

* Disable speaking while unconscious/dead

Fixes #359

* Add CanSpeak ActionBlocker

Matches the existing technique for other actions like CanUse() and CanThrow().
This commit is contained in:
moneyl
2019-09-24 03:55:38 -04:00
committed by Pieter-Jan Briers
parent 3e972b501a
commit 31487c1cf1
4 changed files with 39 additions and 0 deletions

View File

@@ -12,6 +12,8 @@ namespace Content.Server.GameObjects.EntitySystems
bool CanUse();
bool CanThrow();
bool CanSpeak();
}
public class ActionBlockerSystem : EntitySystem
@@ -55,5 +57,15 @@ namespace Content.Server.GameObjects.EntitySystems
}
return canthrow;
}
public static bool CanSpeak(IEntity entity)
{
bool canspeak = true;
foreach (var actionblockercomponents in entity.GetAllComponents<IActionBlocker>())
{
canspeak &= actionblockercomponents.CanSpeak();
}
return canspeak;
}
}
}