remove: убран акшен Кричать
This commit is contained in:
@@ -3,7 +3,6 @@ using Content.Server._White.AspectsSystem.Aspects;
|
|||||||
using Content.Shared.Chat.Prototypes;
|
using Content.Shared.Chat.Prototypes;
|
||||||
using Content.Shared.Humanoid;
|
using Content.Shared.Humanoid;
|
||||||
using Robust.Shared.Audio;
|
using Robust.Shared.Audio;
|
||||||
using Robust.Shared.Prototypes;
|
|
||||||
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
|
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
|
||||||
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.Dictionary;
|
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.Dictionary;
|
||||||
|
|
||||||
@@ -32,12 +31,6 @@ public sealed partial class VocalComponent : Component
|
|||||||
[DataField("wilhelmProbability")]
|
[DataField("wilhelmProbability")]
|
||||||
public float WilhelmProbability = 0.0002f;
|
public float WilhelmProbability = 0.0002f;
|
||||||
|
|
||||||
[DataField("screamAction", customTypeSerializer: typeof(PrototypeIdSerializer<EntityPrototype>))]
|
|
||||||
public string ScreamAction = "ActionScream";
|
|
||||||
|
|
||||||
[DataField("screamActionEntity")]
|
|
||||||
public EntityUid? ScreamActionEntity;
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Currently loaded emote sounds prototype, based on entity sex.
|
/// Currently loaded emote sounds prototype, based on entity sex.
|
||||||
/// Null if no valid prototype for entity sex was found.
|
/// Null if no valid prototype for entity sex was found.
|
||||||
|
|||||||
@@ -1,10 +1,8 @@
|
|||||||
using Content.Server.Actions;
|
|
||||||
using Content.Server.Chat.Systems;
|
using Content.Server.Chat.Systems;
|
||||||
using Content.Server.Speech.Components;
|
using Content.Server.Speech.Components;
|
||||||
using Content.Shared.Chat.Prototypes;
|
using Content.Shared.Chat.Prototypes;
|
||||||
using Content.Shared.Humanoid;
|
using Content.Shared.Humanoid;
|
||||||
using Content.Shared.Speech;
|
using Content.Shared.Speech;
|
||||||
using Robust.Shared.Audio;
|
|
||||||
using Robust.Shared.Audio.Systems;
|
using Robust.Shared.Audio.Systems;
|
||||||
using Robust.Shared.Prototypes;
|
using Robust.Shared.Prototypes;
|
||||||
using Robust.Shared.Random;
|
using Robust.Shared.Random;
|
||||||
@@ -17,33 +15,13 @@ public sealed class VocalSystem : EntitySystem
|
|||||||
[Dependency] private readonly IPrototypeManager _proto = default!;
|
[Dependency] private readonly IPrototypeManager _proto = default!;
|
||||||
[Dependency] private readonly SharedAudioSystem _audio = default!;
|
[Dependency] private readonly SharedAudioSystem _audio = default!;
|
||||||
[Dependency] private readonly ChatSystem _chat = default!;
|
[Dependency] private readonly ChatSystem _chat = default!;
|
||||||
[Dependency] private readonly ActionsSystem _actions = default!;
|
|
||||||
|
|
||||||
public override void Initialize()
|
public override void Initialize()
|
||||||
{
|
{
|
||||||
base.Initialize();
|
base.Initialize();
|
||||||
|
|
||||||
SubscribeLocalEvent<VocalComponent, MapInitEvent>(OnMapInit);
|
|
||||||
SubscribeLocalEvent<VocalComponent, ComponentShutdown>(OnShutdown);
|
|
||||||
SubscribeLocalEvent<VocalComponent, SexChangedEvent>(OnSexChanged);
|
SubscribeLocalEvent<VocalComponent, SexChangedEvent>(OnSexChanged);
|
||||||
SubscribeLocalEvent<VocalComponent, EmoteEvent>(OnEmote);
|
SubscribeLocalEvent<VocalComponent, EmoteEvent>(OnEmote);
|
||||||
SubscribeLocalEvent<VocalComponent, ScreamActionEvent>(OnScreamAction);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void OnMapInit(EntityUid uid, VocalComponent component, MapInitEvent args)
|
|
||||||
{
|
|
||||||
// try to add scream action when vocal comp added
|
|
||||||
_actions.AddAction(uid, ref component.ScreamActionEntity, component.ScreamAction);
|
|
||||||
LoadSounds(uid, component);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void OnShutdown(EntityUid uid, VocalComponent component, ComponentShutdown args)
|
|
||||||
{
|
|
||||||
// remove scream action when component removed
|
|
||||||
if (component.ScreamActionEntity != null)
|
|
||||||
{
|
|
||||||
_actions.RemoveAction(uid, component.ScreamActionEntity);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnSexChanged(EntityUid uid, VocalComponent component, SexChangedEvent args)
|
private void OnSexChanged(EntityUid uid, VocalComponent component, SexChangedEvent args)
|
||||||
@@ -67,15 +45,6 @@ public sealed class VocalSystem : EntitySystem
|
|||||||
args.Handled = _chat.TryPlayEmoteSound(uid, component.EmoteSounds, args.Emote);
|
args.Handled = _chat.TryPlayEmoteSound(uid, component.EmoteSounds, args.Emote);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnScreamAction(EntityUid uid, VocalComponent component, ScreamActionEvent args)
|
|
||||||
{
|
|
||||||
if (args.Handled)
|
|
||||||
return;
|
|
||||||
|
|
||||||
_chat.TryEmoteWithChat(uid, component.ScreamId);
|
|
||||||
args.Handled = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
private bool TryPlayScreamSound(EntityUid uid, VocalComponent component)
|
private bool TryPlayScreamSound(EntityUid uid, VocalComponent component)
|
||||||
{
|
{
|
||||||
if (_random.Prob(component.WilhelmProbability))
|
if (_random.Prob(component.WilhelmProbability))
|
||||||
|
|||||||
@@ -12,12 +12,12 @@ namespace Content.Server.Speech.Muting
|
|||||||
public sealed class MutingSystem : EntitySystem
|
public sealed class MutingSystem : EntitySystem
|
||||||
{
|
{
|
||||||
[Dependency] private readonly PopupSystem _popupSystem = default!;
|
[Dependency] private readonly PopupSystem _popupSystem = default!;
|
||||||
|
|
||||||
public override void Initialize()
|
public override void Initialize()
|
||||||
{
|
{
|
||||||
base.Initialize();
|
base.Initialize();
|
||||||
SubscribeLocalEvent<MutedComponent, SpeakAttemptEvent>(OnSpeakAttempt);
|
SubscribeLocalEvent<MutedComponent, SpeakAttemptEvent>(OnSpeakAttempt);
|
||||||
SubscribeLocalEvent<MutedComponent, EmoteEvent>(OnEmote, before: new[] { typeof(VocalSystem) });
|
SubscribeLocalEvent<MutedComponent, EmoteEvent>(OnEmote, before: new[] { typeof(VocalSystem) });
|
||||||
SubscribeLocalEvent<MutedComponent, ScreamActionEvent>(OnScreamAction, before: new[] { typeof(VocalSystem) });
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnEmote(EntityUid uid, MutedComponent component, ref EmoteEvent args)
|
private void OnEmote(EntityUid uid, MutedComponent component, ref EmoteEvent args)
|
||||||
@@ -30,20 +30,6 @@ namespace Content.Server.Speech.Muting
|
|||||||
args.Handled = true;
|
args.Handled = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnScreamAction(EntityUid uid, MutedComponent component, ScreamActionEvent args)
|
|
||||||
{
|
|
||||||
if (args.Handled)
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (HasComp<MimePowersComponent>(uid))
|
|
||||||
_popupSystem.PopupEntity(Loc.GetString("mime-cant-speak"), uid, uid);
|
|
||||||
|
|
||||||
else
|
|
||||||
_popupSystem.PopupEntity(Loc.GetString("speech-muted"), uid, uid);
|
|
||||||
args.Handled = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private void OnSpeakAttempt(EntityUid uid, MutedComponent component, SpeakAttemptEvent args)
|
private void OnSpeakAttempt(EntityUid uid, MutedComponent component, SpeakAttemptEvent args)
|
||||||
{
|
{
|
||||||
// TODO something better than this.
|
// TODO something better than this.
|
||||||
|
|||||||
@@ -1,7 +0,0 @@
|
|||||||
using Content.Shared.Actions;
|
|
||||||
|
|
||||||
namespace Content.Shared.Speech;
|
|
||||||
|
|
||||||
public sealed partial class ScreamActionEvent : InstantActionEvent
|
|
||||||
{
|
|
||||||
}
|
|
||||||
@@ -1,5 +1,3 @@
|
|||||||
ent-ActionScream = Крикнуть
|
|
||||||
.desc = ААААААААААААААААААААААААА
|
|
||||||
ent-ActionTurnUndead = Обратиться в зомби
|
ent-ActionTurnUndead = Обратиться в зомби
|
||||||
.desc = Поддайтесь заражению и превратитесь в зомби.
|
.desc = Поддайтесь заражению и превратитесь в зомби.
|
||||||
ent-ActionToggleLight = Переключить фонарь
|
ent-ActionToggleLight = Переключить фонарь
|
||||||
|
|||||||
@@ -1,16 +1,3 @@
|
|||||||
- type: entity
|
|
||||||
id: ActionScream
|
|
||||||
name: Scream
|
|
||||||
description: AAAAAAAAAAAAAAAAAAAAAAAAA
|
|
||||||
noSpawn: true
|
|
||||||
components:
|
|
||||||
- type: InstantAction
|
|
||||||
useDelay: 10
|
|
||||||
icon: Interface/Actions/scream.png
|
|
||||||
event: !type:ScreamActionEvent
|
|
||||||
checkCanInteract: false
|
|
||||||
- type: LesserFormRestricted
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
id: ActionTurnUndead
|
id: ActionTurnUndead
|
||||||
name: Turn Undead
|
name: Turn Undead
|
||||||
|
|||||||
@@ -24,16 +24,6 @@
|
|||||||
categories:
|
categories:
|
||||||
- Debug
|
- Debug
|
||||||
|
|
||||||
- type: listing
|
|
||||||
id: DebugListing4
|
|
||||||
name: debug name 4
|
|
||||||
description: debug desc 4
|
|
||||||
productAction: ActionScream
|
|
||||||
categories:
|
|
||||||
- Debug
|
|
||||||
cost:
|
|
||||||
DebugDollar: 1
|
|
||||||
|
|
||||||
- type: listing
|
- type: listing
|
||||||
id: DebugListing2
|
id: DebugListing2
|
||||||
name: debug name 2
|
name: debug name 2
|
||||||
|
|||||||
Reference in New Issue
Block a user