Skip to content

Commit 0600f0d

Browse files
authored
Terminals, Store furniture and misc structures (#150)
* wallmount fire hydrant * deli stand, fruit stands * start of terminals * rigged terminals and construction * start of shelves * shelf progress * trigger timer on use (non functioning) * alt shelf directions * bunch of signs * Update table.yml Adds a bunch of new tables. Needs the sprites imported. * fix street light bounding boxes * light fix map * signs and street furnite bounding box fixes * benches, tables and counters * shelf BBs all fixed. * chair minor change * more tables / fixes * adds storage and visualisers to some stuff * roller shutters, vents, more closets, washing machines, more storage assets. * safes * fix rsi path
1 parent 8412ab8 commit 0600f0d

File tree

302 files changed

+4063
-246
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

302 files changed

+4063
-246
lines changed
Lines changed: 40 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,41 @@
1-
namespace Content.Server.Explosion.Components;
1+
using Robust.Shared.Audio;
22

3-
/// <summary>
4-
/// Triggers on click.
5-
/// </summary>
6-
[RegisterComponent]
7-
public sealed class TriggerOnActivateComponent : Component { }
3+
namespace Content.Server.Explosion.Components
4+
{
5+
/// <summary>
6+
/// Triggers on click.
7+
/// </summary>
8+
[RegisterComponent]
9+
public sealed class TriggerOnActivateComponent : Component
10+
{
11+
[DataField("delay")]
12+
public float Delay = 1f;
13+
14+
/// <summary>
15+
/// If not null, a user can use verbs to configure the delay to one of these options.
16+
/// </summary>
17+
[DataField("delayOptions")]
18+
public List<float>? DelayOptions = null;
19+
20+
/// <summary>
21+
/// If not null, this timer will periodically play this sound while active.
22+
/// </summary>
23+
[DataField("beepSound")]
24+
public SoundSpecifier? BeepSound;
25+
26+
/// <summary>
27+
/// Time before beeping starts. Defaults to a single beep interval. If set to zero, will emit a beep immediately after use.
28+
/// </summary>
29+
[DataField("initialBeepDelay")]
30+
public float? InitialBeepDelay;
31+
32+
[DataField("beepInterval")]
33+
public float BeepInterval = 1;
34+
35+
/// <summary>
36+
/// Whether you can examine the item to see its timer or not.
37+
/// </summary>
38+
[DataField("examinable")]
39+
public bool Examinable = true;
40+
}
41+
}

Resources/Maps/N14/wave1.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26037,7 +26037,7 @@ entities:
2603726037
- pos: -17.24732,-19.420746
2603826038
parent: 1
2603926039
type: Transform
26040-
- proto: N14LightStreetLampPostAlwaysPowered2
26040+
- proto: N14LightStreetLampPostAlwaysPoweredLeft2
2604126041
entities:
2604226042
- uid: 6513
2604326043
components:
@@ -26127,7 +26127,7 @@ entities:
2612726127
pos: 11.5,-36.5
2612826128
parent: 1
2612926129
type: Transform
26130-
- proto: N14LightStreetLampPostRaiderAlwaysPowered
26130+
- proto: N14LightStreetLampPostRaiderAlwaysPoweredLeft
2613126131
entities:
2613226132
- uid: 6529
2613326133
components:
@@ -26149,7 +26149,7 @@ entities:
2614926149
- pos: -51.5,1.5
2615026150
parent: 1
2615126151
type: Transform
26152-
- proto: N14LightStreetLampPostRaiderAlwaysPowered2
26152+
- proto: N14LightStreetLampPostRaiderAlwaysPoweredLeft2
2615326153
entities:
2615426154
- uid: 6533
2615526155
components:
@@ -27067,7 +27067,7 @@ entities:
2706727067
- pos: -5.9700623,-11.465906
2706827068
parent: 1
2706927069
type: Transform
27070-
- proto: N14StreetPowerPole
27070+
- proto: N14StreetPowerPoleRight
2707127071
entities:
2707227072
- uid: 6541
2707327073
components:

Resources/Prototypes/Nuclear14/Entities/Structures/Doors/FalloutDoors/airlocks.yml

Lines changed: 129 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,132 @@
11
- type: entity
2-
parent: Airlock
2+
id: N14Airlock
3+
parent: BaseStructure
4+
name: airlock
5+
description: It opens, it closes, and maybe crushes you.
6+
abstract: true
7+
placement:
8+
mode: SnapgridCenter
9+
components:
10+
- type: MeleeSound
11+
soundGroups:
12+
Brute:
13+
path:
14+
"/Audio/Weapons/smash.ogg"
15+
- type: InteractionOutline
16+
- type: Sprite
17+
sprite: Structures/Doors/Airlocks/Standard/basic.rsi
18+
snapCardinals: true
19+
layers:
20+
- state: closed
21+
map: ["enum.DoorVisualLayers.Base"]
22+
- state: welded
23+
map: ["enum.WeldableLayers.BaseWelded"]
24+
- type: AnimationPlayer
25+
- type: Physics
26+
- type: Fixtures
27+
fixtures:
28+
fix1:
29+
shape:
30+
!type:PhysShapeAabb
31+
bounds: "-0.49,-0.49,0.49,0.49" # don't want this colliding with walls or they won't close
32+
density: 100
33+
mask:
34+
- FullTileMask
35+
layer:
36+
- AirlockLayer
37+
- type: LayerChangeOnWeld
38+
unWeldedLayer: AirlockLayer
39+
weldedLayer: WallLayer
40+
- type: ContainerFill
41+
containers:
42+
board: [ DoorElectronics ]
43+
- type: Door
44+
crushDamage:
45+
types:
46+
Blunt: 15
47+
openSound:
48+
path: /Audio/Machines/airlock_open.ogg
49+
closeSound:
50+
path: /Audio/Machines/airlock_close.ogg
51+
denySound:
52+
path: /Audio/Machines/airlock_deny.ogg
53+
- type: ContainerContainer
54+
containers:
55+
board: !type:Container
56+
- type: Weldable
57+
time: 3
58+
- type: Airlock
59+
- type: DoorBolt
60+
- type: Appearance
61+
- type: WiresVisuals
62+
- type: ApcPowerReceiver
63+
powerLoad: 20
64+
- type: ExtensionCableReceiver
65+
- type: Electrified
66+
enabled: false
67+
usesApcPower: true
68+
- type: WiresPanel
69+
- type: Wires
70+
BoardName: "Airlock Control"
71+
LayoutId: Airlock
72+
- type: DoorSignalControl
73+
- type: DeviceNetwork
74+
deviceNetId: Wireless
75+
receiveFrequencyId: BasicDevice
76+
- type: WirelessNetworkConnection
77+
range: 200
78+
- type: DeviceLinkSink
79+
ports:
80+
- Open
81+
- Close
82+
- Toggle
83+
- AutoClose
84+
- DoorBolt
85+
- type: DeviceLinkSource
86+
ports:
87+
- DoorStatus
88+
- type: SoundOnOverload
89+
- type: SpawnOnOverload
90+
- type: UserInterface
91+
interfaces:
92+
- key: enum.WiresUiKey.Key
93+
type: WiresBoundUserInterface
94+
- type: Airtight
95+
fixVacuum: true
96+
noAirWhenFullyAirBlocked: false
97+
- type: RadiationBlocker
98+
resistance: 3
99+
- type: Occluder
100+
- type: Damageable
101+
damageContainer: Inorganic
102+
damageModifierSet: Metallic
103+
- type: Destructible
104+
thresholds:
105+
- trigger:
106+
!type:DamageTrigger
107+
damage: 500
108+
behaviors:
109+
- !type:DoActsBehavior
110+
acts: ["Destruction"]
111+
- type: Construction
112+
graph: Airlock
113+
node: airlock
114+
containers:
115+
- board
116+
- type: PlacementReplacement
117+
key: walls
118+
- type: IconSmooth
119+
key: walls
120+
mode: NoSprite
121+
- type: PaintableAirlock
122+
group: Standard
123+
- type: AccessReader
124+
- type: StaticPrice
125+
price: 150
126+
127+
128+
- type: entity
129+
parent: N14Airlock
3130
id: AirlockExternalVault # TODO: Update to N14 prefix once wavemap is merged.
4131
suffix: Vault
5132
description: It opens, it closes, it might crush you, and there might be only radiation and monsters behind it. Has to be manually activated.
@@ -18,4 +145,4 @@
18145
- type: Sprite
19146
sprite: Nuclear14/Structures/Doors/FalloutDoors/vaultdoor.rsi
20147
- type: PaintableAirlock
21-
group: External
148+
group: External
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
- type: entity
2+
parent: BaseMaterialDoor
3+
id: N14DoorShutterFramedRoller
4+
name: shutter
5+
description: A lightweight airtight roller shutter door.
6+
components:
7+
- type: Door
8+
bumpOpen: false
9+
crushDamage:
10+
types:
11+
Blunt: 5
12+
openSound:
13+
path: /Audio/Machines/airlock_ext_open.ogg
14+
closeSound:
15+
path: /Audio/Machines/airlock_ext_close.ogg
16+
denySound:
17+
path: /Audio/Machines/airlock_deny.ogg
18+
- type: Sprite
19+
sprite: Nuclear14/Structures/Doors/RollerDoors/framedshutter.rsi
20+
21+
- type: entity
22+
parent: BaseMaterialDoor
23+
id: N14DoorShutterRoller
24+
name: garage shutter
25+
suffix: frameless
26+
description: A lightweight airtight roller shutter door.
27+
components:
28+
- type: Sprite
29+
sprite: Nuclear14/Structures/Doors/RollerDoors/garageshutter.rsi

Resources/Prototypes/Nuclear14/Entities/Structures/Furniture/bookshelf.yml

Lines changed: 0 additions & 79 deletions
This file was deleted.
Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
- type: entity
22
parent: ChairWood
33
id: N14ChairSchool
4-
name: "school chair"
4+
name: school chair
55
description: A wooden chair suited for long hours of study.
66
components:
77
- type: Sprite
@@ -11,7 +11,7 @@
1111
- type: entity
1212
parent: ChairWood
1313
id: N14ChairWood
14-
name: "wooden chair"
14+
name: wooden chair
1515
description: A wooden chair suitable for sitting on.
1616
components:
1717
- type: Sprite
@@ -21,7 +21,7 @@
2121
- type: entity
2222
parent: N14ChairWood
2323
id: N14ChairWoodSettler
24-
name: "wooden chair"
24+
name: wooden chair
2525
description: A wooden chair claimed by some settlers.
2626
components:
2727
- type: Sprite
@@ -30,19 +30,17 @@
3030
- type: entity
3131
parent: SeatBase
3232
id: N14ChairStoolBarBlack
33-
name: "bar stool"
3433
description: A black bar stool.
3534
components:
3635
- type: Sprite
3736
sprite: Nuclear14/Structures/Furniture/bedsandchairs.rsi
3837
state: bar_black
38+
snapCardinals: true
3939

4040
- type: entity
4141
parent: N14ChairStoolBarBlack
4242
id: N14ChairStoolBarTan
43-
name: "bar stool"
4443
description: A tan bar stool.
4544
components:
4645
- type: Sprite
47-
state: bar_tan
48-
snapCardinals: true
46+
state: bar_tan

0 commit comments

Comments
 (0)