From 1fc8ce5bc56a2433352b373b07f38a4ba9d6e49b Mon Sep 17 00:00:00 2001 From: "petethegoat@gmail.com" Date: Tue, 14 Aug 2012 16:40:27 +0000 Subject: [PATCH] Fixes issue 739. Fixes issue 505. Boxing gloves can no longer be used to make stungloves (with descriptive, adventure game style failure message~). People without savefiles no longer get the "Your save has been deleted" message when they start the game. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4402 316c924e-a436-60f5-8080-3fe189b3f50e --- code/defines/obj.dm | 5 +---- code/game/machinery/bots/ed209bot.dm | 19 ++++++++-------- code/game/machinery/bots/medbot.dm | 21 +++++++++--------- code/game/machinery/bots/secbot.dm | 21 +++++++++--------- code/game/objects/items/weapons/stungloves.dm | 22 +++++++++++-------- code/game/objects/stool.dm | 21 ++++++++++-------- code/modules/mob/new_player/savefile.dm | 5 +++-- 7 files changed, 58 insertions(+), 56 deletions(-) diff --git a/code/defines/obj.dm b/code/defines/obj.dm index 73075a9aeff..233c0e9f9be 100644 --- a/code/defines/obj.dm +++ b/code/defines/obj.dm @@ -763,10 +763,7 @@ /obj/structure/stool/bed/chair/office/Move() ..() - if(buckled_mob) - if(buckled_mob.buckled == src) - buckled_mob.loc = src.loc - buckled_mob.dir = src.dir + handle_rotation() /obj/structure/stool/bed/chair/office/light icon_state = "officechair_white" diff --git a/code/game/machinery/bots/ed209bot.dm b/code/game/machinery/bots/ed209bot.dm index a84ff518011..a58380d445b 100644 --- a/code/game/machinery/bots/ed209bot.dm +++ b/code/game/machinery/bots/ed209bot.dm @@ -729,24 +729,23 @@ Auto Patrol: []"}, return threatcount /obj/machinery/bot/ed209/Bump(M as mob|obj) //Leave no door unopened! - spawn(0) - if ((istype(M, /obj/machinery/door)) && (!isnull(src.botcard))) - var/obj/machinery/door/D = M - if (!istype(D, /obj/machinery/door/firedoor) && D.check_access(src.botcard)) - D.open() - src.frustration = 0 - else if ((istype(M, /mob/living/)) && (!src.anchored)) - src.loc = M:loc + if ((istype(M, /obj/machinery/door)) && (!isnull(src.botcard))) + var/obj/machinery/door/D = M + if (!istype(D, /obj/machinery/door/firedoor) && D.check_access(src.botcard)) + D.open() src.frustration = 0 - - return + else if ((istype(M, /mob/living/)) && (!src.anchored)) + src.loc = M:loc + src.frustration = 0 return +/* terrible /obj/machinery/bot/ed209/Bumped(atom/movable/M as mob|obj) spawn(0) if (M) var/turf/T = get_turf(src) M:loc = T +*/ /obj/machinery/bot/ed209/proc/speak(var/message) for(var/mob/O in hearers(src, null)) diff --git a/code/game/machinery/bots/medbot.dm b/code/game/machinery/bots/medbot.dm index b7688412f99..a232ecd1a0d 100644 --- a/code/game/machinery/bots/medbot.dm +++ b/code/game/machinery/bots/medbot.dm @@ -9,7 +9,7 @@ icon = 'icons/obj/aibots.dmi' icon_state = "medibot0" layer = 5.0 - density = 1 + density = 0 anchored = 0 health = 20 maxhealth = 20 @@ -481,24 +481,23 @@ return /obj/machinery/bot/medbot/Bump(M as mob|obj) //Leave no door unopened! - spawn(0) - if ((istype(M, /obj/machinery/door)) && (!isnull(src.botcard))) - var/obj/machinery/door/D = M - if (!istype(D, /obj/machinery/door/firedoor) && D.check_access(src.botcard)) - D.open() - src.frustration = 0 - else if ((istype(M, /mob/living/)) && (!src.anchored)) - src.loc = M:loc + if ((istype(M, /obj/machinery/door)) && (!isnull(src.botcard))) + var/obj/machinery/door/D = M + if (!istype(D, /obj/machinery/door/firedoor) && D.check_access(src.botcard)) + D.open() src.frustration = 0 - - return + else if ((istype(M, /mob/living/)) && (!src.anchored)) + src.loc = M:loc + src.frustration = 0 return +/* terrible /obj/machinery/bot/medbot/Bumped(atom/movable/M as mob|obj) spawn(0) if (M) var/turf/T = get_turf(src) M:loc = T +*/ /* * Pathfinding procs, allow the medibot to path through doors it has access to. diff --git a/code/game/machinery/bots/secbot.dm b/code/game/machinery/bots/secbot.dm index 5ac9c59516e..61362d17515 100644 --- a/code/game/machinery/bots/secbot.dm +++ b/code/game/machinery/bots/secbot.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/aibots.dmi' icon_state = "secbot0" layer = 5.0 - density = 1 + density = 0 anchored = 0 health = 25 maxhealth = 25 @@ -640,24 +640,23 @@ Auto Patrol: []"}, return threatcount /obj/machinery/bot/secbot/Bump(M as mob|obj) //Leave no door unopened! - spawn(0) - if((istype(M, /obj/machinery/door)) && (!isnull(src.botcard))) - var/obj/machinery/door/D = M - if(!istype(D, /obj/machinery/door/firedoor) && D.check_access(src.botcard)) - D.open() - src.frustration = 0 - else if((istype(M, /mob/living/)) && (!src.anchored)) - src.loc = M:loc + if((istype(M, /obj/machinery/door)) && (!isnull(src.botcard))) + var/obj/machinery/door/D = M + if(!istype(D, /obj/machinery/door/firedoor) && D.check_access(src.botcard)) + D.open() src.frustration = 0 - - return + else if((istype(M, /mob/living/)) && (!src.anchored)) + src.loc = M:loc + src.frustration = 0 return +/* terrible /obj/machinery/bot/secbot/Bumped(atom/movable/M as mob|obj) spawn(0) if(M) var/turf/T = get_turf(src) M:loc = T +*/ /obj/machinery/bot/secbot/proc/speak(var/message) for(var/mob/O in hearers(src, null)) diff --git a/code/game/objects/items/weapons/stungloves.dm b/code/game/objects/items/weapons/stungloves.dm index acfacab4238..4b8387f8f68 100644 --- a/code/game/objects/items/weapons/stungloves.dm +++ b/code/game/objects/items/weapons/stungloves.dm @@ -1,4 +1,8 @@ /obj/item/clothing/gloves/attackby(obj/item/weapon/W, mob/user) + if(istype(src, /obj/item/clothing/gloves/boxing)) //quick fix for stunglove overlay not working nicely with boxing gloves. + user << "That won't work." //i'm not putting my lips on that! + ..() + return if(istype(W, /obj/item/weapon/cable_coil)) var/obj/item/weapon/cable_coil/C = W if(!wired) @@ -6,42 +10,42 @@ C.amount -= 2 wired = 1 siemens_coefficient = 1 - user << "You wrap some wires around [src]." + user << "You wrap some wires around [src]." update_icon() else - user << "There is not enough wire to cover [src]." + user << "There is not enough wire to cover [src]." else - user << "[src] are already wired." + user << "[src] are already wired." else if(istype(W, /obj/item/weapon/cell)) if(!wired) - user << "[src] need to be wired first." + user << "[src] need to be wired first." else if(!cell) user.drop_item() W.loc = src cell = W - user << "You attach a cell to [src]." + user << "You attach a cell to [src]." update_icon() else - user << "[src] already have a cell." + user << "[src] already have a cell." else if(istype(W, /obj/item/weapon/wirecutters)) if(cell) cell.updateicon() cell.loc = get_turf(src.loc) cell = null - user << "You cut the cell away from [src]." + user << "You cut the cell away from [src]." update_icon() return if(wired) //wires disappear into the void because fuck that shit wired = 0 siemens_coefficient = initial(siemens_coefficient) - user << "You cut the wires away from [src]." + user << "You cut the wires away from [src]." update_icon() ..() return -/obj/item/clothing/gloves/update_icon() //beep beep this'll probably break everything +/obj/item/clothing/gloves/update_icon() ..() overlays = null if(wired) diff --git a/code/game/objects/stool.dm b/code/game/objects/stool.dm index 4d2af1067a4..79291e78e8d 100644 --- a/code/game/objects/stool.dm +++ b/code/game/objects/stool.dm @@ -121,24 +121,27 @@ /obj/structure/stool/bed/chair/New() if(anchored) src.verbs -= /atom/movable/verb/pull - if(src.dir == NORTH) - src.layer = FLY_LAYER + handle_rotation() ..() return +/obj/structure/stool/bed/chair/proc/handle_rotation() //making this into a seperate proc so office chairs can call it on Move() + if(src.dir == NORTH) + src.layer = FLY_LAYER + else + src.layer = OBJ_LAYER + + if(buckled_mob) + buckled_mob.loc = src.loc + buckled_mob.dir = dir + /obj/structure/stool/bed/chair/verb/rotate() set name = "Rotate Chair" set category = "Object" set src in oview(1) src.dir = turn(src.dir, 90) - if(src.dir == NORTH) - src.layer = FLY_LAYER - else - src.layer = OBJ_LAYER - - if(buckled_mob) - buckled_mob.dir = dir + handle_rotation() return /obj/structure/stool/bed/chair/MouseDrop_T(mob/M as mob, mob/user as mob) diff --git a/code/modules/mob/new_player/savefile.dm b/code/modules/mob/new_player/savefile.dm index 6f111cb6cc3..d636ac6d853 100644 --- a/code/modules/mob/new_player/savefile.dm +++ b/code/modules/mob/new_player/savefile.dm @@ -117,9 +117,10 @@ datum/preferences/proc/savefile_load(mob/user) var/version = null F["version"] >> version - if (isnull(version) || version < SAVEFILE_VERSION_MIN || version > SAVEFILE_VERSION_MAX) + if(isnull(version) || version < SAVEFILE_VERSION_MIN || version > SAVEFILE_VERSION_MAX) fdel(path) - alert(user, "Your savefile was incompatible with this version and was deleted.") + if(version) + alert(user, "Your savefile was incompatible with this version and was deleted.") return 0 F["real_name"] >> src.real_name