diff --git a/code/global.dm b/code/global.dm
index d3eea92449..9077df8d9c 100644
--- a/code/global.dm
+++ b/code/global.dm
@@ -144,7 +144,7 @@ var/list/robot_module_types = list(
"Miner", "Janitor", "Service", "Clerical", "Security",
"Research", "Medihound", "K9", "Janihound", "Sci-borg", "Pupdozer",
"Service-Hound", "BoozeHound", "KMine"
- , "UnityHound" // CHOMPEdit -- Adds the UnityHound drone to the list.
+ , "UnityHound", "Honk-Hound" // CHOMPEdit -- Adds the UnityHound drone to the list.
)
// List of modules added during code red
var/list/emergency_module_types = list(
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 91e5a9db43..7c56df6e93 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
@@ -741,6 +741,14 @@
drain(100) //-100 charge per injection
var/units = round(patient.reagents.get_reagent_amount(chem))
to_chat(hound, "Injecting [units] unit\s into occupant.") //If they were immersed, the reagents wouldn't leave with them.
+
+/obj/item/device/dogborg/sleeper/compactor/honkborg
+ name = "Jiggles Von Hungertron"
+ desc = "You've heard of Giggles Von Honkerton for the back, now get ready for Jiggles Von Hungertron for the front."
+ icon = 'icons/mob/dogborg_ch.dmi'
+ icon_state = "clowngut"
+ recycles = FALSE
+
//CHOMP Addition end
/obj/item/device/dogborg/sleeper/K9/ert
diff --git a/code/modules/mob/living/silicon/robot/robot_modules/station_ch.dm b/code/modules/mob/living/silicon/robot/robot_modules/station_ch.dm
index bc26c9bfa6..c506e6856c 100644
--- a/code/modules/mob/living/silicon/robot/robot_modules/station_ch.dm
+++ b/code/modules/mob/living/silicon/robot/robot_modules/station_ch.dm
@@ -22,4 +22,73 @@
src.modules += new /obj/item/weapon/surgical/surgicaldrill/cyborg(src)
src.modules += new /obj/item/weapon/surgical/bioregen(src)
src.modules += new /obj/item/weapon/gripper/no_use/organ(src)
- src.modules += new /obj/item/weapon/reagent_containers/dropper(src)
\ No newline at end of file
+ src.modules += new /obj/item/weapon/reagent_containers/dropper(src)
+
+
+/obj/item/weapon/robot_module/robot/clerical/honkborg
+ name = "honk-hound module"
+ sprites = list(
+ "Honkborg" = "honkborg"
+ )
+ channels = list("Service" = 1,
+ "Entertainment" = 1)
+ pto_type = PTO_CIVILIAN
+ can_be_pushed = 0
+
+/obj/item/weapon/robot_module/robot/clerical/honkborg/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/dogborg(src)
+ src.modules += new /obj/item/weapon/robot_harvester(src)
+ src.modules += new /obj/item/device/multitool(src)
+ src.modules += new /obj/item/weapon/dogborg/jaws/small(src)
+ src.modules += new /obj/item/device/dogborg/boop_module(src)
+ src.modules += new /obj/item/weapon/dogborg/pounce(src)
+ src.modules += new /obj/item/weapon/bikehorn(src)
+ src.modules += new /obj/item/weapon/gun/launcher/confetti_cannon/honkborg(src)
+
+ var/datum/matter_synth/water = new /datum/matter_synth(500)
+ water.name = "Water reserves"
+ water.recharge_rate = 10
+ water.max_energy = 1000
+ R.water_res = water
+ synths += water
+
+ var/obj/item/device/dogborg/tongue/T = new /obj/item/device/dogborg/tongue(src)
+ T.water = water
+ src.modules += T
+
+ 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)
+
+ var/obj/item/device/dogborg/sleeper/compactor/honkborg/B = new /obj/item/device/dogborg/sleeper/compactor/honkborg(src)
+ B.water = water
+ src.modules += B
+
+ R.icon = 'icons/mob/widerobot_ch.dmi'
+ R.wideborg_dept = 'icons/mob/widerobot_ch.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
+ R.verbs |= /mob/living/silicon/robot/proc/robot_mount
+ R.verbs |= /mob/living/proc/toggle_rider_reins
+ R.verbs |= /mob/living/proc/shred_limb
+ R.verbs |= /mob/living/silicon/robot/proc/rest_style
+ ..()
\ 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 867199cde7..4e03f8abbe 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
@@ -73,6 +73,7 @@
robot_modules["BoozeHound"] = /obj/item/weapon/robot_module/robot/booze
robot_modules["KMine"] = /obj/item/weapon/robot_module/robot/kmine
robot_modules["UnityHound"] = /obj/item/weapon/robot_module/robot/chound //CHOMP Addition Unity
+ robot_modules["Honk-Hound"] = /obj/item/weapon/robot_module/robot/clerical/honkborg //CHOMP Addition Honk
robot_modules["Stray"] = /obj/item/weapon/robot_module/robot/stray
return 1
diff --git a/code/modules/projectiles/guns/launcher/confetti_ch.dm b/code/modules/projectiles/guns/launcher/confetti_ch.dm
index caeba1874c..e66067a85a 100644
--- a/code/modules/projectiles/guns/launcher/confetti_ch.dm
+++ b/code/modules/projectiles/guns/launcher/confetti_ch.dm
@@ -7,6 +7,8 @@
item_state = "confetti_cannon"
w_class = ITEMSIZE_NORMAL
origin_tech = list(TECH_COMBAT = 1, TECH_MATERIAL = 2)
+ throw_distance = 7
+ release_force = 5
var/obj/item/weapon/grenade/confetti/party_ball/chambered = null
var/confetti_charge = 0
@@ -54,4 +56,42 @@
name = "overdrive confetti cannon"
desc = "For those times when you absolutely need colored paper everywhere, EVERYWHERE."
confetti_charge = 100
- max_confetti = 100
\ No newline at end of file
+ max_confetti = 100
+
+/obj/item/weapon/gun/launcher/confetti_cannon/honkborg
+ name = "Party Cannon"
+ desc = "Confetti, pies, banana peels, chaos!"
+
+/obj/item/weapon/gun/launcher/confetti_cannon/honkborg/pump(mob/M as mob)
+ playsound(M, 'sound/weapons/shotgunpump.ogg', 60, 1)
+ if(!chambered)
+ var/choice = tgui_alert(usr, "Load the Party Canon with?", "Change What?", list("Confetti","Banana Peel","Cream Pie"))
+ if(!choice)
+ return
+ playsound(src, 'sound/effects/pop.ogg', 50, 0)
+ switch(choice)
+ if("Confetti")
+ chambered = new /obj/item/weapon/grenade/confetti/party_ball
+ to_chat(usr, "Confetti loaded.")
+ if(istype(usr,/mob/living/silicon/robot))
+ var/mob/living/silicon/robot/R = usr
+ R.cell.charge -= 200
+ if("Banana Peel")
+ chambered = new /obj/item/weapon/bananapeel
+ to_chat(usr, "Banana peel loaded.")
+ if(istype(usr,/mob/living/silicon/robot))
+ var/mob/living/silicon/robot/R = usr
+ R.cell.charge -= 200
+ if("Cream Pie")
+ chambered = new /obj/item/weapon/reagent_containers/food/snacks/pie
+ to_chat(usr, "Banana cream pie loaded.")
+ if(istype(usr,/mob/living/silicon/robot))
+ var/mob/living/silicon/robot/R = usr
+ R.cell.charge -= 200
+ else
+ to_chat(usr, "The [src] is already loaded!")
+
+/obj/item/weapon/gun/launcher/confetti_cannon/honkborg/consume_next_projectile()
+ if(istype(chambered,/obj/item/weapon/grenade/confetti/party_ball))
+ chambered.activate(null)
+ return chambered
\ No newline at end of file
diff --git a/icons/mob/dogborg_ch.dmi b/icons/mob/dogborg_ch.dmi
index 25dbff645f..d26acf669e 100644
Binary files a/icons/mob/dogborg_ch.dmi and b/icons/mob/dogborg_ch.dmi differ
diff --git a/icons/mob/widerobot_ch.dmi b/icons/mob/widerobot_ch.dmi
index 617f248fc4..48e9872039 100644
Binary files a/icons/mob/widerobot_ch.dmi and b/icons/mob/widerobot_ch.dmi differ