Adds duck-related content and a seclite (#4489)

* Added rubber ducky

* Adds ducky slippers

* Adds seclite

* Update Resources/Textures/Objects/Tools/seclite.rsi/meta.json

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* Update Resources/Textures/Objects/Fun/ducky.rsi/meta.json

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* The duck slippers now quack as you walk

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
This commit is contained in:
Swept
2021-08-19 16:23:49 -07:00
committed by GitHub
parent 10e2918074
commit 1341d63ae0
27 changed files with 168 additions and 2 deletions

View File

@@ -1,3 +1,4 @@
using Content.Shared.Audio;
using Content.Shared.Sound; using Content.Shared.Sound;
using Robust.Shared.Audio; using Robust.Shared.Audio;
using Robust.Shared.GameObjects; using Robust.Shared.GameObjects;
@@ -18,9 +19,12 @@ namespace Content.Server.Movement.Components
[DataField("footstepSoundCollection", required: true)] [DataField("footstepSoundCollection", required: true)]
public SoundSpecifier SoundCollection = default!; public SoundSpecifier SoundCollection = default!;
[DataField("variation")]
public float Variation = default;
public void PlayFootstep() public void PlayFootstep()
{ {
SoundSystem.Play(Filter.Pvs(Owner), SoundCollection.GetSound(), Owner.Transform.Coordinates, AudioParams.Default.WithVolume(-2f)); SoundSystem.Play(Filter.Pvs(Owner), SoundCollection.GetSound(), Owner.Transform.Coordinates, AudioHelpers.WithVariation(Variation).WithVolume(-2f));
} }
} }
} }

Binary file not shown.

View File

@@ -191,6 +191,8 @@
prob: 1 prob: 1
- id: ClothingOuterHardsuitSecurityRed - id: ClothingOuterHardsuitSecurityRed
prob: 1 prob: 1
- id: ClothingShoeSlippersDuck
prob: 0.2
- id: DrinkVacuumFlask - id: DrinkVacuumFlask
prob: 0.8 prob: 0.8
- id: ClothingBeltSecurityFilled - id: ClothingBeltSecurityFilled

View File

@@ -5,6 +5,8 @@
components: components:
- type: StorageFill - type: StorageFill
contents: contents:
- id: FlashlightSeclite
prob: 1
- id: TaserGun - id: TaserGun
prob: 0.3 prob: 0.3
- id: ClothingHeadHatWarden - id: ClothingHeadHatWarden
@@ -31,6 +33,8 @@
components: components:
- type: StorageFill - type: StorageFill
contents: contents:
- id: FlashlightSeclite
prob: 0.8
- id: ClothingUniformJumpsuitSecGrey - id: ClothingUniformJumpsuitSecGrey
prob: 0.3 prob: 0.3
- id: ClothingHeadHelmetHelmet - id: ClothingHeadHelmetHelmet
@@ -65,7 +69,8 @@
prob: 1 prob: 1
- id: ClothingOuterCoatDetective - id: ClothingOuterCoatDetective
prob: 1 prob: 1
- id: FlashlightSeclite
prob: 1
- type: entity - type: entity
id: ClosetBombFilled id: ClosetBombFilled

View File

@@ -31,6 +31,22 @@
- type: Clothing - type: Clothing
sprite: Clothing/Shoes/Misc/slippers.rsi sprite: Clothing/Shoes/Misc/slippers.rsi
- type: entity
parent: ClothingShoesBase
id: ClothingShoeSlippersDuck
name: ducky slippers
# description: You wish these made quacking sounds as you walked.
description: Comfy, yet haunted by the ghosts of ducks you fed bread to as a child.
components:
- type: Sprite
sprite: Clothing/Shoes/Misc/duck-slippers.rsi
- type: Clothing
sprite: Clothing/Shoes/Misc/duck-slippers.rsi
- type: FootstepModifier
variation: 0.07
footstepSoundCollection:
collection: footstep_duck
- type: entity - type: entity
parent: ClothingShoesBase parent: ClothingShoesBase
id: ClothingShoesTourist id: ClothingShoesTourist

View File

@@ -113,6 +113,27 @@
- type: UseDelay - type: UseDelay
delay: 1.0 delay: 1.0
- type: entity
parent: BaseItem
id: ToyRubberDuck
name: rubber ducky
description: Not carried here by ocean currents.
components:
- type: Sprite
sprite: Objects/Fun/ducky.rsi
state: icon
- type: Clothing
QuickEquip: false
sprite: Objects/Fun/ducky.rsi
Slots:
- Helmet
- type: ItemCooldown
- type: EmitSoundOnUse
sound:
path: /Audio/Items/Toys/quack.ogg
- type: UseDelay
delay: 1.0
- type: entity - type: entity
parent: BaseItem parent: BaseItem
id: PlushieVox id: PlushieVox

View File

@@ -29,3 +29,24 @@
- type: Appearance - type: Appearance
visuals: visuals:
- type: FlashLightVisualizer - type: FlashLightVisualizer
- type: entity
name: seclite
parent: FlashlightLantern
id: FlashlightSeclite
description: A robust flashlight used by security.
components:
- type: PowerCellSlot
startingCellType: PowerCellSmallSuper
- type: Sprite
sprite: Objects/Tools/seclite.rsi
layers:
- state: seclite
- state: seclite-overlay
shader: unshaded
visible: false
- type: Item
sprite: Objects/Tools/seclite.rsi
- type: PointLight
enabled: false
radius: 4

View File

@@ -67,6 +67,11 @@
- /Audio/Effects/Footsteps/clownstep1.ogg - /Audio/Effects/Footsteps/clownstep1.ogg
- /Audio/Effects/Footsteps/clownstep2.ogg - /Audio/Effects/Footsteps/clownstep2.ogg
- type: soundCollection
id: footstep_duck
files:
- /Audio/Items/Toys/quack.ogg
- type: soundCollection - type: soundCollection
id: footstep_heavy id: footstep_heavy
files: files:

Binary file not shown.

After

Width:  |  Height:  |  Size: 337 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 413 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 303 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 310 B

View File

@@ -0,0 +1,26 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Taken from ParadiseSS13 at commit https://github.com/ParadiseSS13/Paradise/commit/de795c4e312980d6f239375a9fa589cd57151599",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "icon"
},
{
"name": "equipped-FEET",
"directions": 4
},
{
"name": "inhand-left",
"directions": 4
},
{
"name": "inhand-right",
"directions": 4
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 350 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 330 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 299 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 290 B

View File

@@ -0,0 +1,26 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/4f6190e2895e09116663ef282d3ce1d8b35c032e and modified by Swept",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "icon"
},
{
"name": "equipped-HELMET",
"directions": 4
},
{
"name": "inhand-left",
"directions": 4
},
{
"name": "inhand-right",
"directions": 4
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 204 B

View File

@@ -0,0 +1,40 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/commit/52cbeaf94322209d4c6596818dda9fb3654729d3 and modified by Swept",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "seclite"
},
{
"name": "seclite-on"
},
{
"name": "seclite-overlay"
},
{
"name": "off-inhand-left",
"directions": 4
},
{
"name": "off-inhand-right",
"directions": 4
},
{
"name": "on-inhand-left",
"directions": 4
},
{
"name": "on-inhand-right",
"directions": 4
},
{
"name": "equipped-BELT",
"directions": 4
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 488 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 401 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 444 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 462 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 287 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 121 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 286 B