Fix SCRAM implant not working while cuffed. Incidentally fix freedom implant working while dead/crit (#25978)
* Fix SCRAM implant not being usable while in cuffs. Also fix freedom implant from working while dead/crit as a side effect * Move check up to apply to all actions and do thing I forgor to do before * Change check into an ActionBlocker check that also checks whether the user is sleeping. * Make checking for Consciousness the default for actions Went through and chose what I believe to be sensible defaults for actions that had CheckCanInteract. * Fix typos my beloved I had an unbelievable skill issue * Fix major skill issue
This commit is contained in:
@@ -94,6 +94,7 @@ namespace Content.Client.Actions
|
||||
component.Container = EnsureEntity<T>(state.Container, uid);
|
||||
component.EntityIcon = EnsureEntity<T>(state.EntityIcon, uid);
|
||||
component.CheckCanInteract = state.CheckCanInteract;
|
||||
component.CheckConsciousness = state.CheckConsciousness;
|
||||
component.ClientExclusive = state.ClientExclusive;
|
||||
component.Priority = state.Priority;
|
||||
component.AttachedEntity = EnsureEntity<T>(state.AttachedEntity, uid);
|
||||
|
||||
@@ -7,6 +7,7 @@ using Content.Shared.Damage;
|
||||
using Content.Shared.Examine;
|
||||
using Content.Shared.IdentityManagement;
|
||||
using Content.Shared.Interaction;
|
||||
using Content.Shared.Interaction.Events;
|
||||
using Content.Shared.Mobs;
|
||||
using Content.Shared.Mobs.Components;
|
||||
using Content.Shared.Slippery;
|
||||
@@ -45,6 +46,7 @@ namespace Content.Server.Bed.Sleep
|
||||
SubscribeLocalEvent<SleepingComponent, InteractHandEvent>(OnInteractHand);
|
||||
SubscribeLocalEvent<SleepingComponent, ExaminedEvent>(OnExamined);
|
||||
SubscribeLocalEvent<SleepingComponent, SlipAttemptEvent>(OnSlip);
|
||||
SubscribeLocalEvent<SleepingComponent, ConsciousAttemptEvent>(OnConsciousAttempt);
|
||||
SubscribeLocalEvent<ForcedSleepingComponent, ComponentInit>(OnInit);
|
||||
}
|
||||
|
||||
@@ -173,6 +175,12 @@ namespace Content.Server.Bed.Sleep
|
||||
args.Cancel();
|
||||
}
|
||||
|
||||
private void OnConsciousAttempt(EntityUid uid, SleepingComponent component, ConsciousAttemptEvent args)
|
||||
{
|
||||
args.Cancel();
|
||||
}
|
||||
|
||||
|
||||
private void OnInit(EntityUid uid, ForcedSleepingComponent component, ComponentInit args)
|
||||
{
|
||||
TrySleeping(uid);
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
using Content.Shared.Bed.Sleep;
|
||||
using Content.Shared.Body.Events;
|
||||
using Content.Shared.DragDrop;
|
||||
using Content.Shared.Emoting;
|
||||
@@ -5,6 +6,8 @@ using Content.Shared.Hands;
|
||||
using Content.Shared.Interaction;
|
||||
using Content.Shared.Interaction.Events;
|
||||
using Content.Shared.Item;
|
||||
using Content.Shared.Mobs;
|
||||
using Content.Shared.Mobs.Components;
|
||||
using Content.Shared.Movement.Components;
|
||||
using Content.Shared.Movement.Events;
|
||||
using Content.Shared.Speech;
|
||||
@@ -67,6 +70,9 @@ namespace Content.Shared.ActionBlocker
|
||||
/// <returns></returns>
|
||||
public bool CanInteract(EntityUid user, EntityUid? target)
|
||||
{
|
||||
if (!CanConsciouslyPerformAction(user))
|
||||
return false;
|
||||
|
||||
var ev = new InteractionAttemptEvent(user, target);
|
||||
RaiseLocalEvent(user, ev);
|
||||
|
||||
@@ -98,6 +104,21 @@ namespace Content.Shared.ActionBlocker
|
||||
return !ev.Cancelled;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Whether a user conscious to perform an action.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// This should be used when you want a much more permissive check than <see cref="CanInteract"/>
|
||||
/// </remarks>
|
||||
public bool CanConsciouslyPerformAction(EntityUid user)
|
||||
{
|
||||
var ev = new ConsciousAttemptEvent(user);
|
||||
RaiseLocalEvent(user, ev);
|
||||
|
||||
return !ev.Cancelled;
|
||||
}
|
||||
|
||||
public bool CanThrow(EntityUid user, EntityUid itemUid)
|
||||
{
|
||||
var ev = new ThrowAttemptEvent(user, itemUid);
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using Robust.Shared.Audio;
|
||||
using Content.Shared.Mobs;
|
||||
using Robust.Shared.Audio;
|
||||
using Robust.Shared.Serialization;
|
||||
using Robust.Shared.Utility;
|
||||
|
||||
@@ -118,6 +119,12 @@ public abstract partial class BaseActionComponent : Component
|
||||
/// </summary>
|
||||
[DataField("checkCanInteract")] public bool CheckCanInteract = true;
|
||||
|
||||
/// <summary>
|
||||
/// Whether to check if the user is conscious or not. Can be used instead of <see cref="CheckCanInteract"/>
|
||||
/// for a more permissive check.
|
||||
/// </summary>
|
||||
[DataField] public bool CheckConsciousness = true;
|
||||
|
||||
/// <summary>
|
||||
/// If true, this will cause the action to only execute locally without ever notifying the server.
|
||||
/// </summary>
|
||||
@@ -177,6 +184,7 @@ public abstract class BaseActionComponentState : ComponentState
|
||||
public NetEntity? Container;
|
||||
public NetEntity? EntityIcon;
|
||||
public bool CheckCanInteract;
|
||||
public bool CheckConsciousness;
|
||||
public bool ClientExclusive;
|
||||
public int Priority;
|
||||
public NetEntity? AttachedEntity;
|
||||
@@ -204,6 +212,7 @@ public abstract class BaseActionComponentState : ComponentState
|
||||
MaxCharges = component.MaxCharges;
|
||||
RenewCharges = component.RenewCharges;
|
||||
CheckCanInteract = component.CheckCanInteract;
|
||||
CheckConsciousness = component.CheckConsciousness;
|
||||
ClientExclusive = component.ClientExclusive;
|
||||
Priority = component.Priority;
|
||||
AutoPopulate = component.AutoPopulate;
|
||||
|
||||
@@ -8,6 +8,7 @@ using Content.Shared.Hands;
|
||||
using Content.Shared.Interaction;
|
||||
using Content.Shared.Inventory.Events;
|
||||
using Content.Shared.Mind;
|
||||
using Content.Shared.Mobs.Components;
|
||||
using Robust.Shared.Audio.Systems;
|
||||
using Robust.Shared.Containers;
|
||||
using Robust.Shared.GameStates;
|
||||
@@ -370,6 +371,9 @@ public abstract class SharedActionsSystem : EntitySystem
|
||||
|
||||
BaseActionEvent? performEvent = null;
|
||||
|
||||
if (action.CheckConsciousness && !_actionBlockerSystem.CanConsciouslyPerformAction(user))
|
||||
return;
|
||||
|
||||
// Validate request by checking action blockers and the like:
|
||||
switch (action)
|
||||
{
|
||||
|
||||
@@ -15,6 +15,14 @@
|
||||
public EntityUid? Target { get; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Raised to determine whether an entity is conscious to perform an action.
|
||||
/// </summary>
|
||||
public sealed class ConsciousAttemptEvent(EntityUid Uid) : CancellableEntityEventArgs
|
||||
{
|
||||
public EntityUid Uid { get; } = Uid;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Event raised directed at the target entity of an interaction to see if the user is allowed to perform some
|
||||
/// generic interaction.
|
||||
|
||||
@@ -28,7 +28,7 @@ public partial class MobStateSystem
|
||||
SubscribeLocalEvent<MobStateComponent, ChangeDirectionAttemptEvent>(CheckAct);
|
||||
SubscribeLocalEvent<MobStateComponent, UseAttemptEvent>(CheckAct);
|
||||
SubscribeLocalEvent<MobStateComponent, AttackAttemptEvent>(CheckAct);
|
||||
SubscribeLocalEvent<MobStateComponent, InteractionAttemptEvent>(CheckAct);
|
||||
SubscribeLocalEvent<MobStateComponent, ConsciousAttemptEvent>(CheckAct);
|
||||
SubscribeLocalEvent<MobStateComponent, ThrowAttemptEvent>(CheckAct);
|
||||
SubscribeLocalEvent<MobStateComponent, SpeakAttemptEvent>(OnSpeakAttempt);
|
||||
SubscribeLocalEvent<MobStateComponent, IsEquippingAttemptEvent>(OnEquipAttempt);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Actions added to mobs in crit.
|
||||
# Actions added to mobs in crit.
|
||||
- type: entity
|
||||
id: ActionCritSuccumb
|
||||
name: Succumb
|
||||
@@ -8,6 +8,7 @@
|
||||
- type: InstantAction
|
||||
itemIconStyle: NoItem
|
||||
checkCanInteract: false
|
||||
checkConsciousness: false
|
||||
icon:
|
||||
sprite: Mobs/Ghosts/ghost_human.rsi
|
||||
state: icon
|
||||
@@ -22,6 +23,7 @@
|
||||
- type: InstantAction
|
||||
itemIconStyle: NoItem
|
||||
checkCanInteract: false
|
||||
checkConsciousness: false
|
||||
icon:
|
||||
sprite: Interface/Actions/actions_crit.rsi
|
||||
state: fakedeath
|
||||
@@ -37,6 +39,7 @@
|
||||
- type: InstantAction
|
||||
itemIconStyle: NoItem
|
||||
checkCanInteract: false
|
||||
checkConsciousness: false
|
||||
icon:
|
||||
sprite: Interface/Actions/actions_crit.rsi
|
||||
state: lastwords
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
icon: Mobs/Species/Diona/organs.rsi/brain.png
|
||||
event: !type:GibActionEvent {}
|
||||
checkCanInteract: false
|
||||
checkConsciousness: false
|
||||
|
||||
- type: entity
|
||||
id: DionaReformAction
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
components:
|
||||
- type: InstantAction
|
||||
checkCanInteract: false
|
||||
checkConsciousness: false
|
||||
icon: Interface/Actions/zombie-turn.png
|
||||
event: !type:ZombifySelfActionEvent
|
||||
|
||||
@@ -66,6 +67,7 @@
|
||||
components:
|
||||
- type: InstantAction
|
||||
checkCanInteract: false
|
||||
checkConsciousness: false
|
||||
itemIconStyle: BigAction
|
||||
priority: -20
|
||||
icon:
|
||||
@@ -82,6 +84,7 @@
|
||||
components:
|
||||
- type: InstantAction
|
||||
checkCanInteract: false
|
||||
checkConsciousness: false
|
||||
itemIconStyle: BigAction
|
||||
priority: -20
|
||||
icon:
|
||||
@@ -143,6 +146,7 @@
|
||||
noSpawn: true
|
||||
components:
|
||||
- type: InstantAction
|
||||
checkCanInteract: false
|
||||
charges: 2
|
||||
useDelay: 5
|
||||
itemIconStyle: BigAction
|
||||
@@ -186,6 +190,7 @@
|
||||
components:
|
||||
- type: InstantAction
|
||||
checkCanInteract: false
|
||||
checkConsciousness: false
|
||||
icon: Interface/Actions/harmOff.png
|
||||
iconOn: Interface/Actions/harm.png
|
||||
event: !type:ToggleCombatActionEvent
|
||||
@@ -256,6 +261,7 @@
|
||||
- type: InstantAction
|
||||
clientExclusive: true
|
||||
checkCanInteract: false
|
||||
checkConsciousness: false
|
||||
temporary: true
|
||||
icon: { sprite: Objects/Tools/multitool.rsi, state: icon }
|
||||
event: !type:ClearAllOverlaysEvent
|
||||
@@ -279,6 +285,7 @@
|
||||
components:
|
||||
- type: InstantAction
|
||||
checkCanInteract: false
|
||||
checkConsciousness: false
|
||||
icon: { sprite: Clothing/Head/Hats/pyjamasyndicatered.rsi, state: icon }
|
||||
event: !type:SleepActionEvent
|
||||
|
||||
@@ -291,6 +298,7 @@
|
||||
- type: InstantAction
|
||||
icon: { sprite: Clothing/Head/Hats/pyjamasyndicatered.rsi, state: icon }
|
||||
checkCanInteract: false
|
||||
checkConsciousness: false
|
||||
event: !type:WakeActionEvent
|
||||
|
||||
- type: entity
|
||||
@@ -328,6 +336,7 @@
|
||||
event: !type:ToggleEyesActionEvent
|
||||
useDelay: 1 # so u cant give yourself and observers eyestrain by rapidly spamming the action
|
||||
checkCanInteract: false
|
||||
checkConsciousness: false
|
||||
|
||||
- type: entity
|
||||
id: ActionToggleWagging
|
||||
|
||||
@@ -255,3 +255,4 @@
|
||||
event: !type:GuardianToggleActionEvent
|
||||
useDelay: 2
|
||||
checkCanInteract: false
|
||||
checkConsciousness: false
|
||||
|
||||
@@ -138,6 +138,7 @@
|
||||
components:
|
||||
- type: InstantAction
|
||||
checkCanInteract: false
|
||||
checkConsciousness: false
|
||||
icon: Interface/Actions/pai-midi.png
|
||||
event: !type:OpenUiActionEvent
|
||||
key: enum.InstrumentUiKey.Key
|
||||
@@ -150,6 +151,7 @@
|
||||
components:
|
||||
- type: InstantAction
|
||||
checkCanInteract: false
|
||||
checkConsciousness: false
|
||||
icon: { sprite: Interface/Actions/pai-map.rsi, state: icon }
|
||||
event: !type:OpenUiActionEvent
|
||||
key: enum.StationMapUiKey.Key
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
entity: ReinforcedWindow
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -17,6 +18,7 @@
|
||||
entity: WallSolid
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -31,6 +33,7 @@
|
||||
entity: WallReinforced
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -45,6 +48,7 @@
|
||||
entity: Window
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -59,6 +63,7 @@
|
||||
entity: Firelock
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -73,6 +78,7 @@
|
||||
entity: Grille
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -86,6 +92,7 @@
|
||||
icon: Interface/VerbIcons/delete.svg.192dpi.png
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -104,6 +111,7 @@
|
||||
entity: GasPipeStraight
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -118,6 +126,7 @@
|
||||
entity: GasPipeBend
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -132,6 +141,7 @@
|
||||
entity: GasPipeTJunction
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -146,6 +156,7 @@
|
||||
entity: GasPipeFourway
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -160,6 +171,7 @@
|
||||
entity: GasVentScrubber
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -174,6 +186,7 @@
|
||||
entity: GasVentPump
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -188,6 +201,7 @@
|
||||
entity: AirAlarm
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -202,6 +216,7 @@
|
||||
entity: FireAlarm
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -216,6 +231,7 @@
|
||||
entity: APCBasic
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -230,6 +246,7 @@
|
||||
entity: CableApcExtension
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -244,6 +261,7 @@
|
||||
entity: CableMV
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -258,6 +276,7 @@
|
||||
entity: CableHV
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -272,6 +291,7 @@
|
||||
entity: SubstationBasic
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -286,6 +306,7 @@
|
||||
entity: Poweredlight
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -300,6 +321,7 @@
|
||||
entity: EmergencyLight
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -314,6 +336,7 @@
|
||||
entity: SMESBasic
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -328,6 +351,7 @@
|
||||
entity: TableWood
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -342,6 +366,7 @@
|
||||
entity: Table
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -356,6 +381,7 @@
|
||||
entity: ChairWood
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -370,6 +396,7 @@
|
||||
entity: Chair
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -384,6 +411,7 @@
|
||||
entity: ChairOfficeLight
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -398,6 +426,7 @@
|
||||
entity: StoolBar
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -412,6 +441,7 @@
|
||||
entity: Stool
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -426,6 +456,7 @@
|
||||
entity: Rack
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -440,6 +471,7 @@
|
||||
entity: ChairOfficeDark
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -454,6 +486,7 @@
|
||||
entity: LampGold
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -468,6 +501,7 @@
|
||||
entity: DisposalPipe
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -482,6 +516,7 @@
|
||||
entity: DisposalBend
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -496,6 +531,7 @@
|
||||
entity: DisposalJunction
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -510,6 +546,7 @@
|
||||
entity: DisposalJunctionFlipped
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -524,6 +561,7 @@
|
||||
entity: DisposalRouter
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -538,6 +576,7 @@
|
||||
entity: DisposalRouterFlipped
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -552,6 +591,7 @@
|
||||
entity: DisposalUnit
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -566,6 +606,7 @@
|
||||
entity: DisposalTrunk
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -580,6 +621,7 @@
|
||||
entity: SignDisposalSpace
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -594,6 +636,7 @@
|
||||
entity: Windoor
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -608,6 +651,7 @@
|
||||
entity: WindowDirectional
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -622,6 +666,7 @@
|
||||
entity: WindowReinforcedDirectional
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -636,6 +681,7 @@
|
||||
entity: PlasmaWindowDirectional
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -650,6 +696,7 @@
|
||||
entity: Railing
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -664,6 +711,7 @@
|
||||
entity: RailingCorner
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -678,6 +726,7 @@
|
||||
entity: RailingCornerSmall
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -693,6 +742,7 @@
|
||||
name: RailingRound
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -706,6 +756,7 @@
|
||||
entity: AirlockMaintLocked
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -720,6 +771,7 @@
|
||||
entity: AirlockGlass
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -734,6 +786,7 @@
|
||||
entity: AirlockServiceLocked
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -748,6 +801,7 @@
|
||||
entity: AirlockSecurityLocked
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -762,6 +816,7 @@
|
||||
entity: AirlockCommand
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -776,6 +831,7 @@
|
||||
entity: AirlockScience
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -790,6 +846,7 @@
|
||||
entity: AirlockMedical
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -804,6 +861,7 @@
|
||||
entity: AirlockEngineering
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -818,6 +876,7 @@
|
||||
entity: AirlockCargo
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -837,6 +896,7 @@
|
||||
state: bot_left
|
||||
iconColor: '#EFB34196'
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -857,6 +917,7 @@
|
||||
state: delivery
|
||||
iconColor: '#EFB34196'
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -877,6 +938,7 @@
|
||||
state: warn_full
|
||||
iconColor: '#EFB34196'
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -897,6 +959,7 @@
|
||||
state: halftile_overlay
|
||||
iconColor: '#EFB34196'
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -917,6 +980,7 @@
|
||||
state: halftile_overlay
|
||||
iconColor: '#334E6DC8'
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -937,6 +1001,7 @@
|
||||
state: halftile_overlay
|
||||
iconColor: '#52B4E996'
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -957,6 +1022,7 @@
|
||||
state: halftile_overlay
|
||||
iconColor: '#9FED5896'
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -977,6 +1043,7 @@
|
||||
state: halftile_overlay
|
||||
iconColor: '#DE3A3A96'
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -997,6 +1064,7 @@
|
||||
state: halftile_overlay
|
||||
iconColor: '#D381C996'
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -1017,6 +1085,7 @@
|
||||
state: halftile_overlay
|
||||
iconColor: '#A4610696'
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -1031,6 +1100,7 @@
|
||||
icon: /Textures/Tiles/steel.png
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -1044,6 +1114,7 @@
|
||||
icon: /Textures/Tiles/plating.png
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
@@ -1059,6 +1130,7 @@
|
||||
icon: /Textures/Tiles/cropped_parallax.png
|
||||
keywords: []
|
||||
checkCanInteract: False
|
||||
checkConsciousness: False
|
||||
clientExclusive: True
|
||||
autoPopulate: False
|
||||
temporary: True
|
||||
|
||||
Reference in New Issue
Block a user