From e1815db93a6c9aa3053349b109ba1585d01ecd14 Mon Sep 17 00:00:00 2001 From: "sieve32@gmail.com" Date: Wed, 28 Nov 2012 21:30:22 +0000 Subject: [PATCH] -Fixed a runtime involving helperbots being hit by TK-thrown objects and mobs -Door assemblies can now be named with a pen, and the finished door with have that name git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5220 316c924e-a436-60f5-8080-3fe189b3f50e --- code/game/machinery/bots/bots.dm | 17 ++++++++++------- code/game/machinery/bots/ed209bot.dm | 11 ++++++----- code/game/objects/structures/door_assembly.dm | 10 ++++++++++ 3 files changed, 26 insertions(+), 12 deletions(-) diff --git a/code/game/machinery/bots/bots.dm b/code/game/machinery/bots/bots.dm index af1683acfe5..0b1ad320884 100644 --- a/code/game/machinery/bots/bots.dm +++ b/code/game/machinery/bots/bots.dm @@ -88,13 +88,16 @@ else if (istype(W, /obj/item/weapon/card/emag) && emagged < 2) Emag(user) else - switch(W.damtype) - if("fire") - src.health -= W.force * fire_dam_coeff - if("brute") - src.health -= W.force * brute_dam_coeff - ..() - healthcheck() + if(hasvar(W,"force") && hasvar(W,"damtype")) + switch(W.damtype) + if("fire") + src.health -= W.force * fire_dam_coeff + if("brute") + src.health -= W.force * brute_dam_coeff + ..() + healthcheck() + else + ..() /obj/machinery/bot/bullet_act(var/obj/item/projectile/Proj) health -= Proj.damage diff --git a/code/game/machinery/bots/ed209bot.dm b/code/game/machinery/bots/ed209bot.dm index 2f239522643..35abc0aa40a 100644 --- a/code/game/machinery/bots/ed209bot.dm +++ b/code/game/machinery/bots/ed209bot.dm @@ -194,11 +194,12 @@ Auto Patrol: []"}, user << "Access denied." else ..() - if (!istype(W, /obj/item/weapon/screwdriver) && (W.force) && (!src.target)) - src.target = user - if(lasercolor)//To make up for the fact that lasertag bots don't hunt - src.shootAt(user) - src.mode = SECBOT_HUNT + if (!istype(W, /obj/item/weapon/screwdriver) && (!src.target)) + if(hasvar(W,"force") && W.force)//If force is defined and non-zero + src.target = user + if(lasercolor)//To make up for the fact that lasertag bots don't hunt + src.shootAt(user) + src.mode = SECBOT_HUNT /obj/machinery/bot/ed209/Emag(mob/user as mob) ..() diff --git a/code/game/objects/structures/door_assembly.dm b/code/game/objects/structures/door_assembly.dm index 0759b0b7b86..dcf8a36c987 100644 --- a/code/game/objects/structures/door_assembly.dm +++ b/code/game/objects/structures/door_assembly.dm @@ -13,6 +13,7 @@ obj/structure/door_assembly var/airlock_type = /obj/machinery/door/airlock //the type path of the airlock once completed var/glass_type = /obj/machinery/door/airlock/glass var/glass = null + var/created_name = null New() base_icon_state = copytext(icon_state,1,lentext(icon_state)) @@ -280,6 +281,13 @@ obj/structure/door_assembly glass = 0 /obj/structure/door_assembly/attackby(obj/item/W as obj, mob/user as mob) + if(istype(W, /obj/item/weapon/pen)) + var/t = copytext(stripped_input(user, "Enter the name for the door.", src.name, src.created_name),1,MAX_NAME_LEN) + if(!t) return + if(!in_range(src, usr) && src.loc != usr) return + created_name = t + return + if(istype(W, /obj/item/weapon/weldingtool) && !anchored ) var/obj/item/weapon/weldingtool/WT = W if(WT.remove_fuel(0,user)) @@ -416,6 +424,8 @@ obj/structure/door_assembly //door.req_access = src.req_access door.electronics = src.electronics door.req_access = src.electronics.conf_access + if(created_name) + door.name = created_name src.electronics.loc = door del(src) else