Мягкий свет для всякого (#316)

* add: add small soft light to laser weapon + fix the bluest blue energy shield

* git commit

* boltlights done

* add: HuetaSystem

* add: Doorlights finally done

* add: small light to lockers

* add: small light to multitool

* fix: fix naming

* hui pizde

* fix: fix parasha

* add: small light to powercells

* zabil

* add: code light to welders

* tweak: better energy and radius

* add: better color parameters

* add: less radius and energy for guns

* add: better lights for vending machines

* add: better light to consoles

* add: better light for apc

* shut up

* fix: thank you neuro colleague
This commit is contained in:
ThereDrD0
2024-06-21 06:15:55 +03:00
committed by GitHub
parent 17eb97b3ac
commit 4419931172
27 changed files with 554 additions and 118 deletions

View File

@@ -1,5 +1,4 @@
using Content.Client.Wires.Visualizers;
using Content.Shared.Doors;
using Content.Shared.Doors.Components;
using Content.Shared.Doors.Systems;
using Robust.Client.Animations;
@@ -17,7 +16,7 @@ public sealed class AirlockSystem : SharedAirlockSystem
SubscribeLocalEvent<AirlockComponent, ComponentStartup>(OnComponentStartup);
SubscribeLocalEvent<AirlockComponent, AppearanceChangeEvent>(OnAppearanceChange);
}
private void OnComponentStartup(EntityUid uid, AirlockComponent comp, ComponentStartup args)
{
// Has to be on component startup because we don't know what order components initialize in and running this before DoorComponent inits _will_ crash.
@@ -113,6 +112,7 @@ public sealed class AirlockSystem : SharedAirlockSystem
args.Sprite.LayerSetVisible(DoorVisualLayers.BaseUnlit, unlitVisible);
args.Sprite.LayerSetVisible(DoorVisualLayers.BaseBolted, boltedVisible);
if (comp.EmergencyAccessLayer)
{
args.Sprite.LayerSetVisible(

View File

@@ -339,9 +339,9 @@ public sealed partial class GunSystem : SharedGunSystem
}
Lights.SetEnabled(uid, true, light);
Lights.SetRadius(uid, 2f, light);
Lights.SetRadius(uid, 1.4f, light);
Lights.SetColor(uid, Color.FromHex("#cc8e2b"), light);
Lights.SetEnergy(uid, 5f, light);
Lights.SetEnergy(uid, 0.7f, light);
var animTwo = new Animation()
{

View File

@@ -0,0 +1,24 @@
using Content.Server.Power.Components;
using Content.Shared._White.Lighting;
using Content.Shared._White.Lighting.PointLight.Airlock;
using Content.Shared.Doors.Components;
namespace Content.Server._White.Lighting.Pointlight.Airlock;
public sealed class PointLightAirlockSystem : EntitySystem
{
public override void Initialize()
{
base.Initialize();
SubscribeLocalEvent<PointLightAirlockComponent, PowerChangedEvent>(OnPowerChanged);
}
private void OnPowerChanged(EntityUid uid, PointLightAirlockComponent component, PowerChangedEvent args)
{
if (!TryComp<DoorComponent>(uid, out var door))
return;
RaiseLocalEvent(uid, new DoorlightsChangedEvent(args.Powered ? door.State : null, args.Powered), true);
}
}

View File

@@ -1,4 +1,4 @@
namespace Content.Server._White.Lighting;
namespace Content.Server._White.Lighting.Pointlight.Battery;
[RegisterComponent]
public sealed partial class PointLightBatteryComponent : Component

View File

@@ -1,8 +1,10 @@
using Content.Shared.Lightning;
using Content.Server.Power.Components;
using Content.Shared.Lightning;
using Content.Shared.PowerCell;
using Content.Shared.PowerCell.Components;
using Content.Shared.Weapons.Ranged.Components;
namespace Content.Server._White.Lighting;
namespace Content.Server._White.Lighting.Pointlight.Battery;
public sealed class PointLightBatterySystem : SharedLightningSystem
{
@@ -12,6 +14,7 @@ public sealed class PointLightBatterySystem : SharedLightningSystem
{
base.Initialize();
SubscribeLocalEvent<PointLightBatteryComponent, PowerCellChangedEvent>(OnBatteryLoose);
SubscribeLocalEvent<PointLightBatteryComponent, ChargeChangedEvent>(OnBatteryChargeChanged);
}
private void OnBatteryLoose(EntityUid uid, PointLightBatteryComponent component, PowerCellChangedEvent args)
@@ -27,4 +30,18 @@ public sealed class PointLightBatterySystem : SharedLightningSystem
RaiseLocalEvent(uid, new PointLightToggleEvent(isBatteryCharged && !args.Ejected), true);
}
private void OnBatteryChargeChanged(EntityUid uid, PointLightBatteryComponent component, ChargeChangedEvent args)
{
if (!component.RequireBattery)
return;
if (!_pointLightSystem.TryGetLight(uid, out var pointLightComponent))
return;
var isBatteryCharged = TryComp<ProjectileBatteryAmmoProviderComponent>(uid, out var projectileBattery) && projectileBattery.Shots > 0;
_pointLightSystem.SetEnabled(uid, isBatteryCharged, pointLightComponent);
RaiseLocalEvent(uid, new PointLightToggleEvent(isBatteryCharged), true);
}
}

View File

@@ -0,0 +1,63 @@
using Content.Server.Power.Components;
using Content.Shared.PowerCell;
using Content.Shared.Rounding;
namespace Content.Server._White.Lighting.PointLight.RealBattery;
public sealed class PointLightRealBatterySystem : EntitySystem
{
[Dependency] private readonly SharedPointLightSystem _pointLightSystem = default!;
public override void Initialize()
{
base.Initialize();
SubscribeLocalEvent<PointLightRealBatteryComponent, ChargeChangedEvent>(OnChargeChanged);
SubscribeLocalEvent<PointLightRealBatteryComponent, ComponentInit>(OnComponentInit);
}
public void ToggleLight(EntityUid uid, string hex, bool enable = true)
{
if (!_pointLightSystem.TryGetLight(uid, out var pointLightComponent))
return;
if (enable)
{
var color = Color.FromHex(hex);
_pointLightSystem.SetColor(uid, color, pointLightComponent);
}
_pointLightSystem.SetEnabled(uid, enable, pointLightComponent);
RaiseLocalEvent(uid, new PointLightToggleEvent(enable), true);
}
public void OnComponentInit(EntityUid uid, PointLightRealBatteryComponent component, ComponentInit args)
{
if (!TryComp<BatteryComponent>(uid, out var battery))
return;
var ev = new ChargeChangedEvent(battery.CurrentCharge, battery.MaxCharge);
RaiseLocalEvent(uid, ref ev);
}
public void OnChargeChanged(EntityUid uid, PointLightRealBatteryComponent component, ChargeChangedEvent args)
{
var frac = args.Charge / args.MaxCharge;
var level = (byte) ContentHelpers.RoundToNearestLevels(frac, 1, PowerCellComponent.PowerCellVisualsLevels);
switch (level)
{
case 2:
ToggleLight(uid, component.GreenColor);
break;
case 1:
ToggleLight(uid, component.YellowColor);
break;
case 0:
ToggleLight(uid, string.Empty, false);
break;
}
}
}

View File

@@ -0,0 +1,15 @@
namespace Content.Server._White.Lighting.PointLight.RealBattery;
[RegisterComponent]
public sealed partial class PointLightRealBatteryComponent : Component
{
[DataField, ViewVariables]
public string RedColor = "#D56C6C";
[DataField, ViewVariables]
public string GreenColor = "#7FC080";
[DataField, ViewVariables]
public string YellowColor = "#BDC07F";
}

View File

@@ -1,3 +1,4 @@
using Content.Shared._White.Lighting;
using Content.Shared.Doors.Components;
using Content.Shared.Popups;
using Content.Shared.Prying.Components;
@@ -120,6 +121,7 @@ public abstract class SharedAirlockSystem : EntitySystem
public void UpdateEmergencyLightStatus(EntityUid uid, AirlockComponent component)
{
RaiseLocalEvent(uid, new DoorlightsChangedEvent(DoorVisuals.EmergencyLights, component.EmergencyAccess));
Appearance.SetData(uid, DoorVisuals.EmergencyLights, component.EmergencyAccess);
}

View File

@@ -1,3 +1,4 @@
using Content.Shared._White.Lighting;
using Content.Shared.Doors.Components;
using Content.Shared.Prying.Components;
@@ -55,7 +56,8 @@ public abstract partial class SharedDoorSystem
public void UpdateBoltLightStatus(Entity<DoorBoltComponent> ent)
{
AppearanceSystem.SetData(ent, DoorVisuals.BoltLights, GetBoltLightsVisible(ent));
var value = GetBoltLightsVisible(ent);
AppearanceSystem.SetData(ent, DoorVisuals.BoltLights, value);
}
public bool GetBoltLightsVisible(Entity<DoorBoltComponent> ent)
@@ -84,6 +86,8 @@ public abstract partial class SharedDoorSystem
Dirty(ent, ent.Comp);
UpdateBoltLightStatus(ent);
RaiseLocalEvent(ent, new DoorlightsChangedEvent(DoorVisuals.BoltLights, value), true);
var sound = value ? ent.Comp.BoltDownSound : ent.Comp.BoltUpSound;
if (predicted)
Audio.PlayPredicted(sound, ent, user: user);

View File

@@ -1,6 +1,7 @@
using System.Linq;
using Content.Shared._White.Cult.Structures;
using Content.Shared._White.Keyhole.Components;
using Content.Shared._White.Lighting;
using Content.Shared.Access.Components;
using Content.Shared.Access.Systems;
using Content.Shared.Administration.Logs;
@@ -116,6 +117,8 @@ public abstract partial class SharedDoorSystem : EntitySystem
|| door.State == DoorState.Opening && !door.Partial;
SetCollidable(ent, collidable, door);
RaiseLocalEvent(ent, new DoorlightsChangedEvent(door.State, true), true);
AppearanceSystem.SetData(ent, DoorVisuals.State, door.State);
}
@@ -164,6 +167,8 @@ public abstract partial class SharedDoorSystem : EntitySystem
_activeDoors.Add(ent);
RaiseLocalEvent(ent, new DoorStateChangedEvent(door.State));
RaiseLocalEvent(ent, new DoorlightsChangedEvent(door.State, true), true);
AppearanceSystem.SetData(ent, DoorVisuals.State, door.State);
}
@@ -212,7 +217,10 @@ public abstract partial class SharedDoorSystem : EntitySystem
door.State = state;
Dirty(uid, door);
RaiseLocalEvent(uid, new DoorStateChangedEvent(state));
RaiseLocalEvent(uid, new DoorlightsChangedEvent(door.State, true), true);
AppearanceSystem.SetData(uid, DoorVisuals.State, door.State);
return true;
}
@@ -516,6 +524,8 @@ public abstract partial class SharedDoorSystem : EntitySystem
{
door.NextStateChange = GameTiming.CurTime + door.OpenTimeTwo;
door.State = DoorState.Opening;
RaiseLocalEvent(uid, new DoorlightsChangedEvent(door.State, true), true);
AppearanceSystem.SetData(uid, DoorVisuals.State, DoorState.Opening);
return false;
}

View File

@@ -0,0 +1,13 @@
namespace Content.Shared._White.Lighting;
public sealed class DoorlightsChangedEvent : EntityEventArgs
{
public Enum? State;
public bool Value;
public DoorlightsChangedEvent(Enum? key, bool value)
{
State = key;
Value = value;
}
}

View File

@@ -0,0 +1,19 @@
using Robust.Shared.GameStates;
namespace Content.Shared._White.Lighting.PointLight.Airlock;
[RegisterComponent, NetworkedComponent]
public sealed partial class PointLightAirlockComponent : Component
{
[ViewVariables]
public string RedColor = "#D56C6C";
[ViewVariables]
public string BlueColor = "#7F93C0";
[ViewVariables]
public string YellowColor = "#BDC07F";
[ViewVariables]
public string GreenColor = "#7FC080";
}

View File

@@ -0,0 +1,83 @@
using Content.Shared.Doors.Components;
namespace Content.Shared._White.Lighting.PointLight.Airlock;
//TODO: Когда-нибудь починить эту хуйню: Когда дверь открыта на аварийный доступ и ее болтируют, то свет будет желтым, хотя должен быть красным из-за болтов.
public sealed class SharedPointLightAirlockSystem : EntitySystem
{
[Dependency] private readonly SharedPointLightSystem _pointLightSystem = default!;
public override void Initialize()
{
base.Initialize();
SubscribeLocalEvent<PointLightAirlockComponent, DoorlightsChangedEvent>(OnDoorLightChanged);
}
public void ToggleLight(EntityUid uid, string hex, bool enable = true)
{
if (!_pointLightSystem.TryGetLight(uid, out var pointLightComponent))
return;
if (enable)
{
var color = Color.FromHex(hex);
_pointLightSystem.SetColor(uid, color, pointLightComponent);
}
_pointLightSystem.SetEnabled(uid, enable, pointLightComponent);
RaiseLocalEvent(uid, new PointLightToggleEvent(enable), true);
}
public void OnDoorLightChanged(EntityUid uid, PointLightAirlockComponent component, DoorlightsChangedEvent args)
{
if (!TryComp<DoorComponent>(uid, out var door))
return;
if (TryComp<AirlockComponent>(uid, out var airlockComponent) && airlockComponent.EmergencyAccess && args.Value && args.State is not DoorVisuals.EmergencyLights && args.State != null)
return; // While emergency access lights must be yellow no matter what
switch (args.State)
{
case DoorVisuals.BoltLights:
if (args.Value)
ToggleLight(uid, component.RedColor);
else
RaiseLocalEvent(uid, new DoorlightsChangedEvent(door.State, true));
break;
case DoorState.Denying:
ToggleLight(uid, component.RedColor);
break;
case DoorState.Closed:
ToggleLight(uid, component.BlueColor);
break;
case DoorVisuals.EmergencyLights:
if (args.Value)
ToggleLight(uid, component.YellowColor);
else
RaiseLocalEvent(uid, new DoorlightsChangedEvent(door.State, true));
break;
case DoorState.Open:
ToggleLight(uid, component.BlueColor);
break;
case DoorState.Opening:
ToggleLight(uid, component.GreenColor);
break;
case DoorState.Closing:
ToggleLight(uid, component.GreenColor);
break;
default:
ToggleLight(uid, "", false);
break;
}
}
}

View File

@@ -0,0 +1,19 @@
using Robust.Shared.GameStates;
namespace Content.Shared._White.Lighting.PointLight.Locker;
[RegisterComponent, NetworkedComponent]
public sealed partial class PointLightLockerComponent : Component
{
[DataField, ViewVariables]
public string RedColor = "#D56C6C";
[DataField, ViewVariables]
public string GreenColor = "#7FC080";
[DataField, ViewVariables]
public float ReduceEnergyOnOpen = 0.1f;
[DataField, ViewVariables]
public float ReduceRadiusOnOpen = 0.1f;
}

View File

@@ -0,0 +1,70 @@
using Content.Shared.Lock;
using Content.Shared.Storage.Components;
namespace Content.Shared._White.Lighting.PointLight.Locker;
public sealed class PointLightLockerSystem : EntitySystem
{
[Dependency] private readonly SharedPointLightSystem _pointLightSystem = default!;
public override void Initialize()
{
base.Initialize();
SubscribeLocalEvent<PointLightLockerComponent, ComponentInit>(OnComponentInit);
SubscribeLocalEvent<PointLightLockerComponent, LockToggledEvent>(OnLockToggled);
SubscribeLocalEvent<PointLightLockerComponent, StorageAfterOpenEvent>(OnStorageAfterOpen);
SubscribeLocalEvent<PointLightLockerComponent, StorageAfterCloseEvent>(OnStorageAfterClose);
}
public void ToggleLight(EntityUid uid, string hex, bool enable = true)
{
if (!_pointLightSystem.TryGetLight(uid, out var pointLightComponent))
return;
if (enable)
{
var color = Color.FromHex(hex);
_pointLightSystem.SetColor(uid, color, pointLightComponent);
}
_pointLightSystem.SetEnabled(uid, enable, pointLightComponent);
RaiseLocalEvent(uid, new PointLightToggleEvent(enable), true);
}
public void OnComponentInit(EntityUid uid, PointLightLockerComponent component, ComponentInit args)
{
if (!TryComp<LockComponent>(uid, out var locker))
return;
ToggleLight(uid, locker.Locked ? component.RedColor : component.GreenColor, true);
}
public void OnLockToggled(EntityUid uid, PointLightLockerComponent component, LockToggledEvent args)
{
ToggleLight(uid, args.Locked ? component.RedColor : component.GreenColor, true);
}
public void OnStorageAfterOpen(EntityUid uid, PointLightLockerComponent component, StorageAfterOpenEvent args)
{
ChangeLightOnDoorToggled(uid, component, true);
}
public void OnStorageAfterClose(EntityUid uid, PointLightLockerComponent component, StorageAfterCloseEvent args)
{
ChangeLightOnDoorToggled(uid, component, false);
}
public void ChangeLightOnDoorToggled(EntityUid uid, PointLightLockerComponent component, bool status)
{
if (!_pointLightSystem.TryGetLight(uid, out var pointLightComponent))
return;
var factor = status ? 1f : -1f;
_pointLightSystem.SetEnergy(uid, pointLightComponent.Energy - component.ReduceEnergyOnOpen * factor);
_pointLightSystem.SetRadius(uid, pointLightComponent.Radius- component.ReduceRadiusOnOpen * factor);
RaiseLocalEvent(uid, new PointLightToggleEvent(true), true);
}
}

View File

@@ -37,6 +37,12 @@
- type: ProjectileBatteryAmmoProvider
proto: BulletTrailLaserLight
fireCost: 50
- type: PointLight
enabled: false
color: "#7FC080"
radius: 1.05
energy: 0.3
- type: PointLightRealBattery
- type: entity
name: potato battery
@@ -57,6 +63,10 @@
- type: Construction
graph: PowerCellPotato
node: potatobattery
- type: PointLight
enabled: false
radius: 1 # Костыльный путь отрубить свет
energy: 1
- type: entity
name: small-capacity power cell
@@ -122,6 +132,7 @@
part: PowerCell
rating: 2
- type: entity
id: PowerCellMediumPrinted
suffix: Empty
@@ -301,6 +312,11 @@
walkModifier: 0.8
sprintModifier: 0.8
- type: HeldSpeedModifier
- type: PointLight
enabled: false
color: "#7FC080"
radius: 1.2
energy: 0.5
- type: entity
id: PowerCageSmall

View File

@@ -455,8 +455,8 @@
netsync: false
enabled: false
radius: 1.5
energy: 2
color: blue
energy: 0.7
color: "#678AD9"
- type: Reflect
enabled: false
reflectProb: 1

View File

@@ -272,6 +272,10 @@
Plastic: 100
- type: StaticPrice
price: 56
- type: PointLight
color: "#7FC080"
radius: 1.05
energy: 0.3
- type: entity
name: network configurator
@@ -395,13 +399,13 @@
description: The rapid construction device can be used to quickly place and remove various station structures and fixtures. Requires compressed matter to function.
components:
- type: RCD
availablePrototypes:
availablePrototypes:
- WallSolid
- FloorSteel
- Plating
- Catwalk
- Grille
- Window
- Window
- WindowDirectional
- WindowReinforcedDirectional
- ReinforcedWindow
@@ -450,7 +454,7 @@
- type: LimitedCharges
charges: 0
- type: RCD
availablePrototypes:
availablePrototypes:
- WallSolid
- FloorSteel
- Plating

View File

@@ -99,8 +99,11 @@
- type: Welder
- type: PointLight
enabled: false
radius: 1.5
radius: 1.4
energy: 0.5
color: orange
mask: /Textures/Effects/LightMasks/cone.png
autoRot: true
netsync: false
- type: Appearance
- type: RequiresEyeProtection
@@ -181,7 +184,11 @@
- type: PointLight
enabled: false
radius: 1.5
energy: 0.7
color: lightblue
mask: /Textures/Effects/LightMasks/cone.png
autoRot: true
netsync: false
- type: SolutionRegeneration
solution: Welder
generated:
@@ -213,5 +220,9 @@
speed: 0.7
- type: PointLight
enabled: false
radius: 1.0
radius: 0.9
energy: 0.5
color: orange
mask: /Textures/Effects/LightMasks/cone.png
autoRot: true
netsync: false

View File

@@ -1,3 +1,9 @@
# Colors for pointlight
# BDC07F - yellow
# 7FC080 - green
# C07F7F - red
# 7F93C0 - blue
- type: entity
id: BaseWeaponBattery
parent: BaseItem
@@ -132,6 +138,11 @@
magState: mag
steps: 5
zeroVisible: true
- type: PointLightBattery
- type: PointLight
radius: 1.3
energy: 0.15
color: "#BDC07F"
- type: entity
name: retro laser blaster
@@ -155,6 +166,11 @@
steps: 5
zeroVisible: true
- type: Appearance
- type: PointLightBattery
- type: PointLight
radius: 1.3
energy: 0.15
color: "#C07F7F"
- type: entity
name: makeshift laser pistol
@@ -175,6 +191,11 @@
- type: ProjectileBatteryAmmoProvider
proto: BulletTrailLaser
fireCost: 125
- type: PointLightBattery
- type: PointLight
radius: 1.3
energy: 0.15
color: "#7FC080"
- type: entity
name: tesla gun
@@ -230,6 +251,11 @@
- type: ProjectileBatteryAmmoProvider
proto: BulletTrailLaser
fireCost: 62.5
- type: PointLightBattery
- type: PointLight
radius: 1.3
energy: 0.15
color: "#7FC080"
- type: entity
name: practice laser rifle
@@ -265,6 +291,11 @@
- SemiAuto
soundGunshot:
path: /Audio/Weapons/Guns/Gunshots/laser_cannon.ogg
- type: PointLightBattery
- type: PointLight
radius: 1.3
energy: 0.15
color: "#7F93C0"
- type: ProjectileBatteryAmmoProvider
proto: PulseBoltProjectile
fireCost: 100
@@ -302,6 +333,11 @@
- FullAuto
soundGunshot:
path: /Audio/Weapons/Guns/Gunshots/laser_cannon.ogg
- type: PointLightBattery
- type: PointLight
radius: 1.3
energy: 0.15
color: "#7F93C0"
- type: ProjectileBatteryAmmoProvider
proto: PulseBoltProjectile
fireCost: 40
@@ -335,6 +371,11 @@
fireRate: 1.5
soundGunshot:
path: /Audio/Weapons/Guns/Gunshots/laser3.ogg
- type: PointLightBattery
- type: PointLight
radius: 1.3
energy: 0.15
color: "#7F93C0"
- type: ProjectileBatteryAmmoProvider
proto: PulseBoltProjectile
fireCost: 2.5
@@ -371,6 +412,11 @@
- type: ProjectileBatteryAmmoProvider
proto: BulletTrailLaserHeavy
fireCost: 100
- type: PointLightBattery
- type: PointLight
radius: 1.3
energy: 0.15
color: "#C07F7F"
- type: entity
name: portable particle decelerator
@@ -607,6 +653,11 @@
price: 750
- type: StealTarget
stealGroup: WeaponAntiqueLaser
- type: PointLightBattery
- type: PointLight
radius: 1.3
energy: 0.15
color: "#C07F7F"
- type: entity
name: advanced laser pistol
@@ -642,6 +693,11 @@
- type: Appearance
- type: StaticPrice
price: 63
- type: PointLightBattery
- type: PointLight
radius: 1.3
energy: 0.15
color: "#C07F7F"
- type: entity
name: C.H.I.M.P. handcannon

View File

@@ -798,7 +798,7 @@
muzzleFlash: null
- type: PointLight
radius: 3.5
color: blue
color: "#164CAC"
energy: 0.5
- type: entity
@@ -1090,9 +1090,9 @@
- 1, 0, 0, 1
- 1, 0, 0, 0
- type: PointLight
radius: 3.5
radius: 1.4
color: red
energy: 1
energy: 0.7
- type: Reflective
reflective:
- Energy
@@ -1166,9 +1166,9 @@
- 1, 0, 0, 1
- 1, 0, 0, 0
- type: PointLight
radius: 3.5
radius: 1.4
color: red
energy: 1
energy: 0.7
- type: Reflective
reflective:
- Energy
@@ -1217,9 +1217,9 @@
- 0, 0, 1, 1
- 0, 0, 1, 0
- type: PointLight
radius: 3.5
color: blue
energy: 1
radius: 1.7
color: "#164CAC"
energy: 0.7
- type: Reflective
reflective:
- Energy
@@ -1267,9 +1267,9 @@
- 1, 0, 0, 1
- 1, 0, 0, 0
- type: PointLight
radius: 3.5
radius: 1.9
color: red
energy: 1
energy: 0.7
- type: Reflective
reflective:
- Energy
@@ -1317,9 +1317,9 @@
- 0, 1, 0, 1
- 0, 1, 0, 0
- type: PointLight
radius: 3.5
radius: 1.7
color: green
energy: 1
energy: 0.7
- type: Reflective
reflective:
- Energy
@@ -1367,9 +1367,9 @@
- 1, 0, 0, 1
- 1, 0, 0, 0
- type: PointLight
radius: 3.5
radius: 1.7
color: red
energy: 1
energy: 0.7
- type: Reflective
reflective:
- Energy

View File

@@ -62,7 +62,7 @@
- type: PointLight
enabled: false
radius: 2
energy: 2
energy: 0.6
color: white
netsync: false
- type: Appearance

View File

@@ -116,7 +116,7 @@
- type: RCDDeconstructable
cost: 6
delay: 8
fx: EffectRCDDeconstruct8
fx: EffectRCDDeconstruct8
- type: Destructible
thresholds:
- trigger:
@@ -149,9 +149,15 @@
# This tag is used to nagivate the Airlock construction graph. It's needed because the construction graph is shared between Airlock, AirlockGlass, and HighSecDoor
- type: PryUnpowered
- type: BlockWeather
- type: PointLight
enabled: false
radius: 1.5
energy: 0.7
- type: PointLightAirlock
placement:
mode: SnapgridCenter
- type: entity
id: AirlockRCDResistant
parent: Airlock
@@ -200,4 +206,4 @@
- type: Tag
tags:
- GlassAirlock
# This tag is used to nagivate the Airlock construction graph. It's needed because the construction graph is shared between Airlock, AirlockGlass, and HighSecDoor
# This tag is used to nagivate the Airlock construction graph. It's needed because the construction graph is shared between Airlock, AirlockGlass, and HighSecDoor

View File

@@ -42,8 +42,8 @@
False: { visible: true, shader: shaded }
- type: LitOnPowered
- type: PointLight
radius: 1.5
energy: 1.6
radius: 1.6
energy: 0.7
enabled: false
mask: /Textures/Effects/LightMasks/cone.png
autoRot: true

View File

@@ -88,8 +88,8 @@
usesApcPower: true
- type: PointLight
enabled: false
castShadows: false
radius: 1.5
radius: 1.3
energy: 0.7
- type: LitOnPowered
- type: ApcPowerReceiver
powerLoad: 200
@@ -221,8 +221,8 @@
- state: panel
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: PointLight
radius: 1
energy: 1.3
radius: 1.3
energy: 0.7
color: "#ffb0b0"
- type: AccessReader
access: [["HeadOfPersonnel"]]
@@ -256,8 +256,8 @@
- type: AccessReader
access: [["Service"]]
- type: PointLight
radius: 1.5
energy: 1.6
radius: 1.3
energy: 0.7
color: "#4b93ad"
- type: entity
@@ -324,8 +324,8 @@
- state: panel
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: PointLight
radius: 1.8
energy: 1.6
radius: 1.3
energy: 0.7
color: "#3db83b"
- type: CargoSellBlacklist
@@ -361,8 +361,8 @@
- state: panel
map: [ "enum.WiresVisualLayers.MaintenancePanel" ]
- type: PointLight
radius: 1.8
energy: 1.6
radius: 1.3
energy: 0.7
color: "#3db83b"
- type: entity
@@ -403,8 +403,8 @@
- state: panel
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: PointLight
radius: 1.5
energy: 1.3
radius: 1.3
energy: 0.7
color: "#ad7c4b"
- type: entity
@@ -440,8 +440,8 @@
- state: panel
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: PointLight
radius: 1.5
energy: 1.6
radius: 1.3
energy: 0.7
color: "#3c5eb5"
- type: entity
@@ -460,8 +460,8 @@
- state: panel
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: PointLight
radius: 1.5
energy: 1.6
radius: 1.3
energy: 0.7
color: "#423438"
- type: entity
@@ -481,8 +481,8 @@
- state: panel
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: PointLight
radius: 1.5
energy: 1.6
radius: 1.3
energy: 0.7
color: "#A50824"
- type: entity
@@ -505,8 +505,8 @@
- state: panel
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: PointLight
radius: 1.5
energy: 1.6
radius: 1.3
energy: 0.7
color: "#44964A"
- type: entity
@@ -528,8 +528,8 @@
- state: panel
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: PointLight
radius: 1.5
energy: 1.6
radius: 1.3
energy: 0.7
color: "#CBC6BE"
- type: entity
@@ -552,8 +552,8 @@
- state: panel
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: PointLight
radius: 1.5
energy: 1.6
radius: 1.3
energy: 0.7
color: "#D3A44D"
- type: entity
@@ -587,8 +587,8 @@
- state: panel
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: PointLight
radius: 1.5
energy: 1.6
radius: 1.3
energy: 0.7
color: "#66538F"
- type: entity
@@ -624,8 +624,8 @@
- state: panel
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: PointLight
radius: 1.5
energy: 1.6
radius: 1.3
energy: 0.7
color: "#6927C5"
- type: entity
@@ -660,8 +660,8 @@
- state: panel
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: PointLight
radius: 1.5
energy: 1.6
radius: 1.3
energy: 0.7
color: "#D82929"
- type: entity
@@ -693,8 +693,8 @@
- type: AccessReader
access: [["Service"]]
- type: PointLight
radius: 1.5
energy: 1.6
radius: 1.3
energy: 0.7
color: "#4b93ad"
- type: entity
@@ -723,8 +723,8 @@
- state: panel
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: PointLight
radius: 1.5
energy: 1.6
radius: 1.3
energy: 0.7
color: "#9a18d6"
- type: entity
@@ -757,8 +757,8 @@
- texture: Structures/Machines/VendingMachines/maintenance_panel.png
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: PointLight
radius: 1.5
energy: 1.6
radius: 1.3
energy: 0.7
color: "#6148c7"
- type: entity
@@ -787,8 +787,8 @@
- type: AccessReader
access: [["Engineering"]]
- type: PointLight
radius: 1.5
energy: 1.6
radius: 1.3
energy: 0.7
color: "#b89e2a"
- type: entity
@@ -822,8 +822,8 @@
- type: AccessReader
access: [["Medical"]]
- type: PointLight
radius: 1.5
energy: 1.6
radius: 1.3
energy: 0.7
color: "#9dc5c9"
- type: GuideHelp
guides:
@@ -859,8 +859,8 @@
- type: AccessReader
access: [["Hydroponics"]]
- type: PointLight
radius: 1.5
energy: 1.6
radius: 1.3
energy: 0.7
color: "#326e3f"
- type: entity
@@ -929,8 +929,8 @@
- state: panel
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: PointLight
radius: 1.5
energy: 1.6
radius: 1.3
energy: 0.7
color: "#326e3f"
- type: entity
@@ -973,8 +973,8 @@
- state: panel
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: PointLight
radius: 1.5
energy: 1.6
radius: 1.3
energy: 0.7
color: "#c73434"
- type: entity
@@ -1004,8 +1004,8 @@
- state: panel
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: PointLight
radius: 1.5
energy: 1.6
radius: 1.3
energy: 0.7
color: "#737785"
- type: entity
@@ -1024,8 +1024,8 @@
- state: panel
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: PointLight
radius: 1.5
energy: 1.6
radius: 1.3
energy: 0.7
color: "#3c5eb5"
- type: entity
@@ -1044,8 +1044,8 @@
- state: panel
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: PointLight
radius: 1.5
energy: 1.6
radius: 1.3
energy: 0.7
color: "#CE3401"
- type: entity
@@ -1064,8 +1064,8 @@
- state: panel
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: PointLight
radius: 1.5
energy: 1.6
radius: 1.3
energy: 0.7
color: "#5F6A1C"
- type: entity
@@ -1084,8 +1084,8 @@
- state: panel
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: PointLight
radius: 1.5
energy: 1.6
radius: 1.3
energy: 0.7
color: "#207E79"
- type: entity
@@ -1120,8 +1120,8 @@
- state: panel
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: PointLight
radius: 1.5
energy: 1.6
radius: 1.3
energy: 0.7
color: "#389690"
- type: entity
@@ -1158,8 +1158,8 @@
map: ["enum.VendingMachineVisualLayers.Screen"]
shader: unshaded
- type: PointLight
radius: 1.5
energy: 1.6
radius: 1.3
energy: 0.7
color: "#c73434"
- type: Tag
tags:
@@ -1194,8 +1194,8 @@
- state: panel
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: PointLight
radius: 1.5
energy: 1.6
radius: 1.3
energy: 0.7
color: "#9dc5c9"
- type: entity
@@ -1229,8 +1229,8 @@
- type: AccessReader
access: [["Research"]]
- type: PointLight
radius: 1.5
energy: 1.6
radius: 1.3
energy: 0.7
color: "#B0ADA9"
- type: GuideHelp
guides:
@@ -1260,8 +1260,8 @@
- state: panel
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: PointLight
radius: 1.5
energy: 1.6
radius: 1.3
energy: 0.7
color: "#d4ab33"
- type: Tag
tags:
@@ -1295,8 +1295,8 @@
- state: panel
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: PointLight
radius: 1.5
energy: 1.6
radius: 1.3
energy: 0.7
color: "#326e3f"
- type: entity
@@ -1329,8 +1329,8 @@
- state: panel
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: PointLight
radius: 1.5
energy: 1.6
radius: 1.3
energy: 0.7
color: "#ffe599"
- type: entity
@@ -1356,8 +1356,8 @@
- state: panel
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: PointLight
radius: 1.5
energy: 1.6
radius: 1.3
energy: 0.7
color: "#9dc5c9"
- type: AccessReader
access: [["Salvage"]]
@@ -1395,8 +1395,8 @@
- state: panel
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: PointLight
radius: 1.5
energy: 1.6
radius: 1.3
energy: 0.7
color: "#d4ab33"
# wallmounted machines
@@ -1591,8 +1591,8 @@
- type: AccessReader
access: [["Chapel"]]
- type: PointLight
radius: 1.5
energy: 1.6
radius: 1.3
energy: 0.7
color: "#CCCCCC" #The holy C
- type: entity
@@ -2022,8 +2022,8 @@
- state: panel
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: PointLight
radius: 1.5
energy: 1.6
radius: 1.3
energy: 0.7
color: "#48CF48"
- type: AccessReader
access: [["CentralCommand"]]
@@ -2056,8 +2056,8 @@
- state: panel
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: PointLight
radius: 1.5
energy: 1.6
radius: 1.3
energy: 0.7
color: "#3c5eb5"
- type: Advertise
pack: HappyHonkAds

View File

@@ -13,10 +13,9 @@
sound:
path: /Audio/Ambience/Objects/hdd_buzz.ogg
- type: PointLight
radius: 1.5
energy: 1.6
radius: 1.4
energy: 0.7
color: "#3db83b"
castShadows: false
netsync: false
- type: Clickable
- type: AccessReader

View File

@@ -49,6 +49,11 @@
node: done
containers:
- entity_storage
- type: PointLight
enabled: false
radius: 1.15
energy: 0.45
- type: PointLightLocker
- type: entity
id: LockerBaseSecure