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
This commit is contained in:
petethegoat@gmail.com
2012-08-14 16:40:27 +00:00
parent 26ce5db5b0
commit 1fc8ce5bc5
7 changed files with 58 additions and 56 deletions
+1 -4
View File
@@ -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"
+9 -10
View File
@@ -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))
+10 -11
View File
@@ -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.
+10 -11
View File
@@ -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))
+13 -9
View File
@@ -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 << "<span class='notice'>That won't work.</span>" //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 << "<span class='notice'>You wrap some wires around [src].</span>"
update_icon()
else
user << "There is not enough wire to cover [src]."
user << "<span class='notice'>There is not enough wire to cover [src].</span>"
else
user << "[src] are already wired."
user << "<span class='notice'>[src] are already wired.</span>"
else if(istype(W, /obj/item/weapon/cell))
if(!wired)
user << "[src] need to be wired first."
user << "<span class='notice'>[src] need to be wired first.</span>"
else if(!cell)
user.drop_item()
W.loc = src
cell = W
user << "You attach a cell to [src]."
user << "<span class='notice'>You attach a cell to [src].</span>"
update_icon()
else
user << "[src] already have a cell."
user << "<span class='notice'>[src] already have a cell.</span>"
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 << "<span class='notice'>You cut the cell away from [src].</span>"
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 << "<span class='notice'>You cut the wires away from [src].</span>"
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)
+12 -9
View File
@@ -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)
+3 -2
View File
@@ -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