Glass box for antique laser pistol (#25104)

* glassbox

* fix
This commit is contained in:
Nim
2024-02-11 01:36:18 +02:00
committed by GitHub
parent 0071b095ab
commit 2a9fa67a7f
17 changed files with 218 additions and 1 deletions

View File

@@ -48,7 +48,7 @@
- type: entity
id: LockerCaptainFilled
suffix: Filled
suffix: Filled, AntiqueLaser
parent: LockerCaptain
components:
- type: StorageFill
@@ -72,6 +72,31 @@
- id: JetpackCaptainFilled
- id: MedalCase
- type: entity
id: LockerCaptainFilledNoLaser
suffix: Filled
parent: LockerCaptain
components:
- type: StorageFill
contents:
- id: ClothingOuterArmorCaptainCarapace
- id: NukeDisk
- id: PinpointerNuclear
- id: CaptainIDCard
- id: WeaponDisabler
- id: CommsComputerCircuitboard
- id: ClothingHeadsetAltCommand
- id: SpaceCash1000
- id: PlushieNuke
prob: 0.1
- id: CigarGoldCase
prob: 0.25
- id: ClothingBeltSheathFilled
- id: DoorRemoteCommand
- id: RubberStampCaptain
- id: JetpackCaptainFilled
- id: MedalCase
- type: entity
id: LockerHeadOfPersonnelFilled
suffix: Filled

View File

@@ -0,0 +1,139 @@
- type: entity
id: GlassBoxLaser
name: glass box
description: A sturdy showcase for an expensive exhibit.
parent: BaseStructureDynamic
placement:
mode: SnapgridCenter
components:
- type: Anchorable
delay: 4
- type: Transform
anchored: true
- type: Damageable
damageContainer: Inorganic
damageModifierSet: Glass
- type: MeleeSound
soundGroups:
Brute:
collection: GlassSmash
- type: Physics
bodyType: Static
- type: Clickable
- type: InteractionOutline
- type: Sprite
sprite: Structures/Storage/glassbox.rsi
layers:
- state: glassbox
- state: caplaser
map: ["enum.ItemCabinetVisualLayers.ContainsItem"]
visible: true
- state: glass
map: ["enum.ItemCabinetVisualLayers.Door"]
- type: ItemCabinet
cabinetSlot:
ejectOnInteract: true
whitelist:
tags:
- WeaponAntiqueLaser
doorSound:
path: /Audio/Machines/machine_switch.ogg
openState: glass-up
closedState: glass
- type: Lock
- type: AccessReader
access: [["Captain"]]
- type: ItemSlots
- type: ContainerContainer
containers:
ItemCabinet: !type:ContainerSlot
- type: Repairable
- type: Appearance
- type: DamageVisuals
thresholds: [4, 8, 12]
damageDivisor: 7.555
trackAllDamage: true
damageOverlay:
sprite: Structures/Storage/glassbox.rsi
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 150
behaviors:
- !type:EmptyAllContainersBehaviour
- !type:PlaySoundBehavior
sound:
collection: WindowShatter
- !type:SpawnEntitiesBehavior
spawn:
ShardGlassReinforced:
min: 1
max: 1
GlassBoxLaserBroken:
min: 1
max: 1
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: entity
id: GlassBoxLaserOpen
parent: GlassBoxLaser
suffix: Open
components:
- type: ItemCabinet
opened: true
doorSound:
path: /Audio/Machines/machine_switch.ogg
openState: glass-up
closedState: glass
- type: entity
id: GlassBoxLaserFilled
parent: GlassBoxLaser
suffix: Filled
components:
- type: ItemCabinet
cabinetSlot:
startingItem: WeaponAntiqueLaser
ejectOnInteract: true
whitelist:
tags:
- WeaponAntiqueLaser
doorSound:
path: /Audio/Machines/machine_switch.ogg
openState: glass-up
closedState: glass
- type: entity
id: GlassBoxLaserFilledOpen
parent: GlassBoxLaserFilled
suffix: Filled, Open
components:
- type: ItemCabinet
opened: true
doorSound:
path: /Audio/Machines/machine_switch.ogg
openState: glass-up
closedState: glass
- type: entity
id: GlassBoxLaserBroken
name: broken glass box
description: A broken showcase for a stolen expensive exhibit.
parent: BaseStructureDynamic
suffix: Broken
placement:
mode: SnapgridCenter
components:
- type: Transform
anchored: true
- type: Physics
bodyType: Static
- type: Sprite
sprite: Structures/Storage/glassbox.rsi
layers:
- state: glassbox
- state: glass-4
- type: Clickable
- type: InteractionOutline

View File

@@ -1160,6 +1160,9 @@
- type: Tag
id: WallmountSubstationElectronics
- type: Tag
id: WeaponAntiqueLaser
- type: Tag
id: WeaponPistolCHIMPUpgradeKit

Binary file not shown.

After

Width:  |  Height:  |  Size: 578 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 332 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 413 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 557 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 377 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 238 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 313 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 901 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 796 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 313 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 B

View File

@@ -0,0 +1,50 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Taken from tgstation https://github.com/tgstation/tgstation/commit/0129a094635aac51e00fdc7aa3b4248affc1f49d Sprite modified and updated by Nimfar11 (Github)",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "glass"
},
{
"name": "DamageOverlay_4"
},
{
"name": "DamageOverlay_8"
},
{
"name": "DamageOverlay_12"
},
{
"name": "glass-4"
},
{
"name": "glass-up"
},
{
"name": "locked"
},
{
"name": "caplaser"
},
{
"name": "unlocked"
},
{
"name": "glassbox"
},
{
"name": "glassbox-empty-open"
},
{
"name": "glassbox-filled-closed"
},
{
"name": "glassbox-filled-open"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 B