diff --git a/code/global_vr.dm b/code/global_vr.dm index 834ff2dc2c..b271f245da 100644 --- a/code/global_vr.dm +++ b/code/global_vr.dm @@ -4,12 +4,14 @@ robot_module_types += "Janihound" robot_module_types += "Sci-borg" robot_module_types += "Pupdozer" + robot_module_types += "Servicehound" //YW changes return 1 var/list/shell_module_types = list( "Standard", "Engineering", "Surgeon", "Crisis", "Miner", "Janitor", "Service", "Clerical", - "Medihound", "Janihound" + "Medihound", "Janihound", + "Servicehound" //YW changes ) var/list/eventdestinations = list() // List of scatter landmarks for VOREStation event portals @@ -52,4 +54,4 @@ var/global/list/acceptable_fruit_types= list( "vanilla", "watermelon", "wheat", - "whitebeet") \ No newline at end of file + "whitebeet") 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 4cb560bbbc..cd83e86028 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["Servicehound"] = /obj/item/weapon/robot_module/robot/servicehound //YW changes return 1 //Just add a new proc with the robot_module type if you wish to run some other vore code @@ -479,7 +480,8 @@ name = "Construction Hound module" sprites = list( "Pupdozer" = "pupdozer", - "Borgi" = "borgi-eng" + "Borgi" = "borgi-eng", + "V2 Engidog" = "thottbot" //YW changes ) channels = list("Engineering" = 1) networks = list(NETWORK_ENGINEERING) @@ -603,6 +605,82 @@ R.verbs |= /mob/living/silicon/robot/proc/rest_style ..() + +//YW changes - Addition of Servicehound start +/obj/item/weapon/robot_module/robot/servicehound + 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. +/obj/item/weapon/robot_module/robot/servicehound/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/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/device/dogborg/boop_module(src) + src.emag = new /obj/item/weapon/dogborg/pounce(src) //Pounce + + var/datum/matter_synth/water = new /datum/matter_synth() + water.name = "Water reserves" + water.recharge_rate = 0 + water.max_energy = 1000 + water.energy = 0 + 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. + 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 + ..() + +//YW changes - Addition of Servicehound end + + /obj/item/weapon/robot_module/Reset(var/mob/living/silicon/robot/R) R.pixel_x = initial(pixel_x) R.pixel_y = initial(pixel_y) @@ -616,4 +694,4 @@ R.verbs -= /mob/living/silicon/robot/proc/robot_mount // R.verbs -= /mob/living/proc/shred_limb - YW Edit R.verbs -= /mob/living/silicon/robot/proc/rest_style - ..() \ No newline at end of file + ..() diff --git a/icons/mob/widerobot_vr.dmi b/icons/mob/widerobot_vr.dmi index 529dd7231d..4ff1af7f44 100644 Binary files a/icons/mob/widerobot_vr.dmi and b/icons/mob/widerobot_vr.dmi differ