diff --git a/Content.Shared/Clothing/Components/SkatesComponent.cs b/Content.Shared/Clothing/Components/SkatesComponent.cs
index b8bc00442a..04b4c722ec 100644
--- a/Content.Shared/Clothing/Components/SkatesComponent.cs
+++ b/Content.Shared/Clothing/Components/SkatesComponent.cs
@@ -11,45 +11,47 @@ public sealed partial class SkatesComponent : Component
///
/// the levels of friction the wearer is subected to, higher the number the more friction.
///
- [ViewVariables(VVAccess.ReadWrite)]
+ [DataField, ViewVariables(VVAccess.ReadWrite)]
public float Friction = 2.5f;
///
/// Determines the turning ability of the wearer, Higher the number the less control of their turning ability.
///
- [ViewVariables(VVAccess.ReadWrite)]
+ [DataField, ViewVariables(VVAccess.ReadWrite)]
public float? FrictionNoInput = 2.5f;
///
/// Sets the speed in which the wearer accelerates to full speed, higher the number the quicker the acceleration.
///
- [ViewVariables(VVAccess.ReadWrite)]
+ [DataField, ViewVariables(VVAccess.ReadWrite)]
public float Acceleration = 5f;
///
/// The minimum speed the wearer needs to be traveling to take damage from collision.
///
- [ViewVariables(VVAccess.ReadWrite)]
+ [DataField, ViewVariables(VVAccess.ReadWrite)]
public float MinimumSpeed = 3f;
///
/// The length of time the wearer is stunned for on collision.
///
- [ViewVariables(VVAccess.ReadWrite)]
+ [DataField, ViewVariables(VVAccess.ReadWrite)]
public float StunSeconds = 3f;
+
///
/// The time duration before another collision can take place.
///
- [ViewVariables(VVAccess.ReadWrite)]
+ [DataField, ViewVariables(VVAccess.ReadWrite)]
public float DamageCooldown = 2f;
///
/// The damage per increment of speed on collision.
///
- [ViewVariables(VVAccess.ReadWrite)]
+ [DataField, ViewVariables(VVAccess.ReadWrite)]
public float SpeedDamage = 1f;
+
///
/// Defaults for MinimumSpeed, StunSeconds, DamageCooldown and SpeedDamage.
///
diff --git a/Resources/Prototypes/Entities/Clothing/Masks/masks.yml b/Resources/Prototypes/Entities/Clothing/Masks/masks.yml
index 4909d6e393..556de93737 100644
--- a/Resources/Prototypes/Entities/Clothing/Masks/masks.yml
+++ b/Resources/Prototypes/Entities/Clothing/Masks/masks.yml
@@ -198,6 +198,19 @@
- HamsterWearable
- WhitelistChameleon
+- type: entity
+ parent: ClothingMaskClown
+ id: ClothingMaskClownBanana
+ name: banana clown wig and mask
+ components:
+ - type: Sprite
+ sprite: Clothing/Mask/clown_banana.rsi
+ - type: Clothing
+ sprite: Clothing/Mask/clown_banana.rsi
+ - type: Construction
+ graph: BananaClownMask
+ node: mask
+
- type: entity
parent: ClothingMaskBase
id: ClothingMaskJoy
diff --git a/Resources/Prototypes/Entities/Clothing/Shoes/specific.yml b/Resources/Prototypes/Entities/Clothing/Shoes/specific.yml
index cc194af5d6..4a49c804cd 100644
--- a/Resources/Prototypes/Entities/Clothing/Shoes/specific.yml
+++ b/Resources/Prototypes/Entities/Clothing/Shoes/specific.yml
@@ -28,6 +28,26 @@
- ClownShoes
- WhitelistChameleon
+- type: entity
+ parent: ClothingShoesClown
+ id: ClothingShoesClownBanana
+ name: banana clown shoes
+ description: "When humor and footwear combine into new levels of absurdity."
+ components:
+ - type: Sprite
+ sprite: Clothing/Shoes/Specific/clown_banana.rsi
+ - type: Clothing
+ sprite: Clothing/Shoes/Specific/clown_banana.rsi
+ - type: FootstepModifier
+ footstepSoundCollection:
+ collection: FootstepSlip
+ - type: Construction
+ graph: BananaClownShoes
+ node: shoes
+ - type: Skates
+ minimumSpeed: 20
+ acceleration: 5
+
- type: entity
parent: ClothingShoesBaseButcherable
id: ClothingShoesBling
@@ -47,6 +67,7 @@
energy: 2
color: "#FFD800"
netsync: false
+
- type: entity
parent: ClothingShoesBaseButcherable
id: ClothingShoesCult
diff --git a/Resources/Prototypes/Entities/Clothing/Uniforms/jumpsuits.yml b/Resources/Prototypes/Entities/Clothing/Uniforms/jumpsuits.yml
index 24e15ca8cb..ce8170a7b5 100644
--- a/Resources/Prototypes/Entities/Clothing/Uniforms/jumpsuits.yml
+++ b/Resources/Prototypes/Entities/Clothing/Uniforms/jumpsuits.yml
@@ -200,6 +200,27 @@
- type: Clothing
sprite: Clothing/Uniforms/Jumpsuit/clown.rsi
femaleMask: UniformTop
+ - type: Tag
+ tags:
+ - ClownSuit
+
+- type: entity
+ parent: ClothingUniformJumpsuitClown
+ id: ClothingUniformJumpsuitClownBanana
+ name: banana clown suit
+ components:
+ - type: Sprite
+ sprite: Clothing/Uniforms/Jumpsuit/clown_banana.rsi
+ - type: Clothing
+ sprite: Clothing/Uniforms/Jumpsuit/clown_banana.rsi
+ femaleMask: UniformTop
+ - type: Construction
+ graph: BananaClownJumpsuit
+ node: jumpsuit
+ - type: Armor
+ modifiers:
+ coefficients:
+ Radiation: 0.8
- type: entity
parent: ClothingUniformBase
diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml
index ed5fccb793..898791f6ff 100644
--- a/Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml
+++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml
@@ -294,6 +294,7 @@
tags:
- Recyclable
- Trash
+ - BananaPeel
- type: SolutionContainerManager
solutions:
food:
diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/clothing/clown_banana.yml b/Resources/Prototypes/Recipes/Construction/Graphs/clothing/clown_banana.yml
new file mode 100644
index 0000000000..190293f9d1
--- /dev/null
+++ b/Resources/Prototypes/Recipes/Construction/Graphs/clothing/clown_banana.yml
@@ -0,0 +1,113 @@
+- type: constructionGraph
+ id: BananaClownJumpsuit
+ start: start
+ graph:
+ - node: start
+ edges:
+ - to: jumpsuit
+ steps:
+ - tag: BananaPeel
+ name: A Banana Peel
+ icon:
+ sprite: Objects/Specific/Hydroponics/banana.rsi
+ state: peel
+ doAfter: 1
+ - tag: BananaPeel
+ name: A Banana Peel
+ icon:
+ sprite: Objects/Specific/Hydroponics/banana.rsi
+ state: peel
+ doAfter: 1
+ - tag: BananaPeel
+ name: A Banana Peel
+ icon:
+ sprite: Objects/Specific/Hydroponics/banana.rsi
+ state: peel
+ doAfter: 1
+ - material: Bananium
+ amount: 1
+ doAfter: 1
+ - tag: ClownSuit
+ name: A Clown Suit
+ icon:
+ sprite: Clothing/Uniforms/Jumpsuit/clown.rsi
+ state: icon
+ doAfter: 1
+ - node: jumpsuit
+ entity: ClothingUniformJumpsuitClownBanana
+
+- type: constructionGraph
+ id: BananaClownShoes
+ start: start
+ graph:
+ - node: start
+ edges:
+ - to: shoes
+ steps:
+ - tag: BananaPeel
+ name: A Banana Peel
+ icon:
+ sprite: Objects/Specific/Hydroponics/banana.rsi
+ state: peel
+ doAfter: 1
+ - tag: BananaPeel
+ name: A Banana Peel
+ icon:
+ sprite: Objects/Specific/Hydroponics/banana.rsi
+ state: peel
+ doAfter: 1
+ - tag: BananaPeel
+ name: A Banana Peel
+ icon:
+ sprite: Objects/Specific/Hydroponics/banana.rsi
+ state: peel
+ doAfter: 1
+ - material: Bananium
+ amount: 1
+ doAfter: 1
+ - tag: ClownShoes
+ name: Clown Shoes
+ icon:
+ sprite: Clothing/Shoes/Specific/clown.rsi
+ state: icon
+ doAfter: 1
+ - node: shoes
+ entity: ClothingShoesClownBanana
+
+- type: constructionGraph
+ id: BananaClownMask
+ start: start
+ graph:
+ - node: start
+ edges:
+ - to: mask
+ steps:
+ - tag: BananaPeel
+ name: A Banana Peel
+ icon:
+ sprite: Objects/Specific/Hydroponics/banana.rsi
+ state: peel
+ doAfter: 1
+ - tag: BananaPeel
+ name: A Banana Peel
+ icon:
+ sprite: Objects/Specific/Hydroponics/banana.rsi
+ state: peel
+ doAfter: 1
+ - tag: BananaPeel
+ name: A Banana Peel
+ icon:
+ sprite: Objects/Specific/Hydroponics/banana.rsi
+ state: peel
+ doAfter: 1
+ - material: Bananium
+ amount: 1
+ doAfter: 1
+ - tag: ClownMask
+ name: A Clown Mask
+ icon:
+ sprite: Clothing/Mask/clown.rsi
+ state: icon
+ doAfter: 1
+ - node: mask
+ entity: ClothingMaskClownBanana
diff --git a/Resources/Prototypes/Recipes/Construction/clothing.yml b/Resources/Prototypes/Recipes/Construction/clothing.yml
index e8bd1b6938..cd6321ae89 100644
--- a/Resources/Prototypes/Recipes/Construction/clothing.yml
+++ b/Resources/Prototypes/Recipes/Construction/clothing.yml
@@ -30,3 +30,36 @@
description: Helmet made of bones.
icon: { sprite: Clothing/Head/Helmets/bone_helmet.rsi, state: icon }
objectType: Item
+
+- type: construction
+ name: banana clown mask
+ id: BananaClownMask
+ graph: BananaClownMask
+ startNode: start
+ targetNode: mask
+ category: construction-category-clothing
+ description: A clown mask upgraded with banana peels.
+ icon: { sprite: Clothing/Mask/clown_banana.rsi, state: icon }
+ objectType: Item
+
+- type: construction
+ name: banana clown suit
+ id: BananaClownJumpsuit
+ graph: BananaClownJumpsuit
+ startNode: start
+ targetNode: jumpsuit
+ category: construction-category-clothing
+ description: A clown suit upgraded with banana peels.
+ icon: { sprite: Clothing/Uniforms/Jumpsuit/clown_banana.rsi, state: icon }
+ objectType: Item
+
+- type: construction
+ name: banana clown shoes
+ id: BananaClownShoes
+ graph: BananaClownShoes
+ startNode: start
+ targetNode: shoes
+ category: construction-category-clothing
+ description: A pair of clown shoes upgraded with banana peels.
+ icon: { sprite: Clothing/Shoes/Specific/clown_banana.rsi, state: icon }
+ objectType: Item
\ No newline at end of file
diff --git a/Resources/Prototypes/Roles/Jobs/Fun/misc_startinggear.yml b/Resources/Prototypes/Roles/Jobs/Fun/misc_startinggear.yml
index a787d45654..85e9b634d6 100644
--- a/Resources/Prototypes/Roles/Jobs/Fun/misc_startinggear.yml
+++ b/Resources/Prototypes/Roles/Jobs/Fun/misc_startinggear.yml
@@ -347,3 +347,11 @@
back: SpearBone
head: ClothingHeadHelmetBone
shoes: ClothingShoesCult
+
+#Banana Clown
+- type: startingGear
+ id: BananaClown
+ equipment:
+ shoes: ClothingShoesClownBanana
+ jumpsuit: ClothingUniformJumpsuitClownBanana
+ mask: ClothingMaskClownBanana
diff --git a/Resources/Prototypes/SoundCollections/footsteps.yml b/Resources/Prototypes/SoundCollections/footsteps.yml
index d67d460098..f0a273ec3a 100644
--- a/Resources/Prototypes/SoundCollections/footsteps.yml
+++ b/Resources/Prototypes/SoundCollections/footsteps.yml
@@ -167,3 +167,8 @@
- /Audio/Effects/Footsteps/bells3.ogg
- /Audio/Effects/Footsteps/bells4.ogg
- /Audio/Effects/Footsteps/bells5.ogg
+
+- type: soundCollection
+ id: FootstepSlip
+ files:
+ - /Audio/Effects/slip.ogg
diff --git a/Resources/Prototypes/tags.yml b/Resources/Prototypes/tags.yml
index 3b35c8f758..23c5019765 100644
--- a/Resources/Prototypes/tags.yml
+++ b/Resources/Prototypes/tags.yml
@@ -31,6 +31,9 @@
- type: Tag
id: Balloon
+- type: Tag
+ id: BananaPeel
+
- type: Tag
id: BaseballBat
@@ -311,6 +314,9 @@
- type: Tag
id: ClownShoes
+- type: Tag
+ id: ClownSuit
+
- type: Tag
id: CluwneHorn
diff --git a/Resources/Textures/Clothing/Mask/clown_banana.rsi/equipped-MASK-hamster.png b/Resources/Textures/Clothing/Mask/clown_banana.rsi/equipped-MASK-hamster.png
new file mode 100644
index 0000000000..455b22e99e
Binary files /dev/null and b/Resources/Textures/Clothing/Mask/clown_banana.rsi/equipped-MASK-hamster.png differ
diff --git a/Resources/Textures/Clothing/Mask/clown_banana.rsi/equipped-MASK.png b/Resources/Textures/Clothing/Mask/clown_banana.rsi/equipped-MASK.png
new file mode 100644
index 0000000000..cd12ea0214
Binary files /dev/null and b/Resources/Textures/Clothing/Mask/clown_banana.rsi/equipped-MASK.png differ
diff --git a/Resources/Textures/Clothing/Mask/clown_banana.rsi/icon.png b/Resources/Textures/Clothing/Mask/clown_banana.rsi/icon.png
new file mode 100644
index 0000000000..923beb0ceb
Binary files /dev/null and b/Resources/Textures/Clothing/Mask/clown_banana.rsi/icon.png differ
diff --git a/Resources/Textures/Clothing/Mask/clown_banana.rsi/inhand-left.png b/Resources/Textures/Clothing/Mask/clown_banana.rsi/inhand-left.png
new file mode 100644
index 0000000000..2136e54995
Binary files /dev/null and b/Resources/Textures/Clothing/Mask/clown_banana.rsi/inhand-left.png differ
diff --git a/Resources/Textures/Clothing/Mask/clown_banana.rsi/inhand-right.png b/Resources/Textures/Clothing/Mask/clown_banana.rsi/inhand-right.png
new file mode 100644
index 0000000000..2ef4b94da3
Binary files /dev/null and b/Resources/Textures/Clothing/Mask/clown_banana.rsi/inhand-right.png differ
diff --git a/Resources/Textures/Clothing/Mask/clown_banana.rsi/meta.json b/Resources/Textures/Clothing/Mask/clown_banana.rsi/meta.json
new file mode 100644
index 0000000000..bde7a52908
--- /dev/null
+++ b/Resources/Textures/Clothing/Mask/clown_banana.rsi/meta.json
@@ -0,0 +1,30 @@
+{
+ "version": 1,
+ "license": "CC-BY-SA-3.0",
+ "copyright": "Made by KREKS (ss14 discord) for ss14.",
+ "size": {
+ "x": 32,
+ "y": 32
+ },
+ "states": [
+ {
+ "name": "icon"
+ },
+ {
+ "name": "equipped-MASK",
+ "directions": 4
+ },
+ {
+ "name": "equipped-MASK-hamster",
+ "directions": 4
+ },
+ {
+ "name": "inhand-left",
+ "directions": 4
+ },
+ {
+ "name": "inhand-right",
+ "directions": 4
+ }
+ ]
+}
diff --git a/Resources/Textures/Clothing/Shoes/Specific/clown_banana.rsi/equipped-FEET.png b/Resources/Textures/Clothing/Shoes/Specific/clown_banana.rsi/equipped-FEET.png
new file mode 100644
index 0000000000..486cc15dfb
Binary files /dev/null and b/Resources/Textures/Clothing/Shoes/Specific/clown_banana.rsi/equipped-FEET.png differ
diff --git a/Resources/Textures/Clothing/Shoes/Specific/clown_banana.rsi/icon.png b/Resources/Textures/Clothing/Shoes/Specific/clown_banana.rsi/icon.png
new file mode 100644
index 0000000000..c39f640a8e
Binary files /dev/null and b/Resources/Textures/Clothing/Shoes/Specific/clown_banana.rsi/icon.png differ
diff --git a/Resources/Textures/Clothing/Shoes/Specific/clown_banana.rsi/inhand-left.png b/Resources/Textures/Clothing/Shoes/Specific/clown_banana.rsi/inhand-left.png
new file mode 100644
index 0000000000..0bb56ebfb0
Binary files /dev/null and b/Resources/Textures/Clothing/Shoes/Specific/clown_banana.rsi/inhand-left.png differ
diff --git a/Resources/Textures/Clothing/Shoes/Specific/clown_banana.rsi/inhand-right.png b/Resources/Textures/Clothing/Shoes/Specific/clown_banana.rsi/inhand-right.png
new file mode 100644
index 0000000000..28764263f1
Binary files /dev/null and b/Resources/Textures/Clothing/Shoes/Specific/clown_banana.rsi/inhand-right.png differ
diff --git a/Resources/Textures/Clothing/Shoes/Specific/clown_banana.rsi/meta.json b/Resources/Textures/Clothing/Shoes/Specific/clown_banana.rsi/meta.json
new file mode 100644
index 0000000000..e4431655fb
--- /dev/null
+++ b/Resources/Textures/Clothing/Shoes/Specific/clown_banana.rsi/meta.json
@@ -0,0 +1,26 @@
+{
+ "version": 1,
+ "license": "CC-BY-SA-3.0",
+ "copyright": "Made by KREKS (ss14 discord) for ss14.",
+ "size": {
+ "x": 32,
+ "y": 32
+ },
+ "states": [
+ {
+ "name": "icon"
+ },
+ {
+ "name": "equipped-FEET",
+ "directions": 4
+ },
+ {
+ "name": "inhand-left",
+ "directions": 4
+ },
+ {
+ "name": "inhand-right",
+ "directions": 4
+ }
+ ]
+}
diff --git a/Resources/Textures/Clothing/Uniforms/Jumpsuit/clown_banana.rsi/equipped-INNERCLOTHING-monkey.png b/Resources/Textures/Clothing/Uniforms/Jumpsuit/clown_banana.rsi/equipped-INNERCLOTHING-monkey.png
new file mode 100644
index 0000000000..d305015c3b
Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Jumpsuit/clown_banana.rsi/equipped-INNERCLOTHING-monkey.png differ
diff --git a/Resources/Textures/Clothing/Uniforms/Jumpsuit/clown_banana.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Jumpsuit/clown_banana.rsi/equipped-INNERCLOTHING.png
new file mode 100644
index 0000000000..aae16e3130
Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Jumpsuit/clown_banana.rsi/equipped-INNERCLOTHING.png differ
diff --git a/Resources/Textures/Clothing/Uniforms/Jumpsuit/clown_banana.rsi/icon.png b/Resources/Textures/Clothing/Uniforms/Jumpsuit/clown_banana.rsi/icon.png
new file mode 100644
index 0000000000..5ba1ea0b03
Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Jumpsuit/clown_banana.rsi/icon.png differ
diff --git a/Resources/Textures/Clothing/Uniforms/Jumpsuit/clown_banana.rsi/inhand-left.png b/Resources/Textures/Clothing/Uniforms/Jumpsuit/clown_banana.rsi/inhand-left.png
new file mode 100644
index 0000000000..11ce676526
Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Jumpsuit/clown_banana.rsi/inhand-left.png differ
diff --git a/Resources/Textures/Clothing/Uniforms/Jumpsuit/clown_banana.rsi/inhand-right.png b/Resources/Textures/Clothing/Uniforms/Jumpsuit/clown_banana.rsi/inhand-right.png
new file mode 100644
index 0000000000..d1a4a6d4a3
Binary files /dev/null and b/Resources/Textures/Clothing/Uniforms/Jumpsuit/clown_banana.rsi/inhand-right.png differ
diff --git a/Resources/Textures/Clothing/Uniforms/Jumpsuit/clown_banana.rsi/meta.json b/Resources/Textures/Clothing/Uniforms/Jumpsuit/clown_banana.rsi/meta.json
new file mode 100644
index 0000000000..d1f37efa80
--- /dev/null
+++ b/Resources/Textures/Clothing/Uniforms/Jumpsuit/clown_banana.rsi/meta.json
@@ -0,0 +1,30 @@
+{
+ "version": 1,
+ "license": "CC-BY-SA-3.0",
+ "copyright": "Made by KREKS (ss14 discord) for ss14.",
+ "size": {
+ "x": 32,
+ "y": 32
+ },
+ "states": [
+ {
+ "name": "icon"
+ },
+ {
+ "name": "equipped-INNERCLOTHING",
+ "directions": 4
+ },
+ {
+ "name": "equipped-INNERCLOTHING-monkey",
+ "directions": 4
+ },
+ {
+ "name": "inhand-left",
+ "directions": 4
+ },
+ {
+ "name": "inhand-right",
+ "directions": 4
+ }
+ ]
+}