Я скучаю так очень, забери меня срочно

This commit is contained in:
Remuchi
2024-03-28 00:13:42 +07:00
parent 1076530ad8
commit fa18556a8f
34 changed files with 246 additions and 304 deletions

View File

@@ -35,8 +35,6 @@ namespace Content.Client.Administration.UI.CustomControls
private readonly Font _fontOverride; private readonly Font _fontOverride;
private PlayerInfo? _selectedPlayer;
public PlayerListControl() public PlayerListControl()
{ {
_entManager = IoCManager.Resolve<IEntityManager>(); _entManager = IoCManager.Resolve<IEntityManager>();

View File

@@ -186,7 +186,7 @@ public sealed class ClientClothingSystem : ClothingSystem
State = state State = state
}; };
layers = [layer]; layers = new List<PrototypeLayerData> { layer };
return true; return true;
} }

View File

@@ -15,7 +15,7 @@ namespace Content.Client.Decals.Overlays
{ {
private readonly Dictionary<string, (Texture Texture, bool SnapCardinals)> _cachedTextures = new(64); private readonly Dictionary<string, (Texture Texture, bool SnapCardinals)> _cachedTextures = new(64);
private readonly List<(uint Id, Decal Decal)> _decals = []; private readonly List<(uint Id, Decal Decal)> _decals = new();
protected override void Draw(in OverlayDrawArgs args) protected override void Draw(in OverlayDrawArgs args)
{ {

View File

@@ -14,14 +14,14 @@ public sealed class AirlockSystem : SharedAirlockSystem
public override void Initialize() public override void Initialize()
{ {
base.Initialize(); base.Initialize();
SubscribeLocalEvent<AirlockComponent, BeforeDoorClosedEvent>(OnBeforeDoorClosed);
SubscribeLocalEvent<AirlockComponent, ComponentStartup>(OnComponentStartup); SubscribeLocalEvent<AirlockComponent, ComponentStartup>(OnComponentStartup);
SubscribeLocalEvent<AirlockComponent, AppearanceChangeEvent>(OnAppearanceChange); SubscribeLocalEvent<AirlockComponent, AppearanceChangeEvent>(OnAppearanceChange);
} }
protected override void OnBeforeDoorClosed(EntityUid uid, AirlockComponent airlock, BeforeDoorClosedEvent args) // А нужен ли ты блять
private void OnBeforeDoorClosed(EntityUid uid, AirlockComponent airlock, BeforeDoorClosedEvent args)
{ {
base.OnBeforeDoorClosed(uid, airlock, args);
if (_appearanceSystem.TryGetData<bool>(uid, DoorVisuals.BoltLights, out var boltLights) && boltLights) if (_appearanceSystem.TryGetData<bool>(uid, DoorVisuals.BoltLights, out var boltLights) && boltLights)
{ {
args.Cancel(); args.Cancel();

View File

@@ -107,7 +107,7 @@ namespace Content.Client.Preferences.UI
private readonly List<SpeciesPrototype> _speciesList; private readonly List<SpeciesPrototype> _speciesList;
private readonly List<AntagPreferenceSelector> _antagPreferences; private readonly List<AntagPreferenceSelector> _antagPreferences;
private readonly List<TraitPreferenceSelector> _traitPreferences; private readonly List<TraitPreferenceSelector> _traitPreferences;
private List<BodyTypePrototype> _bodyTypesList = []; private List<BodyTypePrototype> _bodyTypesList = new();
private SpriteView _previewSpriteView => CSpriteView; private SpriteView _previewSpriteView => CSpriteView;
private Button _previewRotateLeftButton => CSpriteRotateLeft; private Button _previewRotateLeftButton => CSpriteRotateLeft;
@@ -439,7 +439,7 @@ namespace Content.Client.Preferences.UI
IsDirty = true; IsDirty = true;
}; };
_jobPriorities = []; _jobPriorities = new List<JobPrioritySelector>();
_jobCategories = new Dictionary<string, BoxContainer>(); _jobCategories = new Dictionary<string, BoxContainer>();
_requirements = IoCManager.Resolve<JobRequirementsManager>(); _requirements = IoCManager.Resolve<JobRequirementsManager>();
_requirements.Updated += UpdateRoleRequirements; _requirements.Updated += UpdateRoleRequirements;
@@ -451,7 +451,7 @@ namespace Content.Client.Preferences.UI
_tabContainer.SetTabTitle(2, Loc.GetString("humanoid-profile-editor-antags-tab")); _tabContainer.SetTabTitle(2, Loc.GetString("humanoid-profile-editor-antags-tab"));
_antagPreferences = []; _antagPreferences = new List<AntagPreferenceSelector>();
foreach (var antag in prototypeManager.EnumeratePrototypes<AntagPrototype>().OrderBy(a => Loc.GetString(a.Name))) foreach (var antag in prototypeManager.EnumeratePrototypes<AntagPrototype>().OrderBy(a => Loc.GetString(a.Name)))
{ {
@@ -479,7 +479,7 @@ namespace Content.Client.Preferences.UI
#region Traits #region Traits
var traits = prototypeManager.EnumeratePrototypes<TraitPrototype>().OrderBy(t => Loc.GetString(t.Name)).ToList(); var traits = prototypeManager.EnumeratePrototypes<TraitPrototype>().OrderBy(t => Loc.GetString(t.Name)).ToList();
_traitPreferences = []; _traitPreferences = new List<TraitPreferenceSelector>();
_tabContainer.SetTabTitle(3, Loc.GetString("humanoid-profile-editor-traits-tab")); _tabContainer.SetTabTitle(3, Loc.GetString("humanoid-profile-editor-traits-tab"));
if (traits.Count > 0) if (traits.Count > 0)

View File

@@ -192,7 +192,8 @@ public sealed class AHelpUIController: UIController, IOnSystemChanged<BwoinkSyst
UIHelper = isAdmin ? new AdminAHelpUIHandler(ownerUserId) : new UserAHelpUIHandler(ownerUserId); UIHelper = isAdmin ? new AdminAHelpUIHandler(ownerUserId) : new UserAHelpUIHandler(ownerUserId);
UIHelper.DiscordRelayChanged(_discordRelayActive); UIHelper.DiscordRelayChanged(_discordRelayActive);
UIHelper.SendMessageAction = (userId, textMessage, playSound) => _bwoinkSystem?.Send(userId, textMessage, playSound); UIHelper.SendMessageAction = (userId, textMessage, playSound) =>
_bwoinkSystem?.Send(userId, textMessage, isAdmin, playSound);
UIHelper.InputTextChanged += (channel, text) => _bwoinkSystem?.SendInputTextUpdated(channel, text.Length > 0); UIHelper.InputTextChanged += (channel, text) => _bwoinkSystem?.SendInputTextUpdated(channel, text.Length > 0);
UIHelper.OnClose += () => { SetAHelpPressed(false); }; UIHelper.OnClose += () => { SetAHelpPressed(false); };
UIHelper.OnOpen += () => { SetAHelpPressed(true); }; UIHelper.OnOpen += () => { SetAHelpPressed(true); };

View File

@@ -17,8 +17,8 @@ public sealed partial class JukeboxMenu : DefaultWindow
private readonly EntityUid _jukeboxEntity; private readonly EntityUid _jukeboxEntity;
private readonly JukeboxComponent _component; private readonly JukeboxComponent _component;
private readonly List<JukeboxSongEntry> _defaultSongsEntries = []; private readonly List<JukeboxSongEntry> _defaultSongsEntries = new() { };
private readonly List<JukeboxSongEntry> _tapeSongsEntries = []; private readonly List<JukeboxSongEntry> _tapeSongsEntries = new() { };
public JukeboxMenu(EntityUid jukeboxEntity, JukeboxComponent component) public JukeboxMenu(EntityUid jukeboxEntity, JukeboxComponent component)
{ {

View File

@@ -17,15 +17,16 @@ using Robust.Shared.Utility;
namespace Content.Client._White.Radials; namespace Content.Client._White.Radials;
[UsedImplicitly] [UsedImplicitly]
public sealed class RadialSystem : SharedRadialSystem public sealed class RadialSystem : SharedRadialSystem
{ {
[Dependency] private readonly PopupSystem _popupSystem = default!; [Dependency] private readonly PopupSystem _popupSystem = default!;
[Dependency] private readonly ExamineSystem _examineSystem = default!; [Dependency] private readonly ExamineSystem _examineSystem = default!;
[Dependency] private readonly TagSystem _tagSystem = default!; [Dependency] private readonly TagSystem _tagSystem = default!;
[Dependency] private readonly IStateManager _stateManager = default!; [Dependency] private readonly IStateManager _stateManager = default!;
[Dependency] private readonly EntityLookupSystem _entityLookup = default!; [Dependency] private readonly EntityLookupSystem _entityLookup = default!;
[Dependency] private readonly IPlayerManager _playerManager = default!; [Dependency] private readonly IPlayerManager _playerManager = default!;
[Dependency] private readonly TransformSystem _transform = default!;
/// <summary> /// <summary>
/// When a user right clicks somewhere, how large is the box we use to get entities for the context menu? /// When a user right clicks somewhere, how large is the box we use to get entities for the context menu?
@@ -58,7 +59,7 @@ namespace Content.Client._White.Radials;
if (_stateManager.CurrentState is not GameplayStateBase gameScreenBase) if (_stateManager.CurrentState is not GameplayStateBase gameScreenBase)
return false; return false;
var player = _playerManager.LocalPlayer?.ControlledEntity; var player = _playerManager.LocalEntity;
if (player == null) if (player == null)
return false; return false;
@@ -67,7 +68,6 @@ namespace Content.Client._White.Radials;
? Visibility ? Visibility
: Visibility | MenuVisibility.NoFov; : Visibility | MenuVisibility.NoFov;
// Get entities // Get entities
List<EntityUid> entities; List<EntityUid> entities;
@@ -75,6 +75,7 @@ namespace Content.Client._White.Radials;
if ((visibility & MenuVisibility.NoFov) == 0) if ((visibility & MenuVisibility.NoFov) == 0)
{ {
var entitiesUnderMouse = gameScreenBase.GetClickableEntities(targetPos).ToHashSet(); var entitiesUnderMouse = gameScreenBase.GetClickableEntities(targetPos).ToHashSet();
bool Predicate(EntityUid e) => e == player || entitiesUnderMouse.Contains(e); bool Predicate(EntityUid e) => e == player || entitiesUnderMouse.Contains(e);
// first check the general location. // first check the general location.
@@ -141,16 +142,15 @@ namespace Content.Client._White.Radials;
// Remove any entities that do not have LOS // Remove any entities that do not have LOS
if ((visibility & MenuVisibility.NoFov) == 0) if ((visibility & MenuVisibility.NoFov) == 0)
{ {
var xformQuery = GetEntityQuery<TransformComponent>(); var playerPos = _transform.GetMapCoordinates(player.Value);
var playerPos = xformQuery.GetComponent(player.Value).MapPosition;
for (var i = entities.Count - 1; i >= 0; i--) for (var i = entities.Count - 1; i >= 0; i--)
{ {
var entity = entities[i]; var entity = entities[i];
if (!ExamineSystemShared.InRangeUnOccluded( if (!_examineSystem.InRangeUnOccluded(
playerPos, playerPos,
xformQuery.GetComponent(entity).MapPosition, _transform.GetMapCoordinates(entity),
ExamineSystemShared.ExamineRange, ExamineSystemShared.ExamineRange,
null)) null))
{ {
@@ -178,7 +178,10 @@ namespace Content.Client._White.Radials;
/// Ask the server to send back a list of server-side verbs, and for now return an incomplete list of verbs /// Ask the server to send back a list of server-side verbs, and for now return an incomplete list of verbs
/// (only those defined locally). /// (only those defined locally).
/// </summary> /// </summary>
public SortedSet<Radial> GetRadials(EntityUid target, EntityUid user, List<Type> verbTypes, public SortedSet<Radial> GetRadials(
EntityUid target,
EntityUid user,
List<Type> verbTypes,
bool force = false) bool force = false)
{ {
if (!IsClientSide(target)) if (!IsClientSide(target))
@@ -201,7 +204,7 @@ namespace Content.Client._White.Radials;
/// </remarks> /// </remarks>
public void ExecuteRadial(EntityUid target, Radial radial) public void ExecuteRadial(EntityUid target, Radial radial)
{ {
var user = _playerManager.LocalPlayer?.ControlledEntity; var user = _playerManager.LocalEntity;
if (user == null) if (user == null)
return; return;
@@ -225,15 +228,15 @@ namespace Content.Client._White.Radials;
{ {
OnRadialsResponse?.Invoke(msg); OnRadialsResponse?.Invoke(msg);
} }
} }
[Flags] [Flags]
public enum MenuVisibility public enum MenuVisibility
{ {
// What entities can a user see on the entity menu? // What entities can a user see on the entity menu?
Default = 0, // They can only see entities in FoV. Default = 0, // They can only see entities in FoV.
NoFov = 1 << 0, // They ignore FoV restrictions NoFov = 1 << 0, // They ignore FoV restrictions
InContainer = 1 << 1, // They can see through containers. InContainer = 1 << 1, // They can see through containers.
Invisible = 1 << 2, // They can see entities without sprites and the "HideContextMenu" tag is ignored. Invisible = 1 << 2, // They can see entities without sprites and the "HideContextMenu" tag is ignored.
All = NoFov | InContainer | Invisible All = NoFov | InContainer | Invisible
} }

View File

@@ -7,7 +7,7 @@ namespace Content.Server.Changeling;
[RegisterComponent, Access(typeof(ChangelingRuleSystem))] [RegisterComponent, Access(typeof(ChangelingRuleSystem))]
public sealed partial class ChangelingRuleComponent : Component public sealed partial class ChangelingRuleComponent : Component
{ {
public readonly List<EntityUid> ChangelingMinds = []; public readonly List<EntityUid> ChangelingMinds = new() { };
[DataField(customTypeSerializer: typeof(PrototypeIdSerializer<AntagPrototype>))] [DataField(customTypeSerializer: typeof(PrototypeIdSerializer<AntagPrototype>))]
public string ChangelingPrototypeId = "Changeling"; public string ChangelingPrototypeId = "Changeling";

View File

@@ -16,8 +16,8 @@ public sealed class PuddleDebugDebugOverlaySystem : SharedPuddleDebugOverlaySyst
[Dependency] private readonly SharedTransformSystem _transform = default!; [Dependency] private readonly SharedTransformSystem _transform = default!;
[Dependency] private readonly SharedMapSystem _map = default!; [Dependency] private readonly SharedMapSystem _map = default!;
private readonly HashSet<ICommonSession> _playerObservers = []; private readonly HashSet<ICommonSession> _playerObservers = new() { };
private List<Entity<MapGridComponent>> _grids = []; private List<Entity<MapGridComponent>> _grids = new() { };
public bool ToggleObserver(ICommonSession observer) public bool ToggleObserver(ICommonSession observer)
{ {

View File

@@ -66,13 +66,13 @@ public sealed partial class PuddleSystem : SharedPuddleSystem
[ValidatePrototypeId<ReagentPrototype>] [ValidatePrototypeId<ReagentPrototype>]
private const string CopperBlood = "CopperBlood"; private const string CopperBlood = "CopperBlood";
private static string[] _standoutReagents = [Blood, Slime, CopperBlood]; private static string[] _standoutReagents = {Blood, Slime, CopperBlood};
public static readonly float PuddleVolume = 1000; public static readonly float PuddleVolume = 1000;
// Using local deletion queue instead of the standard queue so that we can easily "undelete" if a puddle // Using local deletion queue instead of the standard queue so that we can easily "undelete" if a puddle
// loses & then gains reagents in a single tick. // loses & then gains reagents in a single tick.
private HashSet<EntityUid> _deletionQueue = []; private HashSet<EntityUid> _deletionQueue = new() { };
private EntityQuery<PuddleComponent> _puddleQuery; private EntityQuery<PuddleComponent> _puddleQuery;

View File

@@ -42,13 +42,13 @@ public sealed partial class ThiefRuleComponent : Component
/// Things that will be given to thieves /// Things that will be given to thieves
/// </summary> /// </summary>
[DataField] [DataField]
public List<EntProtoId> StarterItems = ["ToolboxThief", "ClothingHandsChameleonThief"]; public List<EntProtoId> StarterItems = new() { "ToolboxThief", "ClothingHandsChameleonThief" };
/// <summary> /// <summary>
/// All Thieves created by this rule /// All Thieves created by this rule
/// </summary> /// </summary>
[DataField] [DataField]
public List<EntityUid> ThievesMinds = []; public List<EntityUid> ThievesMinds = new() { };
/// <summary> /// <summary>
/// Max Thiefs created by rule on roundstart /// Max Thiefs created by rule on roundstart

View File

@@ -39,7 +39,7 @@ public sealed partial class ShuttleConsoleSystem : SharedShuttleConsoleSystem
private EntityQuery<MetaDataComponent> _metaQuery; private EntityQuery<MetaDataComponent> _metaQuery;
private EntityQuery<TransformComponent> _xformQuery; private EntityQuery<TransformComponent> _xformQuery;
private readonly HashSet<Entity<ShuttleConsoleComponent>> _consoles = []; private readonly HashSet<Entity<ShuttleConsoleComponent>> _consoles = new() { };
public override void Initialize() public override void Initialize()
{ {

View File

@@ -70,8 +70,8 @@ public sealed partial class ShuttleSystem
/// </summary> /// </summary>
private const int FTLProximityIterations = 3; private const int FTLProximityIterations = 3;
private readonly HashSet<EntityUid> _lookupEnts = []; private readonly HashSet<EntityUid> _lookupEnts = new() { };
private readonly HashSet<EntityUid> _immuneEnts = []; private readonly HashSet<EntityUid> _immuneEnts = new() { };
private EntityQuery<BodyComponent> _bodyQuery; private EntityQuery<BodyComponent> _bodyQuery;
private EntityQuery<BuckleComponent> _buckleQuery; private EntityQuery<BuckleComponent> _buckleQuery;

View File

@@ -31,7 +31,7 @@ public sealed class SpreaderSystem : EntitySystem
/// Remaining number of updates per grid & prototype. /// Remaining number of updates per grid & prototype.
/// </summary> /// </summary>
// TODO PERFORMANCE Assign each prototype to an index and convert dictionary to array // TODO PERFORMANCE Assign each prototype to an index and convert dictionary to array
private readonly Dictionary<EntityUid, Dictionary<string, int>> _gridUpdates = []; private readonly Dictionary<EntityUid, Dictionary<string, int>> _gridUpdates = new() { };
public const float SpreadCooldownSeconds = 1; public const float SpreadCooldownSeconds = 1;
@@ -57,7 +57,7 @@ public sealed class SpreaderSystem : EntitySystem
private void SetupPrototypes() private void SetupPrototypes()
{ {
_prototypeUpdates = []; _prototypeUpdates = new Dictionary<string, int> { };
foreach (var proto in _prototype.EnumeratePrototypes<EdgeSpreaderPrototype>()) foreach (var proto in _prototype.EnumeratePrototypes<EdgeSpreaderPrototype>())
{ {
_prototypeUpdates.Add(proto.ID, proto.UpdatesPerSecond); _prototypeUpdates.Add(proto.ID, proto.UpdatesPerSecond);
@@ -185,9 +185,9 @@ public sealed class SpreaderSystem : EntitySystem
{ {
// TODO remove occupiedTiles -- its currently unused and just slows this method down. // TODO remove occupiedTiles -- its currently unused and just slows this method down.
DebugTools.Assert(_prototype.HasIndex(prototype)); DebugTools.Assert(_prototype.HasIndex(prototype));
freeTiles = []; freeTiles = new ValueList<(MapGridComponent, TileRef)> { };
occupiedTiles = []; occupiedTiles = new ValueList<Vector2i> { };
neighbors = []; neighbors = new ValueList<EntityUid> { };
if (!TryComp<MapGridComponent>(comp.GridUid, out var grid)) if (!TryComp<MapGridComponent>(comp.GridUid, out var grid))
return; return;

View File

@@ -44,7 +44,7 @@ public sealed partial class CultRuleComponent : Component
public int PentagramThreshold = 8; public int PentagramThreshold = 8;
[DataField(customTypeSerializer: typeof(PrototypeIdListSerializer<EntityPrototype>))] [DataField(customTypeSerializer: typeof(PrototypeIdListSerializer<EntityPrototype>))]
public List<string> StartingItems = []; public List<string> StartingItems = new() { };
[DataField(customTypeSerializer: typeof(PrototypeIdSerializer<AntagPrototype>))] [DataField(customTypeSerializer: typeof(PrototypeIdSerializer<AntagPrototype>))]
public string CultistRolePrototype = "Cultist"; public string CultistRolePrototype = "Cultist";
@@ -56,9 +56,9 @@ public sealed partial class CultRuleComponent : Component
public EntityUid? CultTarget; public EntityUid? CultTarget;
public List<CultistComponent> CurrentCultists = []; public List<CultistComponent> CurrentCultists = new() { };
public List<ConstructComponent> Constructs = []; public List<ConstructComponent> Constructs = new() { };
public CultWinCondition WinCondition; public CultWinCondition WinCondition;
} }

View File

@@ -16,7 +16,7 @@ public sealed class JukeboxSystem : EntitySystem
[Dependency] private readonly SharedHandsSystem _handsSystem = default!; [Dependency] private readonly SharedHandsSystem _handsSystem = default!;
[Dependency] private readonly PvsOverrideSystem _pvsOverrideSystem = default!; [Dependency] private readonly PvsOverrideSystem _pvsOverrideSystem = default!;
private readonly List<JukeboxComponent> _playingJukeboxes = []; private readonly List<JukeboxComponent> _playingJukeboxes = new() { };
private const float UpdateTimerDefaultTime = 1f; private const float UpdateTimerDefaultTime = 1f;
private float _updateTimer; private float _updateTimer;

View File

@@ -16,7 +16,7 @@ public abstract class SharedInjectorSystem : EntitySystem
/// <summary> /// <summary>
/// Default transfer amounts for the set-transfer verb. /// Default transfer amounts for the set-transfer verb.
/// </summary> /// </summary>
public static readonly FixedPoint2[] TransferAmounts = [1, 5, 10, 15]; public static readonly FixedPoint2[] TransferAmounts = { 1, 5, 10, 15 };
[Dependency] protected readonly SharedPopupSystem Popup = default!; [Dependency] protected readonly SharedPopupSystem Popup = default!;
[Dependency] protected readonly SharedSolutionContainerSystem SolutionContainers = default!; [Dependency] protected readonly SharedSolutionContainerSystem SolutionContainers = default!;

View File

@@ -11,9 +11,9 @@ public abstract partial class SharedPuddleSystem
[ValidatePrototypeId<ReagentPrototype>] [ValidatePrototypeId<ReagentPrototype>]
private const string HolyWater = "Holywater"; private const string HolyWater = "Holywater";
public static readonly string[] EvaporationReagents = [Water, HolyWater]; public static readonly string[] EvaporationReagents = { Water, HolyWater };
public bool CanFullyEvaporate(Solution solution) public bool CanFullyEvaporate(Solution solution)
{ {
return solution.GetTotalPrototypeQuantity(EvaporationReagents) == solution.Volume; return solution.GetTotalPrototypeQuantity(EvaporationReagents) == solution.Volume;
} }

View File

@@ -106,7 +106,7 @@ public sealed partial class SpeciesPrototype : IPrototype
public SpeciesNaming Naming { get; private set; } = SpeciesNaming.FirstLast; public SpeciesNaming Naming { get; private set; } = SpeciesNaming.FirstLast;
[DataField] [DataField]
public List<Sex> Sexes { get; private set; } = [Sex.Male, Sex.Female]; public List<Sex> Sexes { get; private set; } = new() { Sex.Male, Sex.Female };
/// <summary> /// <summary>
/// Characters younger than this are too young to be hired by Nanotrasen. /// Characters younger than this are too young to be hired by Nanotrasen.

View File

@@ -87,8 +87,8 @@ namespace Content.Shared.Preferences
/// <summary>Copy constructor</summary> /// <summary>Copy constructor</summary>
private HumanoidCharacterProfile(HumanoidCharacterProfile other) : this(other, private HumanoidCharacterProfile(HumanoidCharacterProfile other) : this(other,
new Dictionary<string, JobPriority>(other.JobPriorities), [..other.AntagPreferences], new Dictionary<string, JobPriority>(other.JobPriorities), new List<string>(other.AntagPreferences),
[..other.TraitPreferences]) new List<string>(other.TraitPreferences))
{ {
} }
@@ -114,7 +114,7 @@ namespace Content.Shared.Preferences
IReadOnlyList<string> traitPreferences) IReadOnlyList<string> traitPreferences)
: this(name, clownName, mimeName, borgName, flavortext, species, age, sex, voice, gender, bodyType, : this(name, clownName, mimeName, borgName, flavortext, species, age, sex, voice, gender, bodyType,
appearance, clothing, backpack, spawnPriority, new Dictionary<string, JobPriority>(jobPriorities), appearance, clothing, backpack, spawnPriority, new Dictionary<string, JobPriority>(jobPriorities),
preferenceUnavailable, [..antagPreferences], [..traitPreferences]) preferenceUnavailable, new List<string>(antagPreferences), new List<string>(traitPreferences))
{ {
} }

View File

@@ -29,7 +29,7 @@ public sealed partial class JukeboxComponent : Component
public Container TapeContainer = default!; public Container TapeContainer = default!;
[DataField] [DataField]
public List<string> DefaultTapes = []; public List<string> DefaultTapes = new() { };
[ViewVariables(VVAccess.ReadOnly)] [ViewVariables(VVAccess.ReadOnly)]
public Container DefaultSongsContainer = default!; public Container DefaultSongsContainer = default!;
@@ -104,7 +104,7 @@ public sealed class JukeboxStopPlaying : EntityEventArgs
public sealed class JukeboxSongUploadRequest : EntityEventArgs public sealed class JukeboxSongUploadRequest : EntityEventArgs
{ {
public string SongName = string.Empty; public string SongName = string.Empty;
public List<byte> SongBytes = []; public List<byte> SongBytes = new() { };
public NetEntity TapeCreatorUid = default!; public NetEntity TapeCreatorUid = default!;
} }

View File

@@ -67,7 +67,6 @@
ClothingShoesBootsCowboyBrown: 1 ClothingShoesBootsCowboyBrown: 1
ClothingShoesBootsCowboyBlack: 1 ClothingShoesBootsCowboyBlack: 1
ClothingShoesBootsCowboyWhite: 1 ClothingShoesBootsCowboyWhite: 1
ClothingMaskNeckGaiterRed: 2
emaggedInventory: emaggedInventory:
ClothingShoesBling: 1 ClothingShoesBling: 1
ClothingShoesBootsCowboyFancy: 1 ClothingShoesBootsCowboyFancy: 1

View File

@@ -519,16 +519,6 @@
tags: tags:
- WhitelistChameleon - WhitelistChameleon
- type: entity
parent: ClothingMaskNeckGaiter
id: ClothingMaskNeckGaiterRed
name: red neck gaiter
components:
- type: Sprite
sprite: Clothing/Mask/neckgaiterred.rsi
- type: Clothing
sprite: Clothing/Mask/neckgaiterred.rsi
- type: entity - type: entity
parent: ClothingMaskClownBase parent: ClothingMaskClownBase
id: ClothingMaskSexyClown id: ClothingMaskSexyClown

View File

@@ -229,31 +229,6 @@
components: components:
- type: Stack - type: Stack
lingering: true lingering: true
- type: entity
parent: BaseHealingItem
id: Tourniquet
name: tourniquet
description: Stops bleeding! Hopefully.
components:
- type: Tag
tags:
- SecBeltEquip
- type: Sprite
state: tourniquet
- type: Healing
damageContainers:
- Biological
damage:
groups:
Brute: 5 # Tourniquets HURT!
types:
Asphyxiation: 5 # Essentially Stopping all blood reaching a part of your body
bloodlossModifier: -10 # Tourniquets stop bleeding
delay: 0.5
healingBeginSound:
path: "/Audio/Items/Medical/brutepack_begin.ogg"
healingEndSound:
path: "/Audio/Items/Medical/brutepack_end.ogg"
- type: entity - type: entity
parent: BaseHealingItem parent: BaseHealingItem

View File

@@ -5,9 +5,6 @@
id: BaseToolSurgery id: BaseToolSurgery
abstract: true abstract: true
components: components:
- type: Tag
tags:
- SurgeryTool
- type: Sprite - type: Sprite
- type: StaticPrice - type: StaticPrice
price: 20 price: 20

View File

@@ -3,11 +3,9 @@
name: fire axe cabinet name: fire axe cabinet
description: There is a small label that reads "For Emergency use only" along with details for safe use of the axe. As if. description: There is a small label that reads "For Emergency use only" along with details for safe use of the axe. As if.
components: components:
- type: Damageable # adding destructible causes the entity inside to be deleted when the cabinet is destroyed :(
damageContainer: StructuralInorganic
- type: Damageable - type: Damageable
damageContainer: Inorganic damageContainer: Inorganic
damageModifierSet: Glass damageModifierSet: StructuralInorganic
- type: Destructible - type: Destructible
thresholds: thresholds:
- trigger: - trigger:

View File

@@ -284,14 +284,14 @@
- type: AccessReader - type: AccessReader
access: [ [ "Command" ] ] access: [ [ "Command" ] ]
- type: ActivatableUI - type: ActivatableUI
key: enum.NewsWriteUiKey.Key key: enum.NewsWriterUiKey.Key
- type: ActivatableUIRequiresVision - type: ActivatableUIRequiresVision
- type: Transform - type: Transform
anchored: true anchored: true
- type: UserInterface - type: UserInterface
interfaces: interfaces:
- key: enum.NewsWriteUiKey.Key - key: enum.NewsWriterUiKey.Key
type: NewsWriteBoundUserInterface type: NewsWriterBoundUserInterface
# Radar console # Radar console
- type: entity - type: entity

View File

@@ -1181,9 +1181,6 @@
- type: Tag - type: Tag
id: SuitEVA id: SuitEVA
- type: Tag
id: SurgeryTool
- type: Tag - type: Tag
id: SurveillanceCameraMonitorCircuitboard id: SurveillanceCameraMonitorCircuitboard

View File

@@ -14,10 +14,6 @@
"name": "equipped-OUTERCLOTHING", "name": "equipped-OUTERCLOTHING",
"directions": 4 "directions": 4
}, },
{
"name": "equipped-HELMET-hamster",
"directions": 4
},
{ {
"name": "inhand-left", "name": "inhand-left",
"directions": 4 "directions": 4

View File

@@ -1,11 +1,7 @@
{ {
"version": 1, "version": 1,
"license": "CC-BY-SA-3.0", "license": "CC-BY-SA-3.0",
<<<<<<<< HEAD:Resources/Textures/White/Fluff/DOOMMAX/cap_cap.rsi/meta.json
"copyright": "Made by Gargarien for DOOMMAX", "copyright": "Made by Gargarien for DOOMMAX",
========
"copyright": "Sprited by Hülle#2562 (Discord), resprite by icekot8",
>>>>>>>> ae3d745430e3c5250d19553429e7cda2b8050d10:Resources/Textures/Clothing/Head/Hats/beret_medic.rsi/meta.json
"size": { "size": {
"x": 32, "x": 32,
"y": 32 "y": 32

View File

@@ -11,11 +11,7 @@
"name": "icon" "name": "icon"
}, },
{ {
<<<<<<<< HEAD:Resources/Textures/White/Fluff/HSKveez/hardsuit.rsi/meta.json
"name": "equipped-OUTERCLOTHING", "name": "equipped-OUTERCLOTHING",
========
"name": "equipped-INNERCLOTHING",
>>>>>>>> ae3d745430e3c5250d19553429e7cda2b8050d10:Resources/Textures/Clothing/Uniforms/Jumpsuit/qmformal.rsi/meta.json
"directions": 4 "directions": 4
}, },
{ {

View File

@@ -11,11 +11,7 @@
"name": "icon" "name": "icon"
}, },
{ {
<<<<<<<< HEAD:Resources/Textures/White/Fluff/Vtergot/strictgloves.rsi/meta.json
"name": "equipped-HAND", "name": "equipped-HAND",
========
"name": "equipped-BELT",
>>>>>>>> ae3d745430e3c5250d19553429e7cda2b8050d10:Resources/Textures/Clothing/Belt/emt.rsi/meta.json
"directions": 4 "directions": 4
}, },
{ {