diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/boozeomat.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/boozeomat.yml
index bd8b04f982..a309b1d61d 100644
--- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/boozeomat.yml
+++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/boozeomat.yml
@@ -7,6 +7,9 @@
DrinkVacuumFlask: 5
DrinkFlaskBar: 5
DrinkShaker: 5
+ DrinkJigger: 5
+ DrinkIceBucket: 2
+ BarSpoon: 3
CustomDrinkJug: 2 #to allow for custom drinks in the soda/booze dispensers
DrinkAbsintheBottleFull: 2
DrinkAleBottleFull: 5
diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_special.yml b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_special.yml
index ad2e760141..d2c1249740 100644
--- a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_special.yml
+++ b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_special.yml
@@ -104,3 +104,63 @@
- type: Drink
- type: Sprite
sprite: Objects/Consumable/Drinks/jar_what.rsi
+
+- type: entity
+ id: BartenderMixer
+ abstract: true
+ components:
+ - type: DrainableSolution
+ solution: drink
+ - type: Drink
+ - type: DrawableSolution
+ solution: drink
+ - type: RefillableSolution
+ solution: drink
+ - type: SolutionTransfer
+ canChangeTransferAmount: true
+ - type: Spillable
+ solution: drink
+ - type: UserInterface
+ interfaces:
+ enum.TransferAmountUiKey.Key:
+ type: TransferAmountBoundUserInterface
+
+- type: entity
+ parent: [BaseItem, BartenderMixer]
+ id: DrinkJigger
+ name: jigger
+ description: Like a shaker, but smaller. Used to control the amount of ingredients.
+ components:
+ - type: SolutionContainerManager
+ solutions:
+ drink:
+ maxVol: 20
+ - type: MixableSolution
+ solution: drink
+ - type: FitsInDispenser
+ solution: drink
+ - type: Sprite
+ sprite: Objects/Consumable/Drinks/jigger.rsi
+ state: icon
+ - type: PhysicalComposition
+ materialComposition:
+ Steel: 20
+
+- type: entity
+ parent: [BaseItem, BartenderMixer]
+ id: DrinkIceBucket
+ name: ice bucket
+ description: A special bucket of refreshy ice. Prohibited use for challenge with the same name!
+ components:
+ - type: SolutionContainerManager
+ solutions:
+ drink:
+ reagents:
+ - ReagentId: Ice
+ Quantity: 200
+ - type: Sprite
+ sprite: Objects/Consumable/Drinks/icebucket.rsi
+ state: icon
+ - type: PhysicalComposition
+ materialComposition:
+ Steel: 75
diff --git a/Resources/Prototypes/Entities/Objects/Misc/utensils.yml b/Resources/Prototypes/Entities/Objects/Misc/utensils.yml
index 4250669581..86667f094f 100644
--- a/Resources/Prototypes/Entities/Objects/Misc/utensils.yml
+++ b/Resources/Prototypes/Entities/Objects/Misc/utensils.yml
@@ -120,3 +120,28 @@
- Plastic
- Trash
- Knife
+
+- type: entity
+ parent: UtensilBase
+ id: BarSpoon
+ name: bar spoon
+ description: Your personal helper to mix drinks and changes lives.
+ components:
+ - type: Tag
+ tags:
+ - Metal
+ - type: Sprite
+ state: bar_spoon
+ - type: Item
+ heldPrefix: spoon
+ - type: Utensil
+ types:
+ - Spoon
+ - type: MeleeWeapon
+ wideAnimationRotation: 180
+ attackRate: 2
+ damage:
+ types:
+ Blunt: 2
+ - type: Shovel
+ speedModifier: 0.05 # nah
diff --git a/Resources/ServerInfo/Guidebook/Service/Bartender.xml b/Resources/ServerInfo/Guidebook/Service/Bartender.xml
index 060c39fca3..b7599fc0d1 100644
--- a/Resources/ServerInfo/Guidebook/Service/Bartender.xml
+++ b/Resources/ServerInfo/Guidebook/Service/Bartender.xml
@@ -18,6 +18,7 @@ Don't forget containers to serve them in!
+
## Drinks
diff --git a/Resources/Textures/Objects/Consumable/Drinks/icebucket.rsi/icon.png b/Resources/Textures/Objects/Consumable/Drinks/icebucket.rsi/icon.png
new file mode 100644
index 0000000000..228d098060
Binary files /dev/null and b/Resources/Textures/Objects/Consumable/Drinks/icebucket.rsi/icon.png differ
diff --git a/Resources/Textures/Objects/Consumable/Drinks/icebucket.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/icebucket.rsi/meta.json
new file mode 100644
index 0000000000..f55a85dc26
--- /dev/null
+++ b/Resources/Textures/Objects/Consumable/Drinks/icebucket.rsi/meta.json
@@ -0,0 +1,14 @@
+{
+ "version": 1,
+ "license": "CC-BY-SA-3.0",
+ "copyright": "Made by Dezzzix; Discord: dezzzix",
+ "size": {
+ "x": 32,
+ "y": 32
+ },
+ "states": [
+ {
+ "name": "icon"
+ }
+ ]
+ }
diff --git a/Resources/Textures/Objects/Consumable/Drinks/jigger.rsi/icon.png b/Resources/Textures/Objects/Consumable/Drinks/jigger.rsi/icon.png
new file mode 100644
index 0000000000..6c65ca0202
Binary files /dev/null and b/Resources/Textures/Objects/Consumable/Drinks/jigger.rsi/icon.png differ
diff --git a/Resources/Textures/Objects/Consumable/Drinks/jigger.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/jigger.rsi/meta.json
new file mode 100644
index 0000000000..f55a85dc26
--- /dev/null
+++ b/Resources/Textures/Objects/Consumable/Drinks/jigger.rsi/meta.json
@@ -0,0 +1,14 @@
+{
+ "version": 1,
+ "license": "CC-BY-SA-3.0",
+ "copyright": "Made by Dezzzix; Discord: dezzzix",
+ "size": {
+ "x": 32,
+ "y": 32
+ },
+ "states": [
+ {
+ "name": "icon"
+ }
+ ]
+ }
diff --git a/Resources/Textures/Objects/Misc/utensils.rsi/bar_spoon-inhand-left.png b/Resources/Textures/Objects/Misc/utensils.rsi/bar_spoon-inhand-left.png
new file mode 100644
index 0000000000..fba15fa255
Binary files /dev/null and b/Resources/Textures/Objects/Misc/utensils.rsi/bar_spoon-inhand-left.png differ
diff --git a/Resources/Textures/Objects/Misc/utensils.rsi/bar_spoon-inhand-right.png b/Resources/Textures/Objects/Misc/utensils.rsi/bar_spoon-inhand-right.png
new file mode 100644
index 0000000000..d2b32fd8b8
Binary files /dev/null and b/Resources/Textures/Objects/Misc/utensils.rsi/bar_spoon-inhand-right.png differ
diff --git a/Resources/Textures/Objects/Misc/utensils.rsi/bar_spoon.png b/Resources/Textures/Objects/Misc/utensils.rsi/bar_spoon.png
new file mode 100644
index 0000000000..f24ded7e6b
Binary files /dev/null and b/Resources/Textures/Objects/Misc/utensils.rsi/bar_spoon.png differ
diff --git a/Resources/Textures/Objects/Misc/utensils.rsi/meta.json b/Resources/Textures/Objects/Misc/utensils.rsi/meta.json
index 30dd4e8564..77aeb5e3c1 100644
--- a/Resources/Textures/Objects/Misc/utensils.rsi/meta.json
+++ b/Resources/Textures/Objects/Misc/utensils.rsi/meta.json
@@ -1,7 +1,7 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
- "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/commit/e1142f20f5e4661cb6845cfcf2dd69f864d67432 and modified by Swept",
+ "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/commit/e1142f20f5e4661cb6845cfcf2dd69f864d67432 and modified by Swept; Bar spoon by Dezzzix",
"size": {
"x": 32,
"y": 32
@@ -40,6 +40,17 @@
},
{
"name": "plastic_knife"
+ },
+ {
+ "name": "bar_spoon"
+ },
+ {
+ "name": "bar_spoon-inhand-left",
+ "directions": 4
+ },
+ {
+ "name": "bar_spoon-inhand-right",
+ "directions": 4
}
]
}