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