Skip to content

Commit

Permalink
Glass box for antique laser pistol (#25104)
Browse files Browse the repository at this point in the history
* glassbox

* fix
  • Loading branch information
Nimfar11 authored Feb 10, 2024
1 parent 0071b09 commit 2a9fa67
Show file tree
Hide file tree
Showing 17 changed files with 218 additions and 1 deletion.
27 changes: 26 additions & 1 deletion Resources/Prototypes/Catalog/Fills/Lockers/heads.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@

- type: entity
id: LockerCaptainFilled
suffix: Filled
suffix: Filled, AntiqueLaser
parent: LockerCaptain
components:
- type: StorageFill
Expand All @@ -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
Expand Down
139 changes: 139 additions & 0 deletions Resources/Prototypes/Entities/Structures/Storage/glass_box.yml
Original file line number Diff line number Diff line change
@@ -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
3 changes: 3 additions & 0 deletions Resources/Prototypes/tags.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1160,6 +1160,9 @@
- type: Tag
id: WallmountSubstationElectronics

- type: Tag
id: WeaponAntiqueLaser

- type: Tag
id: WeaponPistolCHIMPUpgradeKit

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
50 changes: 50 additions & 0 deletions Resources/Textures/Structures/Storage/glassbox.rsi/meta.json
Original file line number Diff line number Diff line change
@@ -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"
}
]
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 2a9fa67

Please sign in to comment.