diff --git a/code/datums/spells/knock.dm b/code/datums/spells/knock.dm index 3da2e02f254..6c88667470a 100644 --- a/code/datums/spells/knock.dm +++ b/code/datums/spells/knock.dm @@ -19,5 +19,6 @@ for(var/obj/machinery/door/G in oview(usr,range)) spawn(1) + G:locked = 0 G.open() return \ No newline at end of file diff --git a/code/game/machinery/bots/cleanbot.dm b/code/game/machinery/bots/cleanbot.dm index 8b150b8b5c9..2ddb9e985a5 100644 --- a/code/game/machinery/bots/cleanbot.dm +++ b/code/game/machinery/bots/cleanbot.dm @@ -10,6 +10,7 @@ throw_range = 5 w_class = 3.0 flags = TABLEPASS + var/created_name = "Cleanbot" //Cleanbot @@ -210,17 +211,28 @@ text("[src.oddbutton ? "Yes" : "No" src.anchored = 0 src.target = null -/obj/item/weapon/bucket_sensor/attackby(var/obj/item/robot_parts/P, mob/user as mob) - if(!istype(P, /obj/item/robot_parts/l_arm) && !istype(P, /obj/item/robot_parts/r_arm)) - return - var/obj/machinery/bot/cleanbot/A = new /obj/machinery/bot/cleanbot - if(user.r_hand == src || user.l_hand == src) - A.loc = user.loc - else - A.loc = src.loc - user << "You add the robot arm to the bucket and sensor assembly! Beep boop!" - del(P) - del(src) +/obj/item/weapon/bucket_sensor/attackby(var/obj/item/W, mob/user as mob) + if(istype(W, /obj/item/robot_parts/l_arm) || istype(W, /obj/item/robot_parts/r_arm)) + var/obj/machinery/bot/cleanbot/A = new /obj/machinery/bot/cleanbot + if(user.r_hand == src || user.l_hand == src) + A.loc = user.loc + else + A.loc = src.loc + A.name = src.created_name + user << "You add the robot arm to the bucket and sensor assembly! Beep boop!" + del(W) + del(src) + + else if (istype(W, /obj/item/weapon/pen)) + var/t = input(user, "Enter new robot name", src.name, src.created_name) as text + t = copytext(sanitize(t), 1, MAX_MESSAGE_LEN) + if (!t) + return + if (!in_range(src, usr) && src.loc != usr) + return + + src.created_name = t + diff --git a/code/game/machinery/bots/floorbot.dm b/code/game/machinery/bots/floorbot.dm index e67805f0f6e..ae279596d10 100644 --- a/code/game/machinery/bots/floorbot.dm +++ b/code/game/machinery/bots/floorbot.dm @@ -10,6 +10,7 @@ throw_range = 5 w_class = 3.0 flags = TABLEPASS + var/created_name = "Floorbot" /obj/item/weapon/toolbox_tiles_sensor desc = "It's a toolbox with tiles sticking out the top and a sensor attached" @@ -22,6 +23,7 @@ throw_range = 5 w_class = 3.0 flags = TABLEPASS + var/created_name = "Floorbot" //Floorbot /obj/machinery/bot/floorbot @@ -349,30 +351,48 @@ del(T) del(src) -/obj/item/weapon/toolbox_tiles/attackby(var/obj/item/device/prox_sensor/D, mob/user as mob) - if(!istype(D, /obj/item/device/prox_sensor)) - return - var/obj/item/weapon/toolbox_tiles_sensor/B = new /obj/item/weapon/toolbox_tiles_sensor - B.loc = user - if (user.r_hand == D) - user.u_equip(D) - user.r_hand = B - else - user.u_equip(D) - user.l_hand = B - B.layer = 20 - user << "You add the sensor to the toolbox and tiles!" - del(D) - del(src) +/obj/item/weapon/toolbox_tiles/attackby(var/obj/item/W, mob/user as mob) + if(istype(W, /obj/item/device/prox_sensor)) + var/obj/item/weapon/toolbox_tiles_sensor/B = new /obj/item/weapon/toolbox_tiles_sensor + B.loc = user + if (user.r_hand == W) + user.u_equip(W) + user.r_hand = B + else + user.u_equip(W) + user.l_hand = B + B.created_name = src.created_name + B.layer = 20 + user << "You add the sensor to the toolbox and tiles!" + del(W) + del(src) + else if (istype(W, /obj/item/weapon/pen)) + var/t = input(user, "Enter new robot name", src.name, src.created_name) as text + t = copytext(sanitize(t), 1, MAX_MESSAGE_LEN) + if (!t) + return + if (!in_range(src, usr) && src.loc != usr) + return -/obj/item/weapon/toolbox_tiles_sensor/attackby(var/obj/item/robot_parts/P, mob/user as mob) - if(!istype(P, /obj/item/robot_parts/l_arm) && !istype(P, /obj/item/robot_parts/r_arm)) - return - var/obj/machinery/bot/floorbot/A = new /obj/machinery/bot/floorbot - if(user.r_hand == src || user.l_hand == src) - A.loc = user.loc - else - A.loc = src.loc - user << "You add the robot arm to the odd looking toolbox assembly! Boop beep!" - del(P) - del(src) + src.created_name = t + +/obj/item/weapon/toolbox_tiles_sensor/attackby(var/obj/item/W, mob/user as mob) + if(istype(W, /obj/item/robot_parts/l_arm) || istype(W, /obj/item/robot_parts/r_arm)) + var/obj/machinery/bot/floorbot/A = new /obj/machinery/bot/floorbot + if(user.r_hand == src || user.l_hand == src) + A.loc = user.loc + else + A.loc = src.loc + A.name = src.created_name + user << "You add the robot arm to the odd looking toolbox assembly! Boop beep!" + del(W) + del(src) + else if (istype(W, /obj/item/weapon/pen)) + var/t = input(user, "Enter new robot name", src.name, src.created_name) as text + t = copytext(sanitize(t), 1, MAX_MESSAGE_LEN) + if (!t) + return + if (!in_range(src, usr) && src.loc != usr) + return + + src.created_name = t \ No newline at end of file diff --git a/code/game/objects/items/robot_parts.dm b/code/game/objects/items/robot_parts.dm index 05269621575..9aed4fc2160 100644 --- a/code/game/objects/items/robot_parts.dm +++ b/code/game/objects/items/robot_parts.dm @@ -43,6 +43,7 @@ var/obj/item/robot_parts/chest/chest = null var/obj/item/robot_parts/head/head = null var/obj/item/brain/brain = null + var/created_name = "Cyborg" /obj/item/robot_parts/robot_suit/New() ..() @@ -138,8 +139,8 @@ O.gender = src.brain.owner.gender //O.start = 1 O.invisibility = 0 - O.name = "Cyborg" - O.real_name = "Cyborg" + O.name = src.created_name + O.real_name = src.created_name if (src.brain.owner.client) O.lastKnownIP = src.brain.owner.client.address @@ -167,6 +168,16 @@ else user << "\blue The brain must go in after everything else!" + if (istype(W, /obj/item/weapon/pen)) + var/t = input(user, "Enter new robot name", src.name, src.created_name) as text + t = copytext(sanitize(t), 1, MAX_MESSAGE_LEN) + if (!t) + return + if (!in_range(src, usr) && src.loc != usr) + return + + src.created_name = t + return /obj/item/robot_parts/chest/attackby(obj/item/W as obj, mob/user as mob)