diff --git a/code/game/objects/items/weapons/RSF.dm b/code/game/objects/items/weapons/RSF.dm
index 260a01b04d..8684a9c058 100644
--- a/code/game/objects/items/weapons/RSF.dm
+++ b/code/game/objects/items/weapons/RSF.dm
@@ -64,25 +64,29 @@ RSF
/obj/item/weapon/rsf/attack_self(mob/user as mob)
playsound(src.loc, 'sound/effects/pop.ogg', 50, 0)
- if (mode == 1)
+ if(mode == 1)
mode = 2
to_chat(user,"Changed dispensing mode to 'Container'.")
return
- if (mode == 2)
+ if(mode == 2)
mode = 3
- to_chat(user,"Changed dispensing mode to 'Paper'")
+ to_chat(user,"Changed dispensing mode to 'Metamorphic Glass: Pint'") //YW Changes begin
return
- if (mode == 3)
+ if(mode == 3)
mode = 4
- to_chat(user,"Changed dispensing mode to 'Pen'")
+ to_chat(user,"Changed dispensing mode to 'Paper'")
return
- if (mode == 4)
+ if(mode == 4)
mode = 5
- to_chat(user,"Changed dispensing mode to 'Dice Pack'")
+ to_chat(user,"Changed dispensing mode to 'Pen'")
return
- if (mode == 5)
+ if(mode == 5)
+ mode = 6
+ to_chat(user,"Changed dispensing mode to 'Dice Pack'")
+ return
+ if(mode == 6)
mode = 1
- to_chat(user,"Changed dispensing mode to 'Cigarette'")
+ to_chat(user,"Changed dispensing mode to 'Cigarette'") // YW Changes end
return
/obj/item/weapon/rsf/afterattack(atom/A, mob/user as mob, proximity)
@@ -112,12 +116,15 @@ RSF
product = new glasstype()
used_energy = 50
if(3)
+ product = new /obj/item/weapon/reagent_containers/food/drinks/metaglass() //YW Changes begin
+ used_energy = 50
+ if(4)
product = new /obj/item/weapon/paper()
used_energy = 10
- if(4)
+ if(5)
product = new /obj/item/weapon/pen()
used_energy = 50
- if(5)
+ if(6) //YW Changes end
product = new /obj/item/weapon/storage/pill_bottle/dice()
used_energy = 200
diff --git a/code/global_vr.dm b/code/global_vr.dm
index b271f245da..2bdcc387ef 100644
--- a/code/global_vr.dm
+++ b/code/global_vr.dm
@@ -5,6 +5,7 @@
robot_module_types += "Sci-borg"
robot_module_types += "Pupdozer"
robot_module_types += "Servicehound" //YW changes
+ robot_module_types += "BoozeHound" //YW changes
return 1
var/list/shell_module_types = list(
diff --git a/code/modules/mob/living/silicon/robot/dogborg/dog_modules_yw.dm b/code/modules/mob/living/silicon/robot/dogborg/dog_modules_yw.dm
index a4468bde3a..1a7903f637 100644
--- a/code/modules/mob/living/silicon/robot/dogborg/dog_modules_yw.dm
+++ b/code/modules/mob/living/silicon/robot/dogborg/dog_modules_yw.dm
@@ -23,4 +23,28 @@
L.Weaken(10)
user.loc = target.loc
return
- return
\ No newline at end of file
+ return
+
+/mob/living/silicon/robot/proc/reskin_booze()
+ set name = "Change Drink Color"
+ set category = "Robot Commands"
+ set desc = "Choose the color of drink displayed inside you."
+
+ var/mob/M = usr
+ var/list/options = list()
+ options["Beer"] = "Beer Buddy"
+ options["Curacao"] = "Brilliant Blue"
+ options["Coffee"] = "Caffine Dispenser"
+ options["Space Mountain Wind"] = "Gamer Juice Maker"
+ options["Whiskey Soda"] = "Liqour Licker"
+ options["Grape Soda"] = "The Grapist"
+ options["Demon's Blood"] = "Vampire's Aid"
+ options["Slav Vodka"] = "Vodka Komrade"
+ var/choice = input(M,"Choose your drink!") in options
+ if(src && choice && !M.stat && in_range(M,src))
+ icontype = options[choice]
+ var/active_sound = 'sound/effects/bubbles.ogg'
+ playsound(src.loc, "[active_sound]", 100, 0, 4)
+ M << "Your Tank now displays [choice]. Drink up and enjoy!"
+ updateicon()
+ return 1
diff --git a/code/modules/mob/living/silicon/robot/dogborg/dog_sleeper_vr.dm b/code/modules/mob/living/silicon/robot/dogborg/dog_sleeper_vr.dm
index 07f130fda1..68b1b10592 100644
--- a/code/modules/mob/living/silicon/robot/dogborg/dog_sleeper_vr.dm
+++ b/code/modules/mob/living/silicon/robot/dogborg/dog_sleeper_vr.dm
@@ -682,3 +682,10 @@
icon_state = "decompiler"
max_item_count = 20
delivery = TRUE
+
+/obj/item/device/dogborg/sleeper/compactor/brewer //Boozehound gut. //YW Changes
+ name = "Brew Belly"
+ desc = "A mounted drunk tank unit with fuel processor."
+ icon_state = "brewer"
+ injection_chems = null
+ max_item_count = 1
\ No newline at end of file
diff --git a/code/modules/mob/living/silicon/robot/robot_modules/station_vr.dm b/code/modules/mob/living/silicon/robot/robot_modules/station_vr.dm
index cd83e86028..6998c1c601 100644
--- a/code/modules/mob/living/silicon/robot/robot_modules/station_vr.dm
+++ b/code/modules/mob/living/silicon/robot/robot_modules/station_vr.dm
@@ -44,6 +44,7 @@
robot_modules["Sci-borg"] = /obj/item/weapon/robot_module/robot/science
robot_modules["Pupdozer"] = /obj/item/weapon/robot_module/robot/engiedog
robot_modules["Servicehound"] = /obj/item/weapon/robot_module/robot/servicehound //YW changes
+ robot_modules["BoozeHound"] = /obj/item/weapon/robot_module/robot/booze
return 1
//Just add a new proc with the robot_module type if you wish to run some other vore code
@@ -695,3 +696,94 @@
// R.verbs -= /mob/living/proc/shred_limb - YW Edit
R.verbs -= /mob/living/silicon/robot/proc/rest_style
..()
+
+//YW Changes - BoozeBorg Begin
+
+/obj/item/weapon/robot_module/robot/booze
+ name = "BoozeHound robot module"
+ channels = list("Service" = 1)
+ languages = list(
+ LANGUAGE_SOL_COMMON = 1,
+ LANGUAGE_UNATHI = 1,
+ LANGUAGE_SIIK = 1,
+ LANGUAGE_AKHANI = 1,
+ LANGUAGE_SKRELLIAN = 1,
+ LANGUAGE_SKRELLIANFAR = 0,
+ LANGUAGE_ROOTLOCAL = 0,
+ LANGUAGE_TRADEBAND = 1,
+ LANGUAGE_GUTTER = 0,
+ LANGUAGE_SCHECHI = 1,
+ LANGUAGE_EAL = 1,
+ LANGUAGE_TERMINUS = 1,
+ LANGUAGE_SIGN = 0
+ )
+
+/obj/item/weapon/robot_module/robot/booze
+ sprites = list(
+ "Beer Buddy" = "boozeborg",
+ "Brilliant Blue" = "boozeborg(blue)",
+ "Caffine Dispenser" = "boozeborg(coffee)",
+ "Gamer Juice Maker" = "boozeborg(green)",
+ "Liqour Licker" = "boozeborg(orange)",
+ "The Grapist" = "boozeborg(purple)",
+ "Vampire's Aid" = "boozeborg(red)",
+ "Vodka Komrade" = "boozeborg(vodka)"
+ )
+
+/obj/item/weapon/robot_module/robot/booze/New(var/mob/living/silicon/robot/R)
+ ..()
+ src.modules += new /obj/item/weapon/gripper/service(src)
+ //src.modules += new /obj/item/weapon/reagent_containers/glass/bucket(src)
+ //src.modules += new /obj/item/weapon/material/minihoe(src)
+ //src.modules += new /obj/item/device/analyzer/plant_analyzer(src)
+ //src.modules += new /obj/item/weapon/storage/bag/plants(src)
+ //src.modules += new /obj/item/weapon/robot_harvester(src)
+ src.modules += new /obj/item/weapon/material/knife(src)
+ src.modules += new /obj/item/weapon/material/kitchen/rollingpin(src)
+ src.modules += new /obj/item/device/multitool(src) //to freeze trays
+ src.modules += new /obj/item/weapon/dogborg/jaws/small(src)
+ src.modules += new /obj/item/weapon/tray/robotray
+ src.modules += new /obj/item/device/dogborg/boop_module(src)
+ src.modules += new /obj/item/device/dogborg/sleeper/compactor/brewer(src)
+ src.emag = new /obj/item/weapon/dogborg/pounce(src)
+ R.verbs += /mob/living/silicon/robot/proc/reskin_booze
+
+ var/obj/item/weapon/rsf/M = new /obj/item/weapon/rsf(src)
+ M.stored_matter = 30
+ src.modules += M
+
+ src.modules += new /obj/item/weapon/reagent_containers/dropper/industrial(src)
+
+ var/obj/item/weapon/flame/lighter/zippo/L = new /obj/item/weapon/flame/lighter/zippo(src)
+ L.lit = 1
+ src.modules += L
+
+ src.modules += new /obj/item/weapon/tray/robotray(src)
+ src.modules += new /obj/item/weapon/reagent_containers/borghypo/service(src)
+ src.emag = new /obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer(src)
+
+ var/datum/reagents/N = new/datum/reagents(50)
+ src.emag.reagents = N
+ N.my_atom = src.emag
+ N.add_reagent("beer2", 50)
+ src.emag.name = "Mickey Finn's Special Brew"
+
+ R.icon = 'icons/mob/widerobot_colors_vr.dmi'
+ R.hands.icon = 'icons/mob/screen1_robot_vr.dmi'
+ R.ui_style_vr = TRUE
+ R.pixel_x = -16
+ R.old_x = -16
+ R.default_pixel_x = -16
+ R.dogborg = TRUE
+ R.wideborg = TRUE
+ R.verbs |= /mob/living/silicon/robot/proc/ex_reserve_refill
+ ..()
+
+/obj/item/weapon/robot_module/robot/booze/respawn_consumable(var/mob/living/silicon/robot/R, var/amount)
+ var/obj/item/weapon/reagent_containers/food/condiment/enzyme/E = locate() in src.modules
+ E.reagents.add_reagent("enzyme", 2 * amount)
+ if(src.emag)
+ var/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer/B = src.emag
+ B.reagents.add_reagent("beer2", 2 * amount)
+
+// YW Changes - Boozeborg end
\ No newline at end of file
diff --git a/icons/mob/dogborg_vr.dmi b/icons/mob/dogborg_vr.dmi
index 78d646c6aa..6b77c5a222 100644
Binary files a/icons/mob/dogborg_vr.dmi and b/icons/mob/dogborg_vr.dmi differ
diff --git a/icons/mob/screen1_robot_vr.dmi b/icons/mob/screen1_robot_vr.dmi
index 3c8a67154e..08a3fa8f05 100644
Binary files a/icons/mob/screen1_robot_vr.dmi and b/icons/mob/screen1_robot_vr.dmi differ
diff --git a/icons/mob/widerobot_colors_vr.dmi b/icons/mob/widerobot_colors_vr.dmi
new file mode 100644
index 0000000000..b7d10b0064
Binary files /dev/null and b/icons/mob/widerobot_colors_vr.dmi differ