Всякое разное (#181)
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.
|
||||||
|
|||||||
@@ -69,6 +69,11 @@ public sealed class MindslaveSystem : SharedMindslaveSystem
|
|||||||
|
|
||||||
private void OnMindslaveRemoved(Entity<SubdermalImplantComponent> ent, ref SubdermalImplantRemoved args)
|
private void OnMindslaveRemoved(Entity<SubdermalImplantComponent> ent, ref SubdermalImplantRemoved args)
|
||||||
{
|
{
|
||||||
|
if (!Tag.HasTag(ent.Owner, MindslaveTag))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (!TryComp(args.Target, out MindSlaveComponent? mindslave))
|
if (!TryComp(args.Target, out MindSlaveComponent? mindslave))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -1,7 +0,0 @@
|
|||||||
using Content.Shared.Actions;
|
|
||||||
|
|
||||||
namespace Content.Shared.Speech;
|
|
||||||
|
|
||||||
public sealed partial class ScreamActionEvent : InstantActionEvent
|
|
||||||
{
|
|
||||||
}
|
|
||||||
@@ -179,7 +179,7 @@ flavor-complex-rocksandstones = как скалы и камни
|
|||||||
|
|
||||||
## Basic drinks
|
## Basic drinks
|
||||||
flavor-complex-water = как вода
|
flavor-complex-water = как вода
|
||||||
flavor-complex-water = как вода
|
flavor-complex-beer = как моча
|
||||||
flavor-complex-cognac = как сухой пряный алкоголь
|
flavor-complex-cognac = как сухой пряный алкоголь
|
||||||
flavor-complex-mead = как забродивший мёд
|
flavor-complex-mead = как забродивший мёд
|
||||||
flavor-complex-vermouth = как виноградная мякоть
|
flavor-complex-vermouth = как виноградная мякоть
|
||||||
|
|||||||
@@ -5,3 +5,12 @@ pick-up-verb-get-data-text = Подобрать
|
|||||||
# "pick up" doesn't make sense if the item is already in their inventory
|
# "pick up" doesn't make sense if the item is already in their inventory
|
||||||
|
|
||||||
pick-up-verb-get-data-text-inventory = Взять в руку
|
pick-up-verb-get-data-text-inventory = Взять в руку
|
||||||
|
|
||||||
|
item-component-on-examine-size = Это {INDEFINITE($size)} [bold]{$size}[/bold] предмет.
|
||||||
|
|
||||||
|
item-component-size-Tiny = крошечный
|
||||||
|
item-component-size-Small = маленький
|
||||||
|
item-component-size-Normal = средний
|
||||||
|
item-component-size-Large = большой
|
||||||
|
item-component-size-Huge = огромный
|
||||||
|
item-component-size-Ginormous = гигантский
|
||||||
@@ -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
|
||||||
|
|||||||
@@ -339,7 +339,7 @@
|
|||||||
- type: Storage
|
- type: Storage
|
||||||
whitelist:
|
whitelist:
|
||||||
tags:
|
tags:
|
||||||
# - PlantAnalyzer
|
- PlantAnalyzer
|
||||||
- PlantSampleTaker
|
- PlantSampleTaker
|
||||||
- BotanyShovel
|
- BotanyShovel
|
||||||
- BotanyHoe
|
- BotanyHoe
|
||||||
@@ -358,10 +358,10 @@
|
|||||||
whitelist:
|
whitelist:
|
||||||
tags:
|
tags:
|
||||||
- BotanyHatchet
|
- BotanyHatchet
|
||||||
# hydro:
|
hydro:
|
||||||
# whitelist:
|
whitelist:
|
||||||
# tags:
|
tags:
|
||||||
# - PlantAnalyzer # Dunno what to put here, should be aight.
|
- PlantAnalyzer # Dunno what to put here, should be aight.
|
||||||
hoe:
|
hoe:
|
||||||
whitelist:
|
whitelist:
|
||||||
tags:
|
tags:
|
||||||
|
|||||||
@@ -19,6 +19,21 @@
|
|||||||
- type: InitialInfectedExempt
|
- type: InitialInfectedExempt
|
||||||
|
|
||||||
- type: randomHumanoidSettings
|
- type: randomHumanoidSettings
|
||||||
|
id: Nanotrasen
|
||||||
|
speciesBlacklist:
|
||||||
|
- Arachnid
|
||||||
|
- Diona
|
||||||
|
- Moth
|
||||||
|
- Reptilian
|
||||||
|
- Skrell
|
||||||
|
- SlimePerson
|
||||||
|
- Vox
|
||||||
|
- Harpy
|
||||||
|
- Felinid
|
||||||
|
- Dwarf
|
||||||
|
|
||||||
|
- type: randomHumanoidSettings
|
||||||
|
parent: Nanotrasen
|
||||||
id: DeathSquad
|
id: DeathSquad
|
||||||
randomizeName: false
|
randomizeName: false
|
||||||
components:
|
components:
|
||||||
@@ -55,6 +70,7 @@
|
|||||||
- type: InitialInfectedExempt
|
- type: InitialInfectedExempt
|
||||||
|
|
||||||
- type: randomHumanoidSettings
|
- type: randomHumanoidSettings
|
||||||
|
parent: Nanotrasen
|
||||||
id: ERTLeader
|
id: ERTLeader
|
||||||
randomizeName: false
|
randomizeName: false
|
||||||
components:
|
components:
|
||||||
@@ -395,6 +411,7 @@
|
|||||||
- type: InitialInfectedExempt
|
- type: InitialInfectedExempt
|
||||||
|
|
||||||
- type: randomHumanoidSettings
|
- type: randomHumanoidSettings
|
||||||
|
parent: Nanotrasen
|
||||||
id: CBURNAgent
|
id: CBURNAgent
|
||||||
components:
|
components:
|
||||||
- type: MindShield
|
- type: MindShield
|
||||||
@@ -423,6 +440,7 @@
|
|||||||
- type: InitialInfectedExempt
|
- type: InitialInfectedExempt
|
||||||
|
|
||||||
- type: randomHumanoidSettings
|
- type: randomHumanoidSettings
|
||||||
|
parent: Nanotrasen
|
||||||
id: CentcomOfficial
|
id: CentcomOfficial
|
||||||
components:
|
components:
|
||||||
- type: MindShield
|
- type: MindShield
|
||||||
|
|||||||
@@ -40,9 +40,6 @@
|
|||||||
- type: Item
|
- type: Item
|
||||||
sprite: Objects/Consumable/Smokeables/Cigars/case.rsi
|
sprite: Objects/Consumable/Smokeables/Cigars/case.rsi
|
||||||
size: Normal
|
size: Normal
|
||||||
shape:
|
|
||||||
- 0,0,2,1
|
|
||||||
storedRotation: 90
|
|
||||||
- type: StorageFill
|
- type: StorageFill
|
||||||
contents:
|
contents:
|
||||||
- id: Cigar
|
- id: Cigar
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
sprite: Objects/Materials/Sheets/glass.rsi
|
sprite: Objects/Materials/Sheets/glass.rsi
|
||||||
- type: Item
|
- type: Item
|
||||||
sprite: Objects/Materials/Sheets/glass.rsi
|
sprite: Objects/Materials/Sheets/glass.rsi
|
||||||
size: Normal
|
size: Small
|
||||||
- type: StaticPrice
|
- type: StaticPrice
|
||||||
price: 0
|
price: 0
|
||||||
- type: Tag
|
- type: Tag
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
sprite: Objects/Materials/Sheets/other.rsi
|
sprite: Objects/Materials/Sheets/other.rsi
|
||||||
- type: Item
|
- type: Item
|
||||||
sprite: Objects/Materials/Sheets/other.rsi
|
sprite: Objects/Materials/Sheets/other.rsi
|
||||||
size: Normal
|
size: Small
|
||||||
- type: Tag
|
- type: Tag
|
||||||
tags:
|
tags:
|
||||||
- Sheet
|
- Sheet
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
sprite: Objects/Materials/ingots.rsi
|
sprite: Objects/Materials/ingots.rsi
|
||||||
- type: Item
|
- type: Item
|
||||||
sprite: Objects/Materials/ingots.rsi
|
sprite: Objects/Materials/ingots.rsi
|
||||||
size: Normal
|
size: Small
|
||||||
- type: StaticPrice
|
- type: StaticPrice
|
||||||
price: 0
|
price: 0
|
||||||
- type: Tag
|
- type: Tag
|
||||||
|
|||||||
@@ -51,7 +51,7 @@
|
|||||||
- state: rods_5
|
- state: rods_5
|
||||||
map: ["base"]
|
map: ["base"]
|
||||||
- type: Item
|
- type: Item
|
||||||
size: Normal
|
size: Small
|
||||||
# heldPrefix: rods
|
# heldPrefix: rods
|
||||||
- type: Construction
|
- type: Construction
|
||||||
graph: MetalRod
|
graph: MetalRod
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
- Body # no chair microbomb
|
- Body # no chair microbomb
|
||||||
blacklist:
|
blacklist:
|
||||||
components:
|
components:
|
||||||
|
- BorgChassis
|
||||||
- Guardian # no holoparasite macrobomb wombo combo
|
- Guardian # no holoparasite macrobomb wombo combo
|
||||||
tags:
|
tags:
|
||||||
- Unimplantable
|
- Unimplantable
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
path: "/Audio/Items/Medical/healthscanner.ogg"
|
path: "/Audio/Items/Medical/healthscanner.ogg"
|
||||||
- type: Tag
|
- type: Tag
|
||||||
tags:
|
tags:
|
||||||
- DiscreteHealthAnalyzer
|
- PlantAnalyzer
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
|
|||||||
@@ -36,6 +36,7 @@
|
|||||||
meltingPoint: -11.0
|
meltingPoint: -11.0
|
||||||
tileReactions:
|
tileReactions:
|
||||||
- !type:CleanTileReaction {}
|
- !type:CleanTileReaction {}
|
||||||
|
- !type:CleanDecalsReaction {}
|
||||||
- !type:SpillTileReaction
|
- !type:SpillTileReaction
|
||||||
paralyzeTime: 3
|
paralyzeTime: 3
|
||||||
launchForwardsMultiplier: 4
|
launchForwardsMultiplier: 4
|
||||||
|
|||||||
Reference in New Issue
Block a user