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