Compare commits

...

8 Commits

Author SHA1 Message Date
pathetic meowmeow f68047c7c3
Merge 660b58ead4 into c3c6a6abd9 2026-05-10 11:43:49 +00:00
Delta-V bot c3c6a6abd9 Automatic changelog update 2026-05-10 13:35:34 +02:00
Stxcking 6f0ad0c181
New: Wallmount Water Dispenser (#5792)
Everything
2026-05-10 13:35:15 +02:00
github-actions[bot] 7abc7a7b66
Update Credits (#5794)
Co-authored-by: DeltaV-Bot <github@deltav.gay>
2026-05-10 04:28:06 +02:00
Delta-V bot 7dc4c5f3fc Automatic changelog update 2026-05-10 01:04:45 +02:00
Cepelinas1 0400ffa8e3
Customizable sec belt/webbing inventory (#5701)
* first

* fix

* spacing

Signed-off-by: Cepelinas1 <kakelis01@gmail.com>

* forgot ftl

---------

Signed-off-by: Cepelinas1 <kakelis01@gmail.com>
2026-05-09 19:04:25 -04:00
Janet Blackquill 660b58ead4 pagepage :] 2026-05-06 13:56:31 -04:00
Janet Blackquill 4de989b678 Pagers 2026-04-30 16:21:46 -04:00
43 changed files with 1450 additions and 128 deletions

View File

@ -1,4 +1,5 @@
using Content.Client.CartridgeLoader;
using Content.Shared._DV.Pager; // DeltaV - pagers
using Content.Shared.CartridgeLoader;
using Content.Shared.Containers.ItemSlots;
using Content.Shared.PDA;
@ -72,6 +73,13 @@ namespace Content.Client.PDA
SendMessage(new PdaLockUplinkMessage());
};
// Begin DeltaV - pagers
_menu.OnUnlinkDevicePressed += address =>
{
SendMessage(new PagerRemoveAddressMessage(address));
};
// End DeltaV - pagers
_menu.OnProgramItemPressed += ActivateCartridge;
_menu.OnInstallButtonPressed += InstallCartridge;
_menu.OnUninstallButtonPressed += UninstallCartridge;
@ -100,6 +108,7 @@ namespace Content.Client.PDA
}
_menu.UpdateState(updateState);
UpdateLinkedDevices(); // DeltaV - pagers
}
protected override void AttachCartridgeUI(Control cartridgeUIFragment, string? title)
@ -127,5 +136,13 @@ namespace Content.Client.PDA
{
return EntMan.GetComponentOrNull<PdaBorderColorComponent>(Owner);
}
// Begin DeltaV - pagers
public void UpdateLinkedDevices()
{
if (EntMan.TryGetComponent<PagerComponent>(Owner, out var receiver))
_menu?.UpdateLinkedDevices(receiver.Devices);
}
// End DeltaV - pagers
}
}

View File

@ -70,6 +70,12 @@
Access="Public"
Text="{Loc 'comp-pda-ui-ringtone-button'}"
Description="{Loc 'comp-pda-ui-ringtone-button-description'}"/>
<!-- Begin DeltaV Additions: Pagers -->
<pda:PdaSettingsButton Name="LinkedDevicesButton"
Access="Public"
Text="{Loc 'comp-pda-ui-linked-devices-button'}"
Description="{Loc 'comp-pda-ui-linked-devices-description'}"/>
<!-- End DeltaV Additions: Pagers -->
<pda:PdaSettingsButton Name="ActivateMusicButton"
Access="Public"
Visible="False"
@ -92,6 +98,13 @@
HorizontalExpand="True"
Name="ProgramView"
Access="Public">
<!-- Begin DeltaV Additions: Pagers -->
<BoxContainer Orientation="Vertical"
VerticalExpand="True"
HorizontalExpand="True"
Name="LinkedDeviceList"
Visible="False"/>
<!-- End DeltaV Additions: Pagers -->
</BoxContainer>
</BoxContainer>
<BoxContainer Name="ContentFooter" HorizontalExpand="True" SetHeight="28" Margin="1 0 2 1">

View File

@ -131,6 +131,12 @@ namespace Content.Client.PDA
{
_clipboard.SetText(_currentDate);
};
LinkedDevicesButton.OnPressed += _ =>
{
LinkedDeviceList.Visible = true;
ToProgramView(Loc.GetString("comp-pda-ui-linked-devices-title"));
};
// End DeltaV additions
@ -300,6 +306,7 @@ namespace Content.Client.PDA
ProgramCloseButton.Visible = false;
ProgramListButton.Visible = true;
SettingsButton.Visible = true;
LinkedDeviceList.Visible = false; // DeltaV - pagers
}
/// <summary>

View File

@ -0,0 +1,25 @@
using Content.Client.PDA;
using Content.Shared._DV.Pager;
using Content.Shared.PDA;
namespace Content.Client._DV.PDA;
public sealed class ClientEventNotificationReceiverSystem : EntitySystem
{
[Dependency] private readonly SharedUserInterfaceSystem _userInterface = default!;
public override void Initialize()
{
base.Initialize();
SubscribeLocalEvent<PagerComponent, AfterAutoHandleStateEvent>(OnAfterAutoHandleState);
}
private void OnAfterAutoHandleState(Entity<PagerComponent> ent, ref AfterAutoHandleStateEvent args)
{
if (!_userInterface.TryGetOpenUi<PdaBoundUserInterface>(ent.Owner, PdaUiKey.Key, out var bui))
return;
bui.UpdateLinkedDevices();
}
}

View File

@ -0,0 +1,6 @@
<PanelContainer HorizontalExpand="True" xmlns="https://spacestation14.io">
<BoxContainer Orientation="Horizontal" HorizontalExpand="True" Margin="4">
<Label Name="DeviceName" Access="Public" HorizontalExpand="True" />
<Button Name="Unlink" Access="Public" StyleClasses="ButtonSmall" Text="{Loc 'comp-pda-ui-linked-devices-unlink'}"/>
</BoxContainer>
</PanelContainer>

View File

@ -0,0 +1,14 @@
using Robust.Client.AutoGenerated;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.XAML;
namespace Content.Client._DV.PDA;
[GenerateTypedNameReferences]
public sealed partial class LinkedDeviceItem : PanelContainer
{
public LinkedDeviceItem()
{
RobustXamlLoader.Load(this);
}
}

View File

@ -0,0 +1,28 @@
using Content.Client._DV.PDA;
using Content.Client.Stylesheets;
using System.Linq;
namespace Content.Client.PDA;
public sealed partial class PdaMenu
{
public event Action<string>? OnUnlinkDevicePressed;
public void UpdateLinkedDevices(Dictionary<string, string> devices)
{
LinkedDeviceList.RemoveAllChildren();
var even = false;
foreach (var (address, name) in devices.OrderBy(kvp => kvp.Value))
{
var item = new LinkedDeviceItem()
{
DeviceName = { Text = name },
};
item.Unlink.OnPressed += _ => OnUnlinkDevicePressed?.Invoke(address);
LinkedDeviceList.AddChild(item);
LinkedDeviceList.StyleClasses.Add(even ? StyleClass.PanelDark : StyleClass.PanelLight);
even = !even;
}
}
}

View File

@ -5,6 +5,7 @@ using Content.Server.DeviceNetwork.Systems;
using Content.Server.Popups;
using Content.Server.Power.Components;
using Content.Server.Tools;
using Content.Shared._DV.Pager; // DeltaV - pagers
using Content.Shared.Administration.Logs;
using Content.Shared.Containers.ItemSlots;
using Content.Shared.Database;
@ -51,6 +52,7 @@ public sealed class FaxSystem : EntitySystem
[Dependency] private readonly MetaDataSystem _metaData = default!;
[Dependency] private readonly FaxecuteSystem _faxecute = default!;
[Dependency] private readonly EmagSystem _emag = default!;
[Dependency] private readonly PageSenderSystem _pageSender = default!; // DeltaV - pagers
private static readonly ProtoId<ToolQualityPrototype> ScrewingQuality = "Screwing";
@ -585,6 +587,7 @@ public sealed class FaxSystem : EntitySystem
_popupSystem.PopupEntity(Loc.GetString("fax-machine-popup-received", ("from", faxName)), uid);
_appearanceSystem.SetData(uid, FaxMachineVisuals.VisualState, FaxMachineVisualState.Printing);
_pageSender.Notify(uid, Loc.GetString("pager-message-fax", ("faxname", faxName))); // DeltaV - pagers
if (component.NotifyAdmins)
NotifyAdmins(faxName);

View File

@ -21,6 +21,7 @@ using Robust.Shared.Prototypes;
using Robust.Shared.Random;
using Robust.Shared.Replays;
using System.Linq;
using Content.Shared._DV.Pager; // DeltaV - pagers
namespace Content.Server.Telephone;
@ -36,6 +37,7 @@ public sealed class TelephoneSystem : SharedTelephoneSystem
[Dependency] private readonly IRobustRandom _random = default!;
[Dependency] private readonly IAdminLogManager _adminLogger = default!;
[Dependency] private readonly IReplayRecordingManager _replay = default!;
[Dependency] private readonly PageSenderSystem _pageSender = default!; // DeltaV - pagers
// Has set used to prevent telephone feedback loops
private HashSet<(EntityUid, string, Entity<TelephoneComponent>)> _recentChatMessages = new();
@ -242,6 +244,12 @@ public sealed class TelephoneSystem : SharedTelephoneSystem
// Otherwise start ringing the receiver
SetTelephoneState(source, TelephoneState.Calling);
SetTelephoneState(receiver, TelephoneState.Ringing);
// Begin DeltaV - pagers
_pageSender.Notify(receiver.Owner,
Loc.GetString("pager-message-call",
("name", callerInfo.Item1 ?? Loc.GetString("pager-message-unknown-caller")),
("job", callerInfo.Item2 ?? Loc.GetString("pager-message-unknown-job"))));
// End DeltaV - pagers
return true;
}

View File

@ -0,0 +1,25 @@
using Content.Shared.Roles;
using Robust.Shared.GameStates;
using Robust.Shared.Prototypes;
namespace Content.Shared._DV.Pager;
/// <summary>
/// Sends event notifications to pages via the device network.
/// </summary>
[RegisterComponent, NetworkedComponent]
[Access(typeof(PageSenderSystem))]
public sealed partial class PageSenderComponent : Component
{
/// <summary>
/// Departments to autolink to on a corresponding <see cref="PagerComponent" />
/// </summary>
[DataField]
public HashSet<ProtoId<DepartmentPrototype>> AutoLinkDepartments = new();
/// <summary>
/// Jobs to autolink to on a corresponding <see cref="PagerComponent" />
/// </summary>
[DataField]
public HashSet<ProtoId<JobPrototype>> AutoLinkJobs = new();
}

View File

@ -0,0 +1,58 @@
using Content.Shared.DeviceNetwork;
using Content.Shared.DeviceNetwork.Events;
using Content.Shared.DeviceNetwork.Systems;
namespace Content.Shared._DV.Pager;
public sealed class PageSenderSystem : EntitySystem
{
[Dependency] private readonly SharedDeviceNetworkSystem _deviceNetwork = default!;
public override void Initialize()
{
base.Initialize();
SubscribeLocalEvent<PageSenderComponent, MapInitEvent>(OnMapInit, after: [typeof(SharedDeviceNetworkSystem)]);
SubscribeLocalEvent<PageSenderComponent, DeviceNetworkPacketEvent>(OnDeviceNetworkPacket);
}
private void OnMapInit(Entity<PageSenderComponent> ent, ref MapInitEvent args)
{
AutoLink(ent, null);
}
private void OnDeviceNetworkPacket(Entity<PageSenderComponent> ent, ref DeviceNetworkPacketEvent args)
{
if (!args.Data.TryGetValue(DeviceNetworkConstants.Command, out string? command) ||
command != PagerConstants.CommandAutoLinkRequest)
{
return;
}
AutoLink(ent, args.SenderAddress);
}
private void AutoLink(Entity<PageSenderComponent> ent, string? address)
{
var payload = new NetworkPayload()
{
{ DeviceNetworkConstants.Command, PagerConstants.CommandAutoLink },
{ PagerConstants.DataDepartments, ent.Comp.AutoLinkDepartments },
{ PagerConstants.DataJobs, ent.Comp.AutoLinkJobs },
};
_deviceNetwork.QueuePacket(ent, address, payload);
}
public void Notify(Entity<PageSenderComponent?> ent, string body)
{
if (!Resolve(ent, ref ent.Comp, false))
return;
var payload = new NetworkPayload()
{
{ DeviceNetworkConstants.Command, PagerConstants.CommandNotify },
{ PagerConstants.DataBody, body },
};
_deviceNetwork.QueuePacket(ent, null, payload);
}
}

View File

@ -0,0 +1,46 @@
using Content.Shared.Roles;
using Robust.Shared.GameStates;
using Robust.Shared.Prototypes;
using Robust.Shared.Serialization;
namespace Content.Shared._DV.Pager;
/// <summary>
/// Receives pages via the device network from page senders.
/// </summary>
[RegisterComponent, NetworkedComponent, AutoGenerateComponentState(true)]
[Access(typeof(PagerSystem))]
public sealed partial class PagerComponent : Component
{
/// <summary>
/// Devices and their names that this component will display events from.
/// </summary>
[DataField, AutoNetworkedField]
public Dictionary<string, string> Devices = new();
/// <summary>
/// Departments to autolink to on a corresponding <see cref="PageSenderComponent" />
/// </summary>
[DataField]
public HashSet<ProtoId<DepartmentPrototype>> AutoLinkDepartments = new();
/// <summary>
/// Jobs to autolink to on a corresponding <see cref="PageSenderComponent" />
/// </summary>
[DataField]
public HashSet<ProtoId<JobPrototype>> AutoLinkJobs = new();
}
[ByRefEvent]
public record struct PageSenderNameEvent(string Name);
[Serializable, NetSerializable]
public sealed class PagerRemoveAddressMessage : BoundUserInterfaceMessage
{
public readonly string Address;
public PagerRemoveAddressMessage(string address)
{
Address = address;
}
}

View File

@ -0,0 +1,13 @@
namespace Content.Shared._DV.Pager;
public static class PagerConstants
{
public const string CommandNotify = "pager_notify";
public const string DataBody = "pager_body";
public const string CommandAutoLink = "pager_auto_link";
public const string DataDepartments = "pager_departments";
public const string DataJobs = "pager_jobs";
public const string CommandAutoLinkRequest = "pager_auto_link_request";
}

View File

@ -0,0 +1,128 @@
using Content.Shared.CartridgeLoader;
using Content.Shared.DeviceNetwork;
using Content.Shared.DeviceNetwork.Components;
using Content.Shared.DeviceNetwork.Events;
using Content.Shared.DeviceNetwork.Systems;
using Content.Shared.Fax.Components;
using Content.Shared.IdentityManagement;
using Content.Shared.Interaction;
using Content.Shared.Popups;
using Content.Shared.Roles;
using Robust.Shared.Network;
using Robust.Shared.Prototypes;
using static Content.Shared._DV.Pager.PagerConstants;
namespace Content.Shared._DV.Pager;
public sealed class PagerSystem : EntitySystem
{
[Dependency] private readonly INetManager _net = default!;
[Dependency] private readonly SharedDeviceNetworkSystem _deviceNetwork = default!;
[Dependency] private readonly SharedPopupSystem _popup = default!;
public override void Initialize()
{
base.Initialize();
SubscribeLocalEvent<PagerComponent, MapInitEvent>(OnMapInit, after: [typeof(SharedDeviceNetworkSystem)]);
SubscribeLocalEvent<PagerComponent, AfterInteractEvent>(OnAfterInteract);
SubscribeLocalEvent<PagerComponent, DeviceNetworkPacketEvent>(OnDeviceNetworkPacket);
SubscribeLocalEvent<PagerComponent, PagerRemoveAddressMessage>(OnRemoveAddress);
SubscribeLocalEvent<FaxMachineComponent, PageSenderNameEvent>(OnFaxMachineName);
}
private void OnMapInit(Entity<PagerComponent> ent, ref MapInitEvent args)
{
var payload = new NetworkPayload()
{
{ DeviceNetworkConstants.Command, PagerConstants.CommandAutoLinkRequest },
};
_deviceNetwork.QueuePacket(ent, null, payload);
}
private void OnAfterInteract(Entity<PagerComponent> ent, ref AfterInteractEvent args)
{
if (args.Handled || !TryComp<DeviceNetworkComponent>(args.Target, out var targetNetwork) || !HasComp<PageSenderComponent>(args.Target))
return;
var ourNetwork = Comp<DeviceNetworkComponent>(ent);
if (ourNetwork.DeviceNetId != targetNetwork.DeviceNetId)
{
_popup.PopupPredicted(Loc.GetString("pager-error-different-networks", ("sender", args.Target.Value), ("receiver", ent)), args.Target.Value, args.User);
return;
}
// THIS CANNOT BE PREDICTED DUE TO DeviceNetworkComponent BEING UNNETWORKED
if (!_net.IsServer)
return;
if (ent.Comp.Devices.Remove(targetNetwork.Address, out var removedName))
{
_popup.PopupEntity(Loc.GetString("pager-connection-removed", ("sender", args.Target.Value), ("receiver", ent)), args.Target.Value);
Dirty(ent);
return;
}
var evt = new PageSenderNameEvent(Identity.Name(args.Target.Value, EntityManager));
RaiseLocalEvent(args.Target.Value, ref evt);
ent.Comp.Devices[targetNetwork.Address] = evt.Name;
_popup.PopupEntity(Loc.GetString("pager-connection-added", ("sender", args.Target.Value), ("receiver", ent)), args.Target.Value);
Dirty(ent);
}
private void OnRemoveAddress(Entity<PagerComponent> ent, ref PagerRemoveAddressMessage args)
{
ent.Comp.Devices.Remove(args.Address);
Dirty(ent);
}
private void OnDeviceNetworkPacket(Entity<PagerComponent> ent, ref DeviceNetworkPacketEvent args)
{
if (!args.Data.TryGetValue(DeviceNetworkConstants.Command, out string? command))
{
return;
}
switch (command)
{
case CommandNotify:
{
if (!ent.Comp.Devices.TryGetValue(args.SenderAddress, out var name))
return;
if (!args.Data.TryGetValue<string>(DataBody, out var body))
return;
var evt = new CartridgeLoaderNotificationSentEvent(Loc.GetString("pager-notification", ("sender", name)), body);
RaiseLocalEvent(ent, ref evt);
return;
}
case CommandAutoLink:
{
if (!args.Data.TryGetValue<HashSet<ProtoId<DepartmentPrototype>>>(DataDepartments, out var departments))
return;
if (!args.Data.TryGetValue<HashSet<ProtoId<JobPrototype>>>(DataJobs, out var jobs))
return;
if (!(departments.Overlaps(ent.Comp.AutoLinkDepartments) || jobs.Overlaps(ent.Comp.AutoLinkJobs)))
return;
var evt = new PageSenderNameEvent(Identity.Name(args.Sender, EntityManager));
RaiseLocalEvent(args.Sender, ref evt);
ent.Comp.Devices[args.SenderAddress] = evt.Name;
Dirty(ent);
return;
}
}
}
private void OnFaxMachineName(Entity<FaxMachineComponent> ent, ref PageSenderNameEvent args)
{
args.Name = ent.Comp.FaxName;
}
}

View File

@ -1,18 +1,4 @@
Entries:
- author: turtlemutt
changes:
- message: Add a new snack to the game, spicy pickle moffs!
type: Add
id: 1777
time: '2025-11-02T05:28:33.0000000+00:00'
url: https://github.com/DeltaV-Station/Delta-v/pull/4425
- author: SirWarock
changes:
- message: Rollerbed sprites now don't stack when a patient is buckled to it!
type: Add
id: 1778
time: '2025-11-02T05:44:53.0000000+00:00'
url: https://github.com/DeltaV-Station/Delta-v/pull/4521
- author: HTMLSystem
changes:
- message: Added arachnid and moth sprites for the night vision and thermal goggles
@ -4418,4 +4404,21 @@
id: 2277
time: '2026-05-09T22:19:48.0000000+00:00'
url: https://github.com/DeltaV-Station/Delta-v/pull/5738
- author: Cepelinas1
changes:
- message: "In an effort to save money on tear gas grenade production, Security\
\ can now choose up to 4 items for their secbelt in the character loadout under\
\ the \u201CUtility\u201D section! Remember to actually choose what you want,\
\ unless you want to go in with just a baton and cuffs."
type: Add
id: 2278
time: '2026-05-09T23:04:26.0000000+00:00'
url: https://github.com/DeltaV-Station/Delta-v/pull/5701
- author: Stxcking
changes:
- message: Added Water Wall Dispenser
type: Add
id: 2279
time: '2026-05-10T11:35:15.0000000+00:00'
url: https://github.com/DeltaV-Station/Delta-v/pull/5792
Order: 1

File diff suppressed because one or more lines are too long

View File

@ -1,3 +1,5 @@
device-frequency-prototype-name-surveillance-camera-justice = Justice Cameras
device-frequency-prototype-name-surveillance-camera-AI = AI Cameras
device-frequency-prototype-name-ntnet = NTNet

View File

@ -0,0 +1,4 @@
pager-message-fax = Fax received from {$faxname}
pager-message-call = Call incoming from {$name} ({$job})
pager-message-unknown-caller = Unknown caller
pager-message-unknown-job = Unknown job

View File

@ -0,0 +1,4 @@
pager-error-different-networks = { THE($sender) } is on a different network from { THE($receiver) }.
pager-connection-added = { THE($receiver) } will now receive pages from { THE($sender) }.
pager-connection-removed = { THE($receiver) } will no longer receive pages from { THE($sender) }.
pager-notification = Page from { $sender }

View File

@ -1 +1,5 @@
comp-pda-ui-current-date = Current date: [color=white]{ $date }[/color]
comp-pda-ui-linked-devices-button = Linked Devices
comp-pda-ui-linked-devices-description = View and manage linked devices
comp-pda-ui-linked-devices-title = Linked Devices Manager
comp-pda-ui-linked-devices-unlink = Unlink

View File

@ -140,6 +140,7 @@ loadout-group-all-gun = Security Sidearm
loadout-group-security-gun-ammo = Ammunition
loadout-group-revolver-ammo = Ammunition
loadout-group-all-ammo = Ammunition
security-utility = Utility
# Justice
loadout-group-chiefjustice-head = Chief Justice head

View File

@ -122,15 +122,17 @@
name: device-frequency-prototype-name-mailing-units
frequency: 2300
- type: deviceFrequency
id: PDA
name: device-frequency-prototype-name-pdas
frequency: 2202
# DeltaV - we don't need these
# - type: deviceFrequency
# id: PDA
# name: device-frequency-prototype-name-pdas
# frequency: 2202
- type: deviceFrequency
id: Fax
name: device-frequency-prototype-name-fax
frequency: 2640
# - type: deviceFrequency
# id: Fax
# name: device-frequency-prototype-name-fax
# frequency: 2640
# End DeltaV - we don't need these
- type: deviceFrequency
id: BasicDevice

View File

@ -73,7 +73,8 @@
- type: RingerUplink
- type: DeviceNetwork
deviceNetId: Wireless
receiveFrequencyId: PDA
receiveFrequencyId: NTNet # DeltaV
transmitFrequencyId: NTNet # DeltaV
prefix: device-address-prefix-console
savableAddress: false
- type: WirelessNetworkConnection
@ -125,6 +126,7 @@
proto: robot
- type: Speech
speechVerb: Robotic
- type: Pager # DeltaV
- type: entity
parent: BasePDA
@ -159,6 +161,10 @@
- CrimeAssistCartridge # DeltaV
- SecWatchCartridge # DeltaV: SecWatch replaces WantedList
- NanoChatCartridge # DeltaV
# Begin DeltaV
- type: Pager
autoLinkDepartments: [Security]
# End DeltaV
- type: entity
parent: BasePDA
@ -174,6 +180,10 @@
- NewsReaderCartridge
- MedTekCartridge
- NanoChatCartridge # DeltaV
# Begin DeltaV
- type: Pager
autoLinkDepartments: [Medical]
# End DeltaV
- type: entity
parent: BasePDA
@ -187,7 +197,7 @@
borderColor: "#717059"
- type: entity
parent: BasePDA
parent: [BaseEngineeringPDA, BasePDA] # DeltaV
id: TechnicalAssistantPDA
name: technical assistant PDA
description: Why isn't it yellow?
@ -247,7 +257,7 @@
state: pda-interncadet
- type: entity
parent: BasePDA
parent: [BaseEpistemicsPDA, BasePDA] # DeltaV
id: ResearchAssistantPDA
name: research assistant PDA
description: Why isn't it purple?
@ -266,7 +276,7 @@
state: pda-internsci
- type: entity
parent: BasePDA
parent: [BaseServicePDA, BasePDA] # DeltaV
id: ServiceWorkerPDA
name: service worker PDA
description: Why isn't it gray?
@ -285,7 +295,7 @@
state: pda-internservice
- type: entity
parent: BasePDA
parent: [BaseServicePDA, BasePDA] # DeltaV
id: ChefPDA
name: chef PDA
description: Covered in grease and flour.
@ -305,7 +315,7 @@
accent: italian
- type: entity
parent: BasePDA
parent: [BaseServicePDA, BasePDA] # DeltaV
id: BotanistPDA
name: botanist PDA
description: Has an earthy scent.
@ -324,7 +334,7 @@
state: pda-hydro
- type: entity
parent: BasePDA
parent: [BaseServicePDA, BasePDA] # DeltaV
id: ClownPDA
name: clown PDA
description: Looks can be deceiving.
@ -373,7 +383,7 @@
- ItemMask
- type: entity
parent: ClownPDA
parent: [BaseVisitorPDA, ClownPDA] # DeltaV
id: VisitorClownPDA
suffix: Visitor
components:
@ -384,7 +394,7 @@
- DoorBumpOpener
- type: entity
parent: BasePDA
parent: [BaseServicePDA, BasePDA] # DeltaV
id: MimePDA
name: mime PDA
description: Suprisingly not on mute.
@ -453,7 +463,7 @@
state: pda-chaplain
- type: entity
parent: ChaplainPDA
parent: [BaseVisitorPDA, ChaplainPDA] # DeltaV
id: VisitorChaplainPDA
suffix: Visitor
components:
@ -465,7 +475,7 @@
- type: entity
name: logistics officer PDA # DeltaV - Logistics Department replacing Cargo
parent: BasePDA
parent: [BaseLogisticsPDA, BasePDA] # DeltaV
id: QuartermasterPDA
description: PDA for the guy that directs logistics. # DeltaV - Logistics Department replacing Cargo
components:
@ -493,7 +503,7 @@
- AstroNavCartridge
- type: entity
parent: BasePDA
parent: [BaseLogisticsPDA, BasePDA] # DeltaV
id: CargoPDA
name: logistics PDA # DeltaV - Logistics Department replacing Cargo
description: PDA for the guys that order the pizzas.
@ -519,7 +529,7 @@
- NanoChatCartridge # DeltaV
- type: entity
parent: BasePDA
parent: [BaseLogisticsPDA, BasePDA] # DeltaV
id: SalvagePDA
name: salvage PDA
description: Smells like ash.
@ -547,7 +557,7 @@
- NanoChatCartridge # DeltaV
- type: entity
parent: BasePDA
parent: [BaseServicePDA, BasePDA] # DeltaV
id: BartenderPDA
name: bartender PDA
description: Smells like beer.
@ -565,7 +575,7 @@
state: pda-bartender
- type: entity
parent: BaseWidePDA
parent: [BaseServicePDA, BaseWidePDA] # DeltaV
id: LibrarianPDA
name: librarian PDA
description: Smells like books.
@ -589,7 +599,7 @@
state: pda-library
- type: entity
parent: LibrarianPDA
parent: [BaseVisitorPDA, LibrarianPDA] # DeltaV
id: VisitorLibrarianPDA
suffix: Visitor
components:
@ -634,7 +644,7 @@
- LogProbeCartridge
- type: entity
parent: LawyerPDA
parent: [BaseVisitorPDA, LawyerPDA] # DeltaV
id: VisitorLawyerPDA
suffix: Visitor
components:
@ -645,7 +655,7 @@
- DoorBumpOpener
- type: entity
parent: BasePDA
parent: [BaseServicePDA, BasePDA]
id: JanitorPDA
name: janitor PDA
description: Smells like bleach.
@ -685,6 +695,11 @@
borderColor: "#7C5D00"
- type: Icon
state: pda-captain
# Begin DeltaV
- type: Pager
autoLinkDepartments: [Command]
autoLinkJobs: [Captain]
# End DeltaV
- type: entity
parent: BasePDA
@ -710,6 +725,11 @@
accentHColor: "#447987"
- type: Icon
state: pda-hop
# Begin DeltaV
- type: Pager
autoLinkDepartments: [Command]
autoLinkJobs: [HeadOfPersonnel]
# End DeltaV
- type: entity
parent: BasePDA
@ -729,9 +749,14 @@
accentHColor: "#447987"
- type: Icon
state: pda-ce
# Begin DeltaV
- type: Pager
autoLinkDepartments: [Command, Engineering]
autoLinkJobs: [ChiefEngineer]
# End DeltaV
- type: entity
parent: BasePDA
parent: [BaseEngineeringPDA, BasePDA]
id: EngineerPDA
name: engineer PDA
description: Rugged and well-worn.
@ -768,6 +793,11 @@
accentVColor: "#447987"
- type: Icon
state: pda-cmo
# Begin DeltaV
- type: Pager
autoLinkDepartments: [Command, Medical]
autoLinkJobs: [ChiefMedicalOfficer]
# End DeltaV
- type: entity
parent: BaseMedicalPDA
@ -792,7 +822,7 @@
- MedicalDoctor
- type: entity
parent: MedicalPDA
parent: [BaseVisitorPDA, MedicalPDA] # DeltaV
id: VisitorMedicalPDA
suffix: Visitor
components:
@ -867,9 +897,14 @@
- NewsReaderCartridge
- GlimmerMonitorCartridge
- NanoChatCartridge # DeltaV
# Begin DeltaV
- type: Pager
autoLinkDepartments: [Command, Epistemics]
autoLinkJobs: [ResearchDirector]
# End DeltaV
- type: entity
parent: BasePDA
parent: [BaseEpistemicsPDA, BasePDA] # DeltaV
id: SciencePDA
name: epistemics PDA # DeltaV - Epistemics Department replacing Science
description: It's covered with an unknown gooey substance.
@ -923,6 +958,11 @@
- SecWatchCartridge # DeltaV: SecWatch replaces WantedList
- LogProbeCartridge
- NanoChatCartridge # DeltaV
# Begin DeltaV
- type: Pager
autoLinkDepartments: [Command, Security]
autoLinkJobs: [HeadOfSecurity]
# End DeltaV
- type: entity
parent: BaseSecurityPDA
@ -962,7 +1002,7 @@
state: pda-security
- type: entity
parent: BaseSecurityPDA
parent: [BaseCentralPDA, BaseSecurityPDA] # DeltaV
id: CentcomPDA
name: CentComm PDA
description: Light green sign of walking bureaucracy.
@ -997,7 +1037,7 @@
- NanoChatCartridge # DeltaV
- type: entity
parent: CentcomPDA
parent: [BaseVisitorPDA, CentcomPDA] # DeltaV
id: AdminPDA
name: Admin PDA
suffix: Admin
@ -1040,7 +1080,7 @@
- DoorBumpOpener
- type: entity
parent: BasePDA
parent: [BaseServicePDA, BasePDA]
id: MusicianPDA
name: musician PDA
description: It fills you with inspiration.
@ -1063,7 +1103,7 @@
program: 2
- type: entity
parent: MusicianPDA
parent: [BaseVisitorPDA, MusicianPDA] # DeltaV
id: VisitorMusicianPDA
suffix: Visitor
components:
@ -1074,7 +1114,7 @@
- DoorBumpOpener
- type: entity
parent: BasePDA
parent: [BaseEngineeringPDA, BasePDA] # DeltaV
id: AtmosPDA
name: atmospheric technician PDA # DeltaV - was "atmos PDA"
description: Still smells like plasma.
@ -1208,7 +1248,7 @@
# state: pda-syndi-commander
- type: entity
parent: BaseSecurityPDA
parent: [BaseCentralPDA, BaseSecurityPDA] # DeltaV
id: ERTLeaderPDA
name: ERT Leader PDA
suffix: Leader
@ -1304,7 +1344,7 @@
accentVColor: "#447987"
- type: entity
parent: BasePDA
parent: BaseMedicalPDA # DeltaV
id: PsychologistPDA
name: psychologist PDA
description: Looks immaculately cleaned.
@ -1323,7 +1363,7 @@
state: pda-medical
- type: entity
parent: BasePDA
parent: [BaseServicePDA, BasePDA] # DeltaV
id: ReporterPDA
name: reporter PDA
description: Smells like freshly printed press.
@ -1355,7 +1395,7 @@
- NanoChatCartridge # DeltaV
- type: entity
parent: BasePDA
parent: [BaseServicePDA, BasePDA] # DeltaV
id: ZookeeperPDA
name: zookeeper PDA
description: Made with genuine synthetic leather. Crikey!
@ -1373,7 +1413,7 @@
state: pda-zookeeper
- type: entity
parent: BasePDA
parent: [BaseServicePDA, BasePDA] # DeltaV
id: BoxerPDA
name: boxer PDA
description: Float like a butterfly, ringtone like a bee.
@ -1477,7 +1517,7 @@
- type: Unremoveable
- type: entity
parent: BasePDA
parent: [BaseEngineeringPDA, BasePDA] # DeltaV
id: SeniorEngineerPDA
name: senior engineer PDA
description: Seems to have been taken apart and put back together several times.

View File

@ -79,9 +79,12 @@
- type: DeviceNetworkRequiresPower
- type: DeviceNetwork
deviceNetId: Wireless
receiveFrequencyId: Fax
transmitFrequencyId: Fax
receiveFrequencyId: NTNet # DeltaV
transmitFrequencyId: NTNet # DeltaV
- type: RequireProjectileTarget
# Begin DeltaV
- type: PageSender
# End DeltaV
# Special
- type: entity
@ -98,6 +101,10 @@
- type: FaxMachine
name: "Central Command"
notifyAdmins: true
# Begin DeltaV
- type: PageSender
autoLinkDepartments: [CentralCommand]
# End DeltaV
- type: entity
parent: FaxMachineBase
@ -128,3 +135,7 @@
receiveNukeCodes: true
- type: StealTarget
stealGroup: FaxMachineCaptain
# Begin DeltaV
- type: PageSender
autoLinkJobs: [Captain]
# End DeltaV

View File

@ -104,7 +104,16 @@
node: machineFrame
- !type:DoActsBehavior
acts: ["Destruction"]
# Begin DeltaV
- type: DeviceNetworkRequiresPower
- type: DeviceNetwork
deviceNetId: Wireless
receiveFrequencyId: NTNet
transmitFrequencyId: NTNet
- type: PageSender
# End DeltaV
- type: entity
name: long-range holopad
description: "A floor-mounted device for projecting holographic images to similar devices that are far away."
@ -252,7 +261,7 @@
# Command
- type: entity
parent: Holopad
parent: HolopadCommand # DeltaV
id: HolopadCommandBridge
suffix: Bridge
components:
@ -260,7 +269,7 @@
currentLabel: holopad-command-bridge
- type: entity
parent: Holopad
parent: HolopadCommand # DeltaV
id: HolopadCommandVault
suffix: Vault
components:
@ -268,7 +277,7 @@
currentLabel: holopad-command-vault
- type: entity
parent: Holopad
parent: HolopadCommand # DeltaV
id: HolopadCommandBridgeHallway
suffix: Bridge Hallway
components:
@ -276,7 +285,7 @@
currentLabel: holopad-command-bridge-hallway
- type: entity
parent: Holopad
parent: HolopadCommand # DeltaV
id: HolopadCommandMeetingRoom
suffix: Command Meeting
components:
@ -284,7 +293,7 @@
currentLabel: holopad-command-meeting-room
- type: entity
parent: Holopad
parent: HolopadCommand # DeltaV
id: HolopadCommandLounge
suffix: Command Lounge
components:
@ -298,6 +307,10 @@
components:
- type: Label
currentLabel: holopad-command-captain
# Begin DeltaV
- type: PageSender
autoLinkJobs: [Captain]
# End DeltaV
- type: entity
parent: Holopad
@ -306,6 +319,10 @@
components:
- type: Label
currentLabel: holopad-command-hop
# Begin DeltaV
- type: PageSender
autoLinkJobs: [HeadOfPersonnel]
# End DeltaV
- type: entity
parent: Holopad
@ -314,6 +331,10 @@
components:
- type: Label
currentLabel: holopad-command-cmo
# Begin DeltaV
- type: PageSender
autoLinkJobs: [ChiefMedicalOfficer]
# End DeltaV
- type: entity
parent: Holopad
@ -322,6 +343,10 @@
components:
- type: Label
currentLabel: holopad-command-lo # DeltaV - QM > LO
# Begin DeltaV
- type: PageSender
autoLinkJobs: [Quartermaster]
# End DeltaV
- type: entity
parent: Holopad
@ -330,6 +355,10 @@
components:
- type: Label
currentLabel: holopad-command-ce
# Begin DeltaV
- type: PageSender
autoLinkJobs: [ChiefEngineer]
# End DeltaV
- type: entity
parent: Holopad
@ -338,6 +367,10 @@
components:
- type: Label
currentLabel: holopad-command-mysta # DeltaV - RD > Mysta
# Begin DeltaV
- type: PageSender
autoLinkJobs: [ResearchDirector]
# End DeltaV
- type: entity
parent: Holopad
@ -346,10 +379,14 @@
components:
- type: Label
currentLabel: holopad-command-hos
# Begin DeltaV
- type: PageSender
autoLinkJobs: [HeadOfSecurity]
# End DeltaV
# Science
- type: entity
parent: Holopad
parent: HolopadEpistemics # DeltaV
id: HolopadScienceAnomaly
suffix: Anomaly
components:
@ -357,7 +394,7 @@
currentLabel: holopad-epistemics-anomaly # DeltaV - Science > Epistemics
- type: entity
parent: Holopad
parent: HolopadEpistemics # DeltaV
id: HolopadScienceArtifact
suffix: Artifact
components:
@ -371,9 +408,13 @@
components:
- type: Label
currentLabel: holopad-epistemics-robotics # DeltaV - Science > Epistemics
# Begin DeltaV
- type: PageSender
autoLinkJobs: [Roboticist]
# End DeltaV
- type: entity
parent: Holopad
parent: HolopadEpistemics # DeltaV
id: HolopadScienceRnd
suffix: R&D
components:
@ -381,7 +422,7 @@
currentLabel: holopad-epistemics-rnd # DeltaV - Science > Epistemics
- type: entity
parent: Holopad
parent: HolopadEpistemics # DeltaV
id: HolopadScienceFront
suffix: Epi Front # DeltaV - Science > Epistemics
components:
@ -389,7 +430,7 @@
currentLabel: holopad-epistemics-front # DeltaV - Science > Epistemics
- type: entity
parent: Holopad
parent: HolopadEpistemics # DeltaV
id: HolopadScienceBreakroom
suffix: Epi Breakroom # DeltaV - Science > Epistemics
components:
@ -397,7 +438,7 @@
currentLabel: holopad-epistemics-breakroom # DeltaV - Science > Epistemics
- type: entity
parent: Holopad
parent: HolopadEpistemics # DeltaV
id: HolopadScienceArtifactNorth
suffix: Artifact North
components:
@ -405,7 +446,7 @@
currentLabel: holopad-science-artifact-north
- type: entity
parent: Holopad
parent: HolopadEpistemics # DeltaV
id: HolopadScienceArtifactSouth
suffix: Artifact South
components:
@ -414,7 +455,7 @@
# Medical
- type: entity
parent: Holopad
parent: HolopadMedical # DeltaV
id: HolopadMedicalMedbay
suffix: Medbay
components:
@ -428,9 +469,13 @@
components:
- type: Label
currentLabel: holopad-medical-chemistry
# Begin DeltaV
- type: PageSender
autoLinkJobs: [Chemist]
# End DeltaV
- type: entity
parent: Holopad
parent: HolopadMedical # DeltaV
id: HolopadMedicalCryopods
suffix: Cryopods
components:
@ -438,7 +483,7 @@
currentLabel: holopad-medical-cryopods
- type: entity
parent: Holopad
parent: HolopadMedical # DeltaV
id: HolopadMedicalMorgue
suffix: Morgue
components:
@ -452,6 +497,10 @@
components:
- type: Label
currentLabel: holopad-medical-surgery
# Begin DeltaV
- type: PageSender
autoLinkJobs: [Surgeon]
# End DeltaV
- type: entity
parent: Holopad
@ -460,9 +509,13 @@
components:
- type: Label
currentLabel: holopad-medical-paramedic
# Begin DeltaV
- type: PageSender
autoLinkJobs: [Paramedic]
# End DeltaV
- type: entity
parent: Holopad
parent: HolopadMedical # DeltaV
id: HolopadMedicalVirology
suffix: Virology
components:
@ -470,7 +523,7 @@
currentLabel: holopad-medical-virology
- type: entity
parent: Holopad
parent: HolopadMedical # DeltaV
id: HolopadMedicalFront
suffix: Med Front
components:
@ -478,7 +531,7 @@
currentLabel: holopad-medical-front
- type: entity
parent: Holopad
parent: HolopadMedical # DeltaV
id: HolopadMedicalBreakroom
suffix: Med Breakroom
components:
@ -489,7 +542,7 @@
# Cargo
- type: entity
parent: Holopad
parent: HolopadLogistics
id: HolopadCargoFront
suffix: Logistics Front # DeltaV - Cargo > Logistics
components:
@ -497,7 +550,7 @@
currentLabel: holopad-logistics-front # DeltaV - Cargo > Logistics
- type: entity
parent: Holopad
parent: HolopadLogistics
id: HolopadCargoBay
suffix: Cargo Bay
components:
@ -511,9 +564,13 @@
components:
- type: Label
currentLabel: holopad-logistics-salvage-bay # DeltaV - Cargo > Logistics
# Begin DeltaV
- type: PageSender
autoLinkJobs: [SalvageSpecialist]
# End DeltaV
- type: entity
parent: Holopad
parent: HolopadLogistics
id: HolopadCargoBreakroom
suffix: Logistics Breakroom
components:
@ -530,6 +587,10 @@
components:
- type: Label
currentLabel: holopad-engineering-atmos-front
# Begin DeltaV
- type: PageSender
autoLinkJobs: [AtmosphericTechnician]
# End DeltaV
- type: entity
parent: Holopad
@ -538,6 +599,10 @@
components:
- type: Label
currentLabel: holopad-engineering-atmos-main
# Begin DeltaV
- type: PageSender
autoLinkJobs: [AtmosphericTechnician]
# End DeltaV
- type: entity
parent: Holopad
@ -546,9 +611,13 @@
components:
- type: Label
currentLabel: holopad-engineering-atmos-teg
# Begin DeltaV
- type: PageSender
autoLinkJobs: [AtmosphericTechnician]
# End DeltaV
- type: entity
parent: Holopad
parent: HolopadEngineering # DeltaV
id: HolopadEngineeringStorage
suffix: Engi Storage
components:
@ -556,7 +625,7 @@
currentLabel: holopad-engineering-storage
- type: entity
parent: Holopad
parent: HolopadEngineering # DeltaV
id: HolopadEngineeringBreakroom
suffix: Engi Breakroom
components:
@ -564,7 +633,7 @@
currentLabel: holopad-engineering-breakroom
- type: entity
parent: Holopad
parent: HolopadEngineering # DeltaV
id: HolopadEngineeringFront
suffix: Engi Front
components:
@ -572,7 +641,7 @@
currentLabel: holopad-engineering-front
- type: entity
parent: Holopad
parent: HolopadEngineering # DeltaV
id: HolopadEngineeringTelecoms
suffix: Telecoms
components:
@ -580,7 +649,7 @@
currentLabel: holopad-engineering-telecoms
- type: entity
parent: Holopad
parent: HolopadEngineering # DeltaV
id: HolopadEngineeringTechVault
suffix: Tech Vault
components:
@ -588,7 +657,7 @@
currentLabel: holopad-engineering-tech-vault
- type: entity
parent: Holopad
parent: HolopadEngineering # DeltaV
id: HolopadEngineeringAME
suffix: AME
components:
@ -596,7 +665,7 @@
currentLabel: holopad-engineering-ame
- type: entity
parent: Holopad
parent: HolopadEngineering # DeltaV
id: HolopadEngineeringPower
suffix: Power
components:
@ -604,7 +673,7 @@
currentLabel: holopad-engineering-power
- type: entity
parent: Holopad
parent: HolopadEngineering # DeltaV
id: HolopadEngineeringMain
suffix: Engi Main
components:
@ -613,7 +682,7 @@
# Security
- type: entity
parent: Holopad
parent: HolopadSecurity # DeltaV
id: HolopadSecurityFront
suffix: Sec Front
components:
@ -621,7 +690,7 @@
currentLabel: holopad-security-front
- type: entity
parent: Holopad
parent: HolopadSecurity # DeltaV
id: HolopadSecurityBrig
suffix: Brig
components:
@ -629,7 +698,7 @@
currentLabel: holopad-security-brig
- type: entity
parent: Holopad
parent: HolopadSecurity # DeltaV
id: HolopadSecurityWarden
suffix: Warden
components:
@ -637,7 +706,7 @@
currentLabel: holopad-security-warden
- type: entity
parent: Holopad
parent: HolopadSecurity # DeltaV
id: HolopadSecurityInterrogation
suffix: Interrogation
components:
@ -645,7 +714,7 @@
currentLabel: holopad-security-interrogation
- type: entity
parent: Holopad
parent: HolopadSecurity # DeltaV
id: HolopadSecurityBreakroom
suffix: Sec Breakroom
components:
@ -659,9 +728,13 @@
components:
- type: Label
currentLabel: holopad-security-detective
# Begin DeltaV
- type: PageSender
autoLinkJobs: [Detective]
# End DeltaV
- type: entity
parent: Holopad
parent: HolopadPrison # DeltaV
id: HolopadSecurityPerma
suffix: Perma
components:
@ -669,7 +742,7 @@
currentLabel: holopad-security-perma
- type: entity
parent: Holopad
parent: HolopadJustice # DeltaV
id: HolopadSecurityCourtroom
suffix: Courtroom
components:
@ -677,7 +750,7 @@
currentLabel: holopad-security-courtroom
- type: entity
parent: Holopad
parent: HolopadJustice # DeltaV
id: HolopadSecurityLawyer
suffix: Attorney # DeltaV - Lawyer > Attorney
components:
@ -685,7 +758,7 @@
currentLabel: holopad-justice-attorney # DeltaV - Lawyer > Attorney
- type: entity
parent: Holopad
parent: HolopadSecurity # DeltaV
id: HolopadSecurityArmory
suffix: Armory
components:
@ -696,7 +769,7 @@
# DeltaV - Skipped brig med(redundant)
- type: entity
parent: Holopad
parent: HolopadSecurity # DeltaV
id: HolopadSecurityEvacCheckpoint
suffix: Sec Evac Checkpoint
components:
@ -704,7 +777,7 @@
currentLabel: holopad-security-evac-checkpoint
- type: entity
parent: Holopad
parent: HolopadSecurity # DeltaV
id: HolopadSecurityArrivalsCheckpoint
suffix: Sec Arrivals Checkpoint
components:
@ -719,6 +792,10 @@
components:
- type: Label
currentLabel: holopad-service-janitor
# Begin DeltaV
- type: PageSender
autoLinkJobs: [Janitor]
# End DeltaV
- type: entity
parent: Holopad
@ -727,6 +804,10 @@
components:
- type: Label
currentLabel: holopad-service-bar
# Begin DeltaV
- type: PageSender
autoLinkJobs: [Bartender]
# End DeltaV
- type: entity
parent: Holopad
@ -735,6 +816,10 @@
components:
- type: Label
currentLabel: holopad-service-kitchen
# Begin DeltaV
- type: PageSender
autoLinkJobs: [Chef]
# End DeltaV
- type: entity
parent: Holopad
@ -743,6 +828,10 @@
components:
- type: Label
currentLabel: holopad-service-botany
# Begin DeltaV
- type: PageSender
autoLinkJobs: [Botanist]
# End DeltaV
- type: entity
parent: Holopad
@ -751,6 +840,10 @@
components:
- type: Label
currentLabel: holopad-service-chapel
# Begin DeltaV
- type: PageSender
autoLinkJobs: [Chaplain]
# End DeltaV
- type: entity
parent: Holopad
@ -759,6 +852,10 @@
components:
- type: Label
currentLabel: holopad-service-library
# Begin DeltaV
- type: PageSender
autoLinkJobs: [Librarian]
# End DeltaV
- type: entity
parent: Holopad
@ -775,6 +872,10 @@
components:
- type: Label
currentLabel: holopad-service-newsroom
# Begin DeltaV
- type: PageSender
autoLinkJobs: [Reporter]
# End DeltaV
- type: entity
parent: Holopad
@ -783,6 +884,10 @@
components:
- type: Label
currentLabel: holopad-service-zookeeper
# Begin DeltaV
- type: PageSender
autoLinkJobs: [Zookeeper]
# End DeltaV
- type: entity
parent: Holopad
@ -791,6 +896,10 @@
components:
- type: Label
currentLabel: holopad-service-boxer
# Begin DeltaV
- type: PageSender
autoLinkJobs: [Boxer]
# End DeltaV
- type: entity
parent: Holopad
@ -799,6 +908,10 @@
components:
- type: Label
currentLabel: holopad-service-clown
# Begin DeltaV
- type: PageSender
autoLinkJobs: [Clown]
# End DeltaV
- type: entity
parent: Holopad
@ -807,6 +920,10 @@
components:
- type: Label
currentLabel: holopad-service-musician
# Begin DeltaV
- type: PageSender
autoLinkJobs: [Musician]
# End DeltaV
- type: entity
parent: Holopad
@ -815,6 +932,10 @@
components:
- type: Label
currentLabel: holopad-service-mime
# Begin DeltaV
- type: PageSender
autoLinkJobs: [Mime]
# End DeltaV
# AI
- type: entity
@ -875,7 +996,7 @@
currentLabel: holopad-cargo-ats
- type: entity
parent: HolopadLongRange
parent: [HolopadLongRange, HolopadCommand] # DeltaV
id: HolopadCommandBridgeLongRange
suffix: Station Bridge
components:
@ -883,7 +1004,7 @@
currentLabel: holopad-station-bridge
- type: entity
parent: HolopadLongRange
parent: [HolopadLongRange, HolopadLogistics] # DeltaV
id: HolopadCargoBayLongRange
suffix: Station Cargo Bay
components:
@ -916,3 +1037,7 @@
components:
- type: Label
currentLabel: holopad-service-clown-mime
# Begin DeltaV
- type: PageSender
autoLinkJobs: [Clown, Mime]
# End DeltaV

View File

@ -86,12 +86,12 @@
- type: loadout
id: SecurityBelt
equipment:
belt: ClothingBeltSecurityFilled
belt: ClothingBeltSecurityBeltCustom # DeltaV - loadouts
- type: loadout
id: SecurityWebbing
equipment:
belt: ClothingBeltSecurityWebbingFilled
belt: ClothingBeltSecurityWebbingCustom # DeltaV - loadouts
# Outerclothing
- type: loadout

View File

@ -413,6 +413,7 @@
- GroupSpeciesBreathToolSecurity
- SecurityAllFirearm # DeltaV - loadouts
- SecurityAllAmmo # DeltaV - loadouts
- SecurityUtility # DeltaV - loadouts
- type: roleLoadout
id: JobWarden
@ -432,6 +433,7 @@
- GroupSpeciesBreathToolSecurity
- SecurityAllFirearm # DeltaV - loadouts
- SecurityAllAmmo # DeltaV - loadouts
- SecurityUtility # DeltaV - loadouts
- type: roleLoadout
id: JobSecurityOfficer
@ -452,6 +454,7 @@
- GroupSpeciesBreathToolSecurity
- SecurityFirearm # DeltaV - loadouts
- SecurityFirearmAmmo # DeltaV - loadouts
- SecurityUtility # DeltaV - loadouts
- type: roleLoadout
id: JobDetective

View File

@ -44,6 +44,7 @@
- GroupSpeciesBreathToolSecurity
- SecurityFirearm # DeltaV - loadouts
- SecurityFirearmAmmo # DeltaV - loadouts
- SecurityUtility
# Wildcards
- type: roleLoadout

View File

@ -25,6 +25,30 @@
- id: SyringeEphedrine
- id: EmergencyMedipen
- type: entity
id: ClothingBeltSecurityBeltCustom
parent: ClothingBeltSecurity
suffix: Filled
components:
- type: EntityTableContainerFill
containers:
storagebase: !type:AllSelector
children:
- id: Stunbaton
- id: Handcuffs
- type: entity
id: ClothingBeltSecurityWebbingCustom
parent: ClothingBeltSecurityWebbing
suffix: Filled
components:
- type: EntityTableContainerFill
containers:
storagebase: !type:AllSelector
children:
- id: Stunbaton
- id: Handcuffs
- type: entity
id: ClothingBeltFoamSheathFilled
parent: ClothingBeltFoamSheath

View File

@ -7,3 +7,8 @@
id: SurveillanceCameraAI
name: device-frequency-prototype-name-surveillance-camera-AI
frequency: 1425
- type: deviceFrequency
id: NTNet
name: device-frequency-prototype-name-ntnet
frequency: 2302

View File

@ -1,3 +1,30 @@
# Off-station
- type: entity
id: BaseVisitorPDA
abstract: true
components:
- type: Pager
autoLinkDepartments: []
autoLinkJobs: []
- type: entity
id: BaseCentralPDA
abstract: true
components:
- type: Pager
autoLinkDepartments: [CentralCommand]
autoLinkJobs: []
# Engineering
- type: entity
id: BaseEngineeringPDA
abstract: true
components:
- type: Pager
autoLinkDepartments: [Engineering]
# Security
- type: entity
@ -27,6 +54,9 @@
accentVColor: "#447987"
- type: Icon
state: pda-corpsman
- type: Pager
autoLinkDepartments: [Medical, Security]
autoLinkJobs: [Brigmedic]
- type: entity
parent: ClearPDA
@ -36,6 +66,8 @@
components:
- type: Pda
id: PrisonerJobIDCard
- type: Pager
autoLinkJobs: [Prisoner]
- type: entity
parent: PrisonerPDA
@ -86,6 +118,8 @@
- CrimeAssistCartridge
- SecWatchCartridge
- NanoChatCartridge
- type: Pager
autoLinkDepartments: [Justice]
- type: entity
parent: BaseJusticePDA
@ -103,6 +137,9 @@
borderColor: "#470823"
- type: Icon
state: pda-chiefjustice
- type: Pager
autoLinkDepartments: [Command, Justice]
autoLinkJobs: [ChiefJustice]
- type: entity
parent: BaseJusticePDA
@ -120,6 +157,8 @@
borderColor: "#611528"
- type: Icon
state: pda-clerk
- type: Pager
autoLinkJobs: [Clerk]
- type: entity
parent: BaseJusticePDA
@ -137,6 +176,8 @@
borderColor: "#6f6192"
- type: Icon
state: pda-prosecutor
- type: Pager
autoLinkJobs: [Prosecutor]
# Misc
@ -157,7 +198,7 @@
pda-syndi-agent
- type: entity
parent: BasePDA
parent: [BaseServicePDA, BasePDA]
id: MartialArtistPDA
name: martial artist PDA
description: Smells like straw.
@ -176,6 +217,13 @@
# Logistics
- type: entity
id: BaseLogisticsPDA
abstract: true
components:
- type: Pager
autoLinkDepartments: [Logistics]
- type: entity
parent: BasePDA
id: CourierPDA
@ -231,6 +279,13 @@
# Epistemics
- type: entity
id: BaseEpistemicsPDA
abstract: true
components:
- type: Pager
autoLinkDepartments: [Epistemics]
- type: entity
parent: SciencePDA
id: PsionicMantisPDA
@ -240,6 +295,14 @@
- type: Pda
id: ForensicMantisIDCard
# Service
- type: entity
id: BaseServicePDA
abstract: true
components:
- type: Pager
autoLinkDepartments: [Civilian]
## Alternate Job Titles

View File

@ -14,3 +14,447 @@
name: "Unknown?"
responsePings: false
- type: Emagged
# Departmentwide fax machines
- type: entity
parent: FaxMachineBase
id: FaxMachineCommand
suffix: Command
components:
- type: PageSender
autoLinkDepartments: [Command]
- type: FaxMachine
name: "Command"
- type: entity
parent: FaxMachineBase
id: FaxMachineEngineering
suffix: Engineering
components:
- type: PageSender
autoLinkDepartments: [Engineering]
- type: FaxMachine
name: "Command"
- type: entity
parent: FaxMachineBase
id: FaxMachineEpistemics
suffix: Epistemics
components:
- type: PageSender
autoLinkDepartments: [Epistemics]
- type: FaxMachine
name: "Engineering"
- type: entity
parent: FaxMachineBase
id: FaxMachineLogistics
suffix: Logistics
components:
- type: PageSender
autoLinkDepartments: [Logistics]
- type: FaxMachine
name: "Logistics"
- type: entity
parent: FaxMachineBase
id: FaxMachineJustice
suffix: Justice
components:
- type: PageSender
autoLinkDepartments: [Justice]
- type: FaxMachine
name: "Justice"
- type: entity
parent: FaxMachineBase
id: FaxMachineSecurity
suffix: Security
components:
- type: PageSender
autoLinkDepartments: [Security]
- type: FaxMachine
name: "Security"
- type: entity
parent: FaxMachineBase
id: FaxMachineMedical
suffix: Medical
components:
- type: PageSender
autoLinkDepartments: [Medical]
- type: FaxMachine
name: "Medical"
- type: entity
parent: FaxMachineBase
id: FaxMachineCivilian
suffix: Civilian
components:
- type: PageSender
autoLinkDepartments: [Civilian]
- type: FaxMachine
name: "Civilian"
# Job-specific fax machines
- type: entity
parent: FaxMachineBase
id: FaxMachineAtmosphericTechnician
suffix: Atmospheric Technician
components:
- type: PageSender
autoLinkJobs: [AtmosphericTechnician]
- type: FaxMachine
name: "Atmospherics"
- type: entity
parent: FaxMachineBase
id: FaxMachineBartender
suffix: Bartender
components:
- type: PageSender
autoLinkJobs: [Bartender]
- type: FaxMachine
name: "Bar"
- type: entity
parent: FaxMachineBase
id: FaxMachineBotanist
suffix: Botanist
components:
- type: PageSender
autoLinkJobs: [Botanist]
- type: FaxMachine
name: "Hydroponics"
- type: entity
parent: FaxMachineBase
id: FaxMachineBoxer
suffix: Boxer
components:
- type: PageSender
autoLinkJobs: [Boxer]
- type: FaxMachine
name: "Boxing"
- type: entity
parent: FaxMachineBase
id: FaxMachineBrigmedic
suffix: Corpsman
components:
- type: PageSender
autoLinkJobs: [Brigmedic]
- type: FaxMachine
name: "Corpsman"
- type: entity
parent: FaxMachineBase
id: FaxMachineCargoTechnician
suffix: Cargo Technician
components:
- type: PageSender
autoLinkJobs: [CargoTechnician]
- type: FaxMachine
name: "Cargo Technician"
- type: entity
parent: FaxMachineBase
id: FaxMachineChaplain
suffix: Chaplain
components:
- type: PageSender
autoLinkJobs: [Chaplain]
- type: FaxMachine
name: "Chaplain"
- type: entity
parent: FaxMachineBase
id: FaxMachineChef
suffix: Chef
components:
- type: PageSender
autoLinkJobs: [Chef]
- type: FaxMachine
name: "Chef"
- type: entity
parent: FaxMachineBase
id: FaxMachineChemist
suffix: Chemist
components:
- type: PageSender
autoLinkJobs: [Chemist]
- type: FaxMachine
name: "Chemistry"
- type: entity
parent: FaxMachineBase
id: FaxMachineChiefEngineer
suffix: Chief Engineer
components:
- type: PageSender
autoLinkJobs: [ChiefEngineer]
- type: FaxMachine
name: "Chief Engineer"
- type: entity
parent: FaxMachineBase
id: FaxMachineChiefJustice
suffix: Chief Justice
components:
- type: PageSender
autoLinkJobs: [ChiefJustice]
- type: FaxMachine
name: "Chief Justice"
- type: entity
parent: FaxMachineBase
id: FaxMachineChiefMedicalOfficer
suffix: Chief Medical Officer
components:
- type: PageSender
autoLinkJobs: [ChiefMedicalOfficer]
- type: FaxMachine
name: "Chief Medical Officer"
- type: entity
parent: FaxMachineBase
id: FaxMachineClerk
suffix: Clerk
components:
- type: PageSender
autoLinkJobs: [Clerk]
- type: FaxMachine
name: "Clerk"
- type: entity
parent: FaxMachineBase
id: FaxMachineClown
suffix: Clown
components:
- type: PageSender
autoLinkJobs: [Clown]
- type: FaxMachine
name: "Clown"
- type: entity
parent: FaxMachineBase
id: FaxMachineCourier
suffix: Courier
components:
- type: PageSender
autoLinkJobs: [Courier]
- type: FaxMachine
name: "Courier"
- type: entity
parent: FaxMachineBase
id: FaxMachineDetective
suffix: Detective
components:
- type: PageSender
autoLinkJobs: [Detective]
- type: FaxMachine
name: "Detective"
- type: entity
parent: FaxMachineBase
id: FaxMachineHeadOfPersonnel
suffix: Head Of Personnel
components:
- type: PageSender
autoLinkJobs: [HeadOfPersonnel]
- type: FaxMachine
name: "Head Of Personnel"
- type: entity
parent: FaxMachineBase
id: FaxMachineHeadOfSecurity
suffix: Head Of Security
components:
- type: PageSender
autoLinkJobs: [HeadOfSecurity]
- type: FaxMachine
name: "Head Of Security"
- type: entity
parent: FaxMachineBase
id: FaxMachineJanitor
suffix: Janitor
components:
- type: PageSender
autoLinkJobs: [Janitor]
- type: FaxMachine
name: "Janitorial"
- type: entity
parent: FaxMachineBase
id: FaxMachineLawyer
suffix: Lawyer
components:
- type: PageSender
autoLinkJobs: [Lawyer]
- type: FaxMachine
name: "Lawyer"
- type: entity
parent: FaxMachineBase
id: FaxMachineLibrarian
suffix: Librarian
components:
- type: PageSender
autoLinkJobs: [Librarian]
- type: FaxMachine
name: "Library"
- type: entity
parent: FaxMachineBase
id: FaxMachineMedicalDoctor
suffix: Medical Doctor
components:
- type: PageSender
autoLinkJobs: [MedicalDoctor]
- type: FaxMachine
name: "Medical Doctor"
- type: entity
parent: FaxMachineBase
id: FaxMachineMime
suffix: Mime
components:
- type: PageSender
autoLinkJobs: [Mime]
- type: FaxMachine
name: "Mime"
- type: entity
parent: FaxMachineBase
id: FaxMachineMusician
suffix: Musician
components:
- type: PageSender
autoLinkJobs: [Musician]
- type: FaxMachine
name: "Musician"
- type: entity
parent: FaxMachineBase
id: FaxMachineParamedic
suffix: Paramedic
components:
- type: PageSender
autoLinkJobs: [Paramedic]
- type: FaxMachine
name: "Paramedic"
- type: entity
parent: FaxMachineBase
id: FaxMachineProsecutor
suffix: Prosecutor
components:
- type: PageSender
autoLinkJobs: [Prosecutor]
- type: FaxMachine
name: "Prosecutor"
- type: entity
parent: FaxMachineBase
id: FaxMachinePsychologist
suffix: Psychologist
components:
- type: PageSender
autoLinkJobs: [Psychologist]
- type: FaxMachine
name: "Psychologist"
- type: entity
parent: FaxMachineBase
id: FaxMachineQuartermaster
suffix: Logistics Officer
components:
- type: PageSender
autoLinkJobs: [Quartermaster]
- type: FaxMachine
name: "Logistics Officer"
- type: entity
parent: FaxMachineBase
id: FaxMachineReporter
suffix: Reporter
components:
- type: PageSender
autoLinkJobs: [Reporter]
- type: FaxMachine
name: "Reporter"
- type: entity
parent: FaxMachineBase
id: FaxMachineResearchDirector
suffix: Research Director
components:
- type: PageSender
autoLinkJobs: [ResearchDirector]
- type: FaxMachine
name: "Mystagogue"
- type: entity
parent: FaxMachineBase
id: FaxMachineRoboticist
suffix: Roboticist
components:
- type: PageSender
autoLinkJobs: [Roboticist]
- type: FaxMachine
name: "Robotics"
- type: entity
parent: FaxMachineBase
id: FaxMachineSalvageSpecialist
suffix: Salvage Specialist
components:
- type: PageSender
autoLinkJobs: [SalvageSpecialist]
- type: FaxMachine
name: "Salvage"
- type: entity
parent: FaxMachineBase
id: FaxMachineStationEngineer
suffix: Station Engineer
components:
- type: PageSender
autoLinkJobs: [StationEngineer]
- type: FaxMachine
name: "Station Engineer"
- type: entity
parent: FaxMachineBase
id: FaxMachineSurgeon
suffix: Surgeon
components:
- type: PageSender
autoLinkJobs: [Surgeon]
- type: FaxMachine
name: "Surgery"
- type: entity
parent: FaxMachineBase
id: FaxMachineWarden
suffix: Warden
components:
- type: PageSender
autoLinkJobs: [Warden]
- type: FaxMachine
name: "Warden"
- type: entity
parent: FaxMachineBase
id: FaxMachineZookeeper
suffix: Zookeeper
components:
- type: PageSender
autoLinkJobs: [Zookeeper]
- type: FaxMachine
name: "Zoo"

View File

@ -1,3 +1,69 @@
# Department parents
- type: entity
abstract: true
parent: Holopad
id: HolopadCommand
components:
- type: PageSender
autoLinkDepartments: [Command]
- type: entity
abstract: true
parent: Holopad
id: HolopadEngineering
components:
- type: PageSender
autoLinkDepartments: [Engineering]
- type: entity
abstract: true
parent: Holopad
id: HolopadMedical
components:
- type: PageSender
autoLinkDepartments: [Medical]
- type: entity
abstract: true
parent: Holopad
id: HolopadSecurity
components:
- type: PageSender
autoLinkDepartments: [Security]
- type: entity
abstract: true
parent: Holopad
id: HolopadJustice
components:
- type: PageSender
autoLinkDepartments: [Justice]
- type: entity
abstract: true
parent: Holopad
id: HolopadEpistemics
components:
- type: PageSender
autoLinkDepartments: [Epistemics]
- type: entity
abstract: true
parent: Holopad
id: HolopadPrison
components:
- type: PageSender
autoLinkDepartments: [Security]
autoLinkJobs: [Prisoner, Gladiator]
- type: entity
abstract: true
parent: Holopad
id: HolopadLogistics
components:
- type: PageSender
autoLinkDepartments: [Logistics]
## Mapping prototypes
#Command
- type: entity
@ -7,9 +73,11 @@
components:
- type: Label
currentLabel: holopad-command-cj
- type: PageSender
autoLinkJobs: [ChiefJustice]
- type: entity
parent: Holopad
parent: HolopadCommand
id: HolopadCommandEvac
suffix: Command Evac
components:
@ -17,7 +85,7 @@
currentLabel: holopad-command-evac
- type: entity
parent: Holopad
parent: HolopadCommand
id: HolopadCommandBridgeLobby
suffix: Bridge Lobby
components:
@ -25,7 +93,7 @@
currentLabel: holopad-command-lobby
- type: entity
parent: Holopad
parent: HolopadCommand
id: HolopadCommandBar
suffix: Command Bar
components:
@ -40,6 +108,8 @@
components:
- type: Label
currentLabel: holopad-justice-prosecutor
- type: PageSender
autoLinkJobs: [Prosecutor]
- type: entity
parent: Holopad
@ -48,9 +118,11 @@
components:
- type: Label
currentLabel: holopad-justice-clerk
- type: PageSender
autoLinkJobs: [Clerk]
- type: entity
parent: Holopad
parent: HolopadJustice
id: HolopadJusticeLobby
suffix: Justice Lobby
components:
@ -65,6 +137,8 @@
components:
- type: Label
currentLabel: holodpad-logistics-mailroom
- type: PageSender
autoLinkJobs: [Courier]
- type: entity
parent: Holopad
@ -73,9 +147,11 @@
components:
- type: Label
currentLabel: holodpad-logistics-mailfront
- type: PageSender
autoLinkJobs: [Courier]
- type: entity
parent: Holopad
parent: HolopadLogistics
id: HolopadCargoLobby
suffix: Logistics Lobby
components:
@ -90,9 +166,11 @@
components:
- type: Label
currentLabel: holopad-epistemics-mantis
- type: PageSender
autoLinkJobs: [ForensicMantis]
- type: entity
parent: Holopad
parent: HolopadEpistemics
id: HolopadEpistemicsOracle
suffix: Oracle
components:
@ -100,7 +178,7 @@
currentLabel: holopad-epistemics-oracle
- type: entity
parent: Holopad
parent: HolopadEpistemics
id: HolopadEpistemicsLobby
suffix: Epistemics Lobby
components:
@ -115,9 +193,11 @@
components:
- type: Label
currentLabel: holopad-security-corpsman
- type: PageSender
autoLinkJobs: [Brigmedic]
- type: entity
parent: Holopad
parent: HolopadSecurity
id: HolopadSecurityLobby
suffix: Security Lobby
components:
@ -126,7 +206,7 @@
#Station Specific - Security
- type: entity
parent: Holopad
parent: HolopadPrison
id: HolopadSecurityPermaKitchen
suffix: Perma Kitchen
components:
@ -134,7 +214,7 @@
currentLabel: holopad-security-perma-kitchen
- type: entity
parent: Holopad
parent: HolopadPrison
id: HolopadSecurityPermaBotany
suffix: Perma Botany
components:
@ -142,7 +222,7 @@
currentLabel: holopad-security-perma-botany
- type: entity
parent: Holopad
parent: HolopadPrison
id: HolopadSecurityPermaYardOne
suffix: Perma Yard One
components:
@ -150,7 +230,7 @@
currentLabel: holopad-security-perma-yard-one
- type: entity
parent: Holopad
parent: HolopadPrison
id: HolopadSecurityPermaYardTwo
suffix: Perma Yard Two
components:
@ -158,7 +238,7 @@
currentLabel: holopad-security-perma-yard-two
- type: entity
parent: Holopad
parent: HolopadPrison
id: HolopadSecurityPermaWorkshop
suffix: Perma Workshop
components:
@ -166,7 +246,7 @@
currentLabel: holopad-security-perma-workshop
- type: entity
parent: Holopad
parent: HolopadSecurity
id: HolopadSecurityPermaGuardComplex
suffix: Perma Guard Complex
components:
@ -174,7 +254,7 @@
currentLabel: holopad-security-perma-guard-complex
- type: entity
parent: Holopad
parent: HolopadPrison
id: HolopadSecurityPermaMineshaft
suffix: Perma Mineshaft
components:
@ -182,7 +262,7 @@
currentLabel: holopad-security-perma-mineshaft
- type: entity
parent: Holopad
parent: HolopadPrison
id: HolopadSecurityArena
suffix: Arena
components:
@ -190,7 +270,7 @@
currentLabel: holopad-security-perma-arena
- type: entity
parent: Holopad
parent: HolopadPrison
id: HolopadSecurityGladiatorLounge
suffix: Gladiator Lounge
components:
@ -198,7 +278,7 @@
currentLabel: holopad-security-perma-gladiator-lounge
- type: entity
parent: Holopad
parent: HolopadPrison
id: HolopadSecuritySolitary
suffix: Solitary Confinement
components:
@ -206,7 +286,7 @@
currentLabel: holopad-security-solitary
- type: entity
parent: Holopad
parent: HolopadSecurity
id: HolopadSecurityBomb
suffix: Bomb Training Room
components:
@ -214,7 +294,7 @@
currentLabel: holopad-security-bomb-training
- type: entity
parent: Holopad
parent: HolopadSecurity
id: HolopadSecurityHall
suffix: Security Hallway
components:
@ -222,7 +302,7 @@
currentLabel: holopad-security-hallway
- type: entity
parent: Holopad
parent: HolopadSecurity
id: HolopadSecurityEvidence
suffix: Evidence
components:
@ -294,10 +374,12 @@
components:
- type: Label
currentLabel: holopad-general-zoo
- type: PageSender
autoLinkJobs: [Zookeeper]
#Medical
- type: entity
parent: Holopad
parent: HolopadMedical
id: HolopadMedicalOutpost
suffix: Outpost
components:
@ -311,9 +393,11 @@
components:
- type: Label
currentLabel: holopad-medical-psychologist
- type: PageSender
autoLinkJobs: [Psychologist]
- type: entity
parent: Holopad
parent: HolopadMedical
id: HolopadMedicalLobby
suffix: Medical Lobby
components:
@ -322,7 +406,7 @@
#Engineering
- type: entity
parent: Holopad
parent: HolopadEngineering
id: HolopadEngineeringParticleAccelerator
suffix: PA Control
components:
@ -330,7 +414,7 @@
currentLabel: holopad-engineering-pa-control
- type: entity
parent: Holopad
parent: HolopadEngineering
id: HolopadEngineeringLobby
suffix: Engineering Lobby
components:

View File

@ -0,0 +1,23 @@
- type: entity
parent: BaseDispenser
id: WaterDispenser
name: water dispenser
description: Wallmount water dispenser.
components:
- type: Sprite
sprite: _DV/Structures/Wallmounts/walldispenser.rsi
layers:
- state: waterdispenser
- state: fill-1
map: ["enum.SolutionContainerLayers.Fill"]
visible: false
- type: SolutionContainerVisuals
maxFillLevels: 5
fillBaseName: fill-
- type: SolutionContainerManager
solutions:
tank:
maxVol: 5000
reagents:
- ReagentId: Water
Quantity: 5000

View File

@ -145,3 +145,47 @@
id: SecurityClothingHandsGlovesFingerless
equipment:
gloves: ClothingHandsGlovesFingerless
# SecBelt utility
- type: loadout
id: FlashBangLoadout
storage:
belt:
- GrenadeFlashBang
- type: loadout
id: TearGasLoadout
storage:
belt:
- TearGasGrenade
- type: loadout
id: SecHoloProjectorLoadout
storage:
belt:
- HoloprojectorSecurity
- type: loadout
id: StingerGrenadeLoadout
storage:
belt:
- GrenadeStinger
- type: loadout
id: RadioHandheldSecurityLoadout
storage:
belt:
- RadioHandheldSecurity
- type: loadout
id: HandcuffsLoadout
storage:
belt:
- Handcuffs
- type: loadout
id: SecLiteLoadout
storage:
belt:
- FlashlightSeclite

View File

@ -414,6 +414,21 @@
- SecurityFirearmSpeedLoaderSpecialRubber
- SecurityFirearmSpeedLoaderSpecial
## Security utility
- type: loadoutGroup
id: SecurityUtility
name: security-utility
minLimit: 0
maxLimit: 4
loadouts:
- FlashBangLoadout
- TearGasLoadout
- StingerGrenadeLoadout
- RadioHandheldSecurityLoadout
- SecHoloProjectorLoadout
- HandcuffsLoadout
- SecLiteLoadout
## Security Gloves
- type: loadoutGroup
id: SecurityGloves

Binary file not shown.

After

Width:  |  Height:  |  Size: 568 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 595 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 599 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 619 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 649 B

View File

@ -0,0 +1,29 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Modifications made by [scrivoy], Dispenser originally taken from paradise at https://github.com/ParadiseSS13/Paradise/commit/846ce475b2258a4336d8895f07f2c0f4053963bc, waterdispenser by @Stxcking (github)",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "waterdispenser"
},
{
"name": "fill-1"
},
{
"name": "fill-2"
},
{
"name": "fill-3"
},
{
"name": "fill-4"
},
{
"name": "fill-5"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 737 B