Port stethoscopes + innate verbs from nyano (#8228)

* port stethoscopes from nyanotrasen

* remove mono crash wtf

* don't touch puddle

* Switch to using action

* both verb and action

* Address reviews
This commit is contained in:
Rane
2022-06-05 21:37:29 -04:00
committed by GitHub
parent df453533ca
commit 73478a1ad1
7 changed files with 279 additions and 1 deletions

View File

@@ -102,6 +102,13 @@ namespace Content.Shared.Verbs
verbs.UnionWith(verbEvent.Verbs);
}
if (types.Contains(typeof(InnateVerb)))
{
var verbEvent = new GetVerbsEvent<InnateVerb>(user, target, @using, hands, canInteract, canAccess);
RaiseLocalEvent(user, verbEvent);
verbs.UnionWith(verbEvent.Verbs);
}
if (types.Contains(typeof(AlternativeVerb)))
{
var verbEvent = new GetVerbsEvent<AlternativeVerb>(user, target, @using, hands, canInteract, canAccess);

View File

@@ -215,6 +215,7 @@ namespace Content.Shared.Verbs
{ typeof(Verb) },
{ typeof(InteractionVerb) },
{ typeof(UtilityVerb) },
{ typeof(InnateVerb)},
{ typeof(AlternativeVerb) },
{ typeof(ActivationVerb) },
{ typeof(ExamineVerb) }
@@ -262,6 +263,24 @@ namespace Content.Shared.Verbs
}
}
/// <summary>
/// This is for verbs facilitated by components on the user.
/// Verbs from clothing, species, etc. rather than a held item.
/// </summary>
/// <remarks>
/// Add a component to the user's entity and sub to the get verbs event
/// and it'll appear in the verbs menu on any target.
/// </summary>
[Serializable, NetSerializable]
public sealed class InnateVerb : Verb
{
public override int TypePriority => 3;
public InnateVerb() : base()
{
TextStyleClass = InteractionVerb.DefaultTextStyleClass;
}
}
/// <summary>
/// Verbs for alternative-interactions.
/// </summary>