From 0d21889beea9ca343979ce8d48358e76212f7e6e Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Fri, 11 Jul 2014 13:50:34 +0930 Subject: [PATCH] Fixed some bugs, did some testing, moved some procs around for robot functionality. --- .../structures/stool_bed_chair_nest/bed.dm | 16 +++++++++++++++- code/modules/mob/living/silicon/robot/robot.dm | 12 ++++++++++-- .../mob/living/silicon/robot/robot_items.dm | 2 +- .../mob/living/silicon/robot/robot_modules.dm | 2 ++ 4 files changed, 28 insertions(+), 4 deletions(-) diff --git a/code/game/objects/structures/stool_bed_chair_nest/bed.dm b/code/game/objects/structures/stool_bed_chair_nest/bed.dm index 985d34d8c0..19bbcf36f4 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/bed.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/bed.dm @@ -71,7 +71,9 @@ "You hear metal clanking") unbuckle() src.add_fingerprint(user) - return + return 1 + + return 0 /obj/structure/stool/bed/proc/buckle_mob(mob/M as mob, mob/user as mob) if (!ticker) @@ -112,6 +114,18 @@ icon_state = "down" anchored = 0 +/obj/structure/stool/bed/roller/attackby(obj/item/weapon/W as obj, mob/user as mob) + if(istype(W,/obj/item/roller_holder)) + if(buckled_mob) + manual_unbuckle() + else + visible_message("[user] collapses \the [src.name].") + new/obj/item/roller(get_turf(src)) + spawn(0) + del(src) + return + ..() + /obj/item/roller name = "roller bed" desc = "A collapsed roller bed that can be carried around." diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 00124ffd63..8d1823f0c5 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -163,7 +163,7 @@ /mob/living/silicon/robot/proc/pick_module() if(module) return - var/list/modules = list("Standard", "Engineering", "Surgeon", "Crisis", "Miner", "Janitor", "Service", "Security") + var/list/modules = list("Standard", "Engineering", "Construction", "Surgeon", "Crisis", "Miner", "Janitor", "Service", "Clerical", "Security") if(crisis && security_level == SEC_LEVEL_RED) //Leaving this in until it's balanced appropriately. src << "\red Crisis mode active. Combat module available." modules+="Combat" @@ -189,6 +189,14 @@ module_sprites["Rich"] = "maximillion" module_sprites["Default"] = "Service2" + if("Clerical") + module = new /obj/item/weapon/robot_module/clerical(src) + module_sprites["Waitress"] = "Service" + module_sprites["Kent"] = "toiletbot" + module_sprites["Bro"] = "Brobot" + module_sprites["Rich"] = "maximillion" + module_sprites["Default"] = "Service2" + if("Miner") module = new /obj/item/weapon/robot_module/miner(src) module.channels = list("Supply" = 1) @@ -237,7 +245,7 @@ module_sprites["Landmate"] = "landmate" if("Construction") - module = new /obj/item/weapon/robot_module/engineering(src) + module = new /obj/item/weapon/robot_module/construction(src) module.channels = list("Engineering" = 1) if(camera && "Robots" in camera.network) camera.network.Add("Engineering") diff --git a/code/modules/mob/living/silicon/robot/robot_items.dm b/code/modules/mob/living/silicon/robot/robot_items.dm index 0536b07fd4..931cb0556b 100644 --- a/code/modules/mob/living/silicon/robot/robot_items.dm +++ b/code/modules/mob/living/silicon/robot/robot_items.dm @@ -105,7 +105,7 @@ if("Colour") var/newcolour = input("Which colour would you like to use?") as null|anything in list("black","blue","red","green","yellow") - if(newcolour) color = newcolour + if(newcolour) colour = newcolour if("Mode") if (mode == 1) diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index aa9f5ce958..3ad034666a 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -134,6 +134,8 @@ src.modules += new /obj/item/weapon/reagent_containers/syringe(src) src.modules += new /obj/item/weapon/extinguisher/mini(src) + src.emag = new /obj/item/weapon/reagent_containers/spray(src) + src.emag.reagents.add_reagent("pacid", 250) src.emag.name = "Polyacid spray" return