Fix move_inside verb exploit across the board

Conflicts:
	code/game/machinery/Sleeper.dm
This commit is contained in:
d3athrow
2014-01-20 01:58:03 -05:00
committed by ZomgPonies
parent dc5a4a8a84
commit b6045a2bbe
4 changed files with 35 additions and 31 deletions
+2
View File
@@ -102,6 +102,8 @@
if (usr.stat != 0)
return
if(usr.restrained() || usr.stat || usr.weakened || usr.stunned || usr.paralysis || usr.resting) //are you cuffed, dying, lying, stunned or other
return
if (!ishuman(usr) && !ismonkey(usr)) //Make sure they're a mob that has dna
usr << "\blue Try as you might, you can not climb up into the scanner."
return
+29 -31
View File
@@ -381,40 +381,38 @@
add_fingerprint(usr)
return
verb/move_inside()
set name = "Enter Sleeper"
set category = "Object"
set src in oview(1)
/obj/machinery/sleeper/verb/move_inside()
set name = "Enter Sleeper"
set category = "Object"
set src in oview(1)
if(usr.stat != 0 || !(ishuman(usr) || ismonkey(usr)))
return
if(usr.stat != 0 || !(ishuman(usr) || ismonkey(usr)))
if(src.occupant)
usr << "\blue <B>The sleeper is already occupied!</B>"
return
if(usr.restrained() || usr.stat || usr.weakened || usr.stunned || usr.paralysis || usr.resting) //are you cuffed, dying, lying, stunned or other
return
for(var/mob/living/carbon/slime/M in range(1,usr))
if(M.Victim == usr)
usr << "You're too busy getting your life sucked out of you."
return
visible_message("[usr] starts climbing into the sleeper.", 3)
if(do_after(usr, 20))
if(src.occupant)
usr << "\blue <B>The sleeper is already occupied!</B>"
return
usr.stop_pulling()
usr.client.perspective = EYE_PERSPECTIVE
usr.client.eye = src
usr.loc = src
src.occupant = usr
src.icon_state = "sleeper_1"
if(orient == "RIGHT")
icon_state = "sleeper_1-r"
for(var/mob/living/carbon/slime/M in range(1,usr))
if(M.Victim == usr)
usr << "You're too busy getting your life sucked out of you."
return
visible_message("[usr] starts climbing into the sleeper.", 3)
if(do_after(usr, 20))
if(src.occupant)
usr << "\blue <B>The sleeper is already occupied!</B>"
return
usr.stop_pulling()
usr.client.perspective = EYE_PERSPECTIVE
usr.client.eye = src
usr.loc = src
src.occupant = usr
src.icon_state = "sleeper_1"
if(orient == "RIGHT")
icon_state = "sleeper_1-r"
usr << "\blue <b>You feel cool air surround you. You go numb as your senses turn inward.</b>"
for(var/obj/O in src)
del(O)
src.add_fingerprint(usr)
return
return
for(var/obj/O in src)
del(O)
src.add_fingerprint(usr)
return
return
+2
View File
@@ -314,6 +314,8 @@
return
if (usr.stat != 0 || stat & (NOPOWER|BROKEN))
return
if(usr.restrained() || usr.stat || usr.weakened || usr.stunned || usr.paralysis || usr.resting) //are you cuffed, dying, lying, stunned or other
return
put_mob(usr)
return
+2
View File
@@ -973,6 +973,8 @@
set name = "Enter Exosuit"
set src in oview(1)
if(usr.restrained() || usr.stat || usr.weakened || usr.stunned || usr.paralysis || usr.resting) //are you cuffed, dying, lying, stunned or other
return
if (usr.stat || !ishuman(usr))
return
src.log_message("[usr] tries to move in.")