diff --git a/code/modules/mob/living/silicon/robot/dogborg/dog_modules_vr.dm b/code/modules/mob/living/silicon/robot/dogborg/dog_modules_vr.dm
index 7d24676e0b9..e723b4ee41d 100644
--- a/code/modules/mob/living/silicon/robot/dogborg/dog_modules_vr.dm
+++ b/code/modules/mob/living/silicon/robot/dogborg/dog_modules_vr.dm
@@ -142,15 +142,27 @@
chargecost = 500
/obj/item/weapon/shockpaddles/robot/hound/jumper
- name = "paws of life"
- icon = 'icons/mob/dogborg_vr.dmi'
- icon_state = "defibpaddles0"
+ name = "jumper paws"
desc = "Zappy paws. For rebooting a full body prostetic."
- combat = 1
- attack_verb = list("batted", "pawed", "bopped", "whapped")
- chargecost = 500
use_on_synthetic = 1
+/obj/item/weapon/reagent_containers/borghypo/hound
+ name = "MediHound hypospray"
+ desc = "An advanced chemical synthesizer and injection system utilizing carrier's reserves, designed for heavy-duty medical equipment."
+ charge_cost = 10
+ var/datum/matter_synth/water = null
+
+/obj/item/weapon/reagent_containers/borghypo/hound/process() //Recharges in smaller steps and uses the water reserves as well.
+ if(isrobot(loc))
+ var/mob/living/silicon/robot/R = loc
+ if(R && R.cell)
+ for(var/T in reagent_ids)
+ if(reagent_volumes[T] < volume && water.energy >= charge_cost)
+ R.cell.use(charge_cost)
+ water.use_charge(charge_cost)
+ reagent_volumes[T] = min(reagent_volumes[T] + 1, volume)
+ return 1
+
//Tongue stuff
/obj/item/device/dogborg/tongue
name = "synthetic tongue"
@@ -188,7 +200,14 @@
user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
if(user.client && (target in user.client.screen))
to_chat(user, "You need to take \the [target.name] off before cleaning it!")
- else if(istype(target,/obj/effect/decal/cleanable) && water.energy >= 5)
+ if(istype(target, /obj/structure/sink) || istype(target, /obj/structure/toilet)) //Dog vibes.
+ user.visible_message("[user] begins to lap up water from [target.name].", "You begin to lap up water from [target.name].")
+ if(do_after (user, 50))
+ water.add_charge(50)
+ else if(water.energy < 5)
+ to_chat(user, "Your mouth feels dry.")
+ return
+ else if(istype(target,/obj/effect/decal/cleanable))
user.visible_message("[user] begins to lick off \the [target.name].", "You begin to lick off \the [target.name]...")
if(do_after (user, 50))
to_chat(user, "You finish licking off \the [target.name].")
@@ -196,7 +215,7 @@
qdel(target)
var/mob/living/silicon/robot.R = user
R.cell.charge += 50
- else if(istype(target,/obj/item) && water.energy >= 5)
+ else if(istype(target,/obj/item))
if(istype(target,/obj/item/trash))
user.visible_message("[user] nibbles away at \the [target.name].", "You begin to nibble away at \the [target.name]...")
if(do_after (user, 50))
@@ -238,25 +257,14 @@
"[user] has shocked you with its tongue! You can feel the betrayal.")
playsound(loc, 'sound/weapons/Egloves.ogg', 50, 1, -1)
R.cell.charge -= 666
- else if(water.energy >= 5)
+ else
user.visible_message("\the [user] affectionally licks all over \the [target]'s face!", "You affectionally lick all over \the [target]'s face!")
playsound(src.loc, 'sound/effects/attackblob.ogg', 50, 1)
water.use_charge(5)
var/mob/living/carbon/human/H = target
if(H.species.lightweight == 1)
H.Weaken(3)
- return
- else if(istype(target, /obj/structure/window) && water.energy >= 1)
- user.visible_message("[user] begins to lick \the [target.name] clean...", "You begin to lick \the [target.name] clean...")
- if(do_after (user, 50))
- to_chat(user, "You clean \the [target.name].")
- water.use_charge(5)
- target.color = initial(target.color)
- else if(istype(target, /obj/structure/sink) || istype(target, /obj/structure/toilet)) //Dog vibes.
- user.visible_message("[user] begins to lap up water from [target.name].", "You begin to lap up water from [target.name].")
- if(do_after (user, 50))
- water.add_charge(100)
- else if(water.energy >= 5)
+ else
user.visible_message("[user] begins to lick \the [target.name] clean...", "You begin to lick \the [target.name] clean...")
if(do_after (user, 50))
to_chat(user, "You clean \the [target.name].")
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 56d0bb0182a..82f46a0dc66 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
@@ -207,7 +207,6 @@
src.modules += new /obj/item/weapon/dogborg/jaws/small(src) //In case a patient is being attacked by carp.
src.modules += new /obj/item/device/dogborg/boop_module(src) //Boop the crew.
src.modules += new /obj/item/device/healthanalyzer(src) // See who's hurt specificially.
- src.modules += new /obj/item/weapon/reagent_containers/borghypo(src)//So medi-hounds aren't nearly useless
src.modules += new /obj/item/weapon/reagent_containers/syringe(src) //In case the chemist is nice!
src.modules += new /obj/item/weapon/reagent_containers/glass/beaker(src)//For holding the chemicals when the chemist is nice
src.modules += new /obj/item/device/sleevemate(src) //Lets them scan people.
@@ -222,6 +221,10 @@
R.water_res = water
synths += water
+ var/obj/item/weapon/reagent_containers/borghypo/hound/H = new /obj/item/weapon/reagent_containers/borghypo/hound(src)
+ H.water = water
+ src.modules += H
+
var/obj/item/device/dogborg/tongue/T = new /obj/item/device/dogborg/tongue(src)
T.water = water
src.modules += T