[s] Fixes altclick exploits

This commit is contained in:
ShizCalev
2018-02-11 05:08:00 -06:00
committed by CitadelStationBot
parent 7f7bea7468
commit f4685cfe01
60 changed files with 660 additions and 129 deletions
@@ -78,13 +78,10 @@
/obj/structure/bed/roller/MouseDrop(over_object, src_location, over_location)
. = ..()
if(over_object == usr && Adjacent(usr))
if(!ishuman(usr))
if(!ishuman(usr) || !usr.canUseTopic(src, BE_CLOSE))
return 0
if(has_buckled_mobs())
return 0
if(usr.incapacitated())
to_chat(usr, "<span class='warning'>You can't do that right now!</span>")
return 0
usr.visible_message("[usr] collapses \the [src.name].", "<span class='notice'>You collapse \the [src.name].</span>")
var/obj/structure/bed/roller/B = new foldabletype(get_turf(src))
usr.put_in_hands(B)
@@ -36,7 +36,7 @@
var/mob/living/L = user
if(istype(L))
if(!user.Adjacent(src) || user.incapacitated())
if(!user.canUseTopic(src, BE_CLOSE, ismonkey(user)))
to_chat(user, "<span class='warning'>You can't do that right now!</span>")
return FALSE
else
@@ -225,7 +225,7 @@
if(over_object == usr && Adjacent(usr))
if(!item_chair || !usr.can_hold_items() || has_buckled_mobs() || src.flags_1 & NODECONSTRUCT_1)
return
if(usr.incapacitated())
if(!usr.canUseTopic(src, BE_CLOSE, ismonkey(usr)))
to_chat(usr, "<span class='warning'>You can't do that right now!</span>")
return
usr.visible_message("<span class='notice'>[usr] grabs \the [src.name].</span>", "<span class='notice'>You grab \the [src.name].</span>")
@@ -383,7 +383,7 @@
/obj/structure/chair/brass/AltClick(mob/living/user)
turns = 0
if(!user.canUseTopic(src, be_close = TRUE))
if(!istype(user) || !user.canUseTopic(src, BE_CLOSE, ismonkey(user)))
return
if(!isprocessing)
user.visible_message("<span class='notice'>[user] spins [src] around, and Ratvarian technology keeps it spinning FOREVER.</span>", \