diff --git a/code/game/objects/items/weapons/storage/bags.dm b/code/game/objects/items/weapons/storage/bags.dm index 005def5410a..0466de03c93 100644 --- a/code/game/objects/items/weapons/storage/bags.dm +++ b/code/game/objects/items/weapons/storage/bags.dm @@ -337,6 +337,21 @@ desc = "" capacity = 500//Borgs get more because >specialization +// ----------------------------- +// Food Bag (Service Hound) +// ----------------------------- +/obj/item/weapon/storage/bag/dogborg + name = "dog bag" + icon = 'icons/obj/storage.dmi' + icon_state = "foodbag" + desc = "A bag for storing things of all kinds." + max_storage_space = ITEMSIZE_COST_NORMAL * 25 + max_w_class = ITEMSIZE_NORMAL + w_class = ITEMSIZE_SMALL + can_hold = list(/obj/item/weapon/reagent_containers/food/snacks,/obj/item/weapon/reagent_containers/food/condiment, + /obj/item/weapon/reagent_containers/glass/beaker,/obj/item/weapon/reagent_containers/glass/bottle,/obj/item/weapon/coin,/obj/item/weapon/spacecash, + /obj/item/weapon/reagent_containers/food/snacks/grown,/obj/item/seeds,/obj/item/weapon/grown,/obj/item/weapon/reagent_containers/pill) + // ----------------------------- // Cash Bag // ----------------------------- diff --git a/code/global_vr.dm b/code/global_vr.dm index bb85b43adf2..9d06ea18a3d 100644 --- a/code/global_vr.dm +++ b/code/global_vr.dm @@ -4,11 +4,12 @@ robot_module_types += "Janihound" robot_module_types += "Sci-borg" robot_module_types += "Pupdozer" + robot_module_types += "Service-Hound" robot_module_types += "KMine" return 1 var/list/shell_module_types = list( - "Standard", "Service", "Clerical" + "Standard", "Service", "Clerical", "Service-Hound" ) var/list/eventdestinations = list() // List of scatter landmarks for VOREStation event portals 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 8a07293d45d..cc8c6b5ee48 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 @@ -43,6 +43,7 @@ robot_modules["Janihound"] = /obj/item/weapon/robot_module/robot/scrubpup robot_modules["Sci-borg"] = /obj/item/weapon/robot_module/robot/science robot_modules["Pupdozer"] = /obj/item/weapon/robot_module/robot/engiedog + robot_modules["Service-Hound"] = /obj/item/weapon/robot_module/robot/clerical/brodog robot_modules["KMine"] = /obj/item/weapon/robot_module/robot/kmine return 1 @@ -149,7 +150,7 @@ name = "k9 robot module" sprites = list( "K9 hound" = "k9", - "K9 Alternative (Static)" = "k92", + "K9 Alternative" = "k92", "Secborg model V-2" = "secborg", "Borgi" = "borgi-sec" ) @@ -616,7 +617,80 @@ R.verbs |= /mob/living/proc/shred_limb R.verbs |= /mob/living/silicon/robot/proc/rest_style ..() - + +// Uses modified K9 sprites. +/obj/item/weapon/robot_module/robot/clerical/brodog + name = "service-hound module" + sprites = list( + "Blackhound" = "k50", + "Pinkhound" = "k69", + "ServicehoundV2" = "serve2", + "ServicehoundV2 Darkmode" = "servedark", + ) + channels = list("Service" = 1) + can_be_pushed = 0 + + +// In a nutshell, basicly service/butler robot but in dog form. - Port from CitadelRP +/obj/item/weapon/robot_module/robot/clerical/brodog/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/weapon/material/knife/machete/hatchet(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/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/device/dogborg/boop_module(src) + src.emag = new /obj/item/weapon/dogborg/pounce(src) //Pounce + + var/datum/matter_synth/water = new /datum/matter_synth(500) // buffy fix, was 0 + water.name = "Water reserves" + water.recharge_rate = 0 + 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) + +/* // I don't know what kind of sleeper to put here, but also no need if you already have "Robot Nom" verb. - revisit later + var/obj/item/device/dogborg/sleeper/K9/B = new /obj/item/device/dogborg/sleeper/K9(src) + B.water = water + src.modules += B +*/ + + R.icon = 'icons/mob/widerobot_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 + R.verbs |= /mob/living/silicon/robot/proc/robot_mount + R.verbs |= /mob/living/silicon/robot/proc/rest_style + ..() + /obj/item/weapon/robot_module/robot/kmine name = "Supply Hound Module" sprites = list( diff --git a/icons/mob/widerobot_vr.dmi b/icons/mob/widerobot_vr.dmi index fb46a5d31e1..3164b27e632 100644 Binary files a/icons/mob/widerobot_vr.dmi and b/icons/mob/widerobot_vr.dmi differ