Аспектики (#838)

This commit is contained in:
BIGZi0348
2024-12-22 20:40:11 +03:00
committed by GitHub
4 changed files with 34 additions and 22 deletions

View File

@@ -8,6 +8,8 @@ using Content.Shared._White.Telescope;
using Content.Shared.Humanoid;
using Content.Shared.Movement.Components;
using Content.Shared.Movement.Systems;
using Content.Server.Chat.Managers;
using Robust.Shared.Player;
namespace Content.Server._White.AspectsSystem.Aspects;
@@ -16,6 +18,8 @@ public sealed class ImmersiveAspect : AspectSystem<ImmersiveAspectComponent>
[Dependency] private readonly SharedContentEyeSystem _eye = default!;
[Dependency] private readonly SharedTelescopeSystem _telescope = default!;
[Dependency] private readonly IChatManager _chatManager = default!;
[Dependency] private readonly ISharedPlayerManager _playerManager = default!;
public override void Initialize()
{
@@ -44,6 +48,9 @@ public sealed class ImmersiveAspect : AspectSystem<ImmersiveAspectComponent>
FuckUpEye(entity, 0.6f);
AddTelescope(entity);
_playerManager.TryGetSessionByEntity(entity, out var session);
if (session != null)
_chatManager.DispatchServerMessage(session, Loc.GetString("immersive-aspect-desc"));
}
}
@@ -76,6 +83,9 @@ public sealed class ImmersiveAspect : AspectSystem<ImmersiveAspectComponent>
FuckUpEye(ev.Mob, 0.6f);
AddTelescope(ev.Mob);
_playerManager.TryGetSessionByEntity(ev.Mob, out var session);
if (session != null)
_chatManager.DispatchServerMessage(session, Loc.GetString("immersive-aspect-desc"));
}
}

View File

@@ -27,7 +27,7 @@ namespace Content.Server._White.AspectsSystem.Aspects
private float _timeElapsedForTraitor;
private float _wacky;
private const float WackyAaa = 60;
private const float WackyAaa = 430;
protected override void Started(EntityUid uid, TraitoredAspectComponent component, GameRuleComponent gameRule, GameRuleStartedEvent args)
{
@@ -39,7 +39,7 @@ namespace Content.Server._White.AspectsSystem.Aspects
if (!HasTraitorGameRule())
ForceEndSelf(uid, gameRule);
_wacky = _random.Next(300, 360);
_wacky = _random.Next(720, 860);
}
protected override void ActiveTick(EntityUid uid, TraitoredAspectComponent component, GameRuleComponent gameRule, float frameTime)
@@ -74,9 +74,7 @@ namespace Content.Server._White.AspectsSystem.Aspects
var traitors = _traitorRuleSystem.GetOtherTraitorMindsAliveAndConnected(null);
if (traitors.Count == 0)
{
ForceEndSelf(uid, rule);
}
return;
foreach (var traitor in traitors)
{
@@ -86,9 +84,9 @@ namespace Content.Server._White.AspectsSystem.Aspects
var traitorMind = traitor.Mind.OwnedEntity;
if (traitorMind == null)
return;
continue;
_chatManager.DispatchServerMessage(session, "Внимание, коммуникации синдиката перехвачены, вас раскрыли!");
_chatManager.DispatchServerMessage(session, "Внимание, коммуникации синдиката были перехвачены, скоро вас раскроют!");
_audio.PlayEntity("/Audio/White/Aspects/palevo.ogg", traitorMind.Value, traitorMind.Value);
}
}
@@ -97,18 +95,20 @@ namespace Content.Server._White.AspectsSystem.Aspects
{
var traitors = _traitorRuleSystem.GetOtherTraitorMindsAliveAndConnected(null);
var msg = "Станция, служба контрразведки НаноТрейзен рассекретила секретную передачу Синдиката и выяснила имена проникниших на вашу станцию агентов. Агенты имеют следующие имена: \n";
var msg = "Станция, служба контрразведки НаноТрейзен рассекретила передачу Синдиката и выяснила проникниших на вашу станцию агентов. Агенты имеют следующие имена: \n";
foreach (var traitor in traitors)
{
var name = traitor.Mind.CharacterName;
if (!string.IsNullOrEmpty(name))
{
msg += $" {name} - УБЕЙТЕ ЕГО НАХУЙ\n";
msg += $" {name}\n";
}
}
_chatSystem.DispatchGlobalAnnouncement(msg, "Мяукиман Крысус", colorOverride: Color.Aquamarine);
msg = msg + "\nОфицерскому составу - немедленно устранить вышеперечисленных агентов.";
_chatSystem.DispatchGlobalAnnouncement(msg, "Центральное Командование", colorOverride: Color.Aquamarine);
ForceEndSelf(uid, rule);
}

View File

@@ -0,0 +1 @@
immersive-aspect-desc = Для осмотра своего окружение, нажмите клавишу присмотреться/прицелиться (по умолчанию - Пробел).

View File

@@ -24,18 +24,19 @@
path: /Audio/White/Aspects/accent.ogg
- type: FastAndFuriousAspect
- type: entity
id: RandomAppearanceAspect
parent: BaseGameRule
noSpawn: true
components:
- type: Aspect
name: Random appearance
description: Экипаж перестал узнавать друг-друга в лицо
weight: 3
startAudio:
path: /Audio/White/Aspects/accent.ogg
- type: RandomAppearanceAspect
# Not funny
# - type: entity
# id: RandomAppearanceAspect
# parent: BaseGameRule
# noSpawn: true
# components:
# - type: Aspect
# name: Random appearance
# description: Экипаж перестал узнавать друг-друга в лицо
# weight: 3
# startAudio:
# path: /Audio/White/Aspects/accent.ogg
# - type: RandomAppearanceAspect
- type: entity
id: BombassAspect