mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-30 12:02:24 +00:00
Merge pull request #3572 from Baystation12/master
Merging master into dev.
This commit is contained in:
@@ -119,10 +119,11 @@
|
||||
density = 1
|
||||
return 1
|
||||
|
||||
/obj/structure/closet/proc/toggle()
|
||||
if(src.opened)
|
||||
return src.close()
|
||||
return src.open()
|
||||
/obj/structure/closet/proc/toggle(mob/user as mob)
|
||||
. = src.opened ? src.close() : src.open()
|
||||
if(!.)
|
||||
user << "<span class='notice'>It won't budge!</span>"
|
||||
return
|
||||
|
||||
// this should probably use dump_contents()
|
||||
/obj/structure/closet/ex_act(severity)
|
||||
@@ -180,7 +181,6 @@
|
||||
if(src.opened)
|
||||
if(istype(W, /obj/item/weapon/grab))
|
||||
src.MouseDrop_T(W:affecting, user) //act like they were dragged onto the closet
|
||||
|
||||
if(istype(W, /obj/item/weapon/weldingtool))
|
||||
var/obj/item/weapon/weldingtool/WT = W
|
||||
if(!WT.remove_fuel(0,user))
|
||||
@@ -191,15 +191,11 @@
|
||||
M.show_message("<span class='notice'>\The [src] has been cut apart by [user] with \the [WT].</span>", 3, "You hear welding.", 2)
|
||||
del(src)
|
||||
return
|
||||
|
||||
if(isrobot(user))
|
||||
return
|
||||
|
||||
usr.drop_item()
|
||||
|
||||
if(W)
|
||||
W.loc = src.loc
|
||||
|
||||
else if(istype(W, /obj/item/weapon/packageWrap))
|
||||
return
|
||||
else if(istype(W, /obj/item/weapon/weldingtool))
|
||||
@@ -207,7 +203,7 @@
|
||||
if(!WT.remove_fuel(0,user))
|
||||
user << "<span class='notice'>You need more welding fuel to complete this task.</span>"
|
||||
return
|
||||
src.welded =! src.welded
|
||||
src.welded = !src.welded
|
||||
src.update_icon()
|
||||
for(var/mob/M in viewers(src))
|
||||
M.show_message("<span class='warning'>[src] has been [welded?"welded shut":"unwelded"] by [user.name].</span>", 3, "You hear welding.", 2)
|
||||
@@ -257,9 +253,7 @@
|
||||
|
||||
/obj/structure/closet/attack_hand(mob/user as mob)
|
||||
src.add_fingerprint(user)
|
||||
|
||||
if(!src.toggle())
|
||||
usr << "<span class='notice'>It won't budge!</span>"
|
||||
src.toggle(user)
|
||||
|
||||
/obj/structure/closet/verb/verb_toggleopen()
|
||||
set src in oview(1)
|
||||
@@ -270,7 +264,8 @@
|
||||
return
|
||||
|
||||
if(ishuman(usr))
|
||||
src.attack_hand(usr)
|
||||
src.add_fingerprint(usr)
|
||||
src.toggle(usr)
|
||||
else
|
||||
usr << "<span class='warning'>This mob type can't use this verb.</span>"
|
||||
|
||||
|
||||
@@ -17,16 +17,17 @@
|
||||
health = 200
|
||||
|
||||
/obj/structure/closet/secure_closet/can_open()
|
||||
..()
|
||||
if(src.locked)
|
||||
return 0
|
||||
return 1
|
||||
return ..()
|
||||
|
||||
/obj/structure/closet/secure_closet/close()
|
||||
..()
|
||||
if(broken)
|
||||
icon_state = src.icon_off
|
||||
return 1
|
||||
if(..())
|
||||
if(broken)
|
||||
icon_state = src.icon_off
|
||||
return 1
|
||||
else
|
||||
return 0
|
||||
|
||||
/obj/structure/closet/secure_closet/emp_act(severity)
|
||||
for(var/obj/O in src)
|
||||
@@ -44,15 +45,21 @@
|
||||
..()
|
||||
|
||||
/obj/structure/closet/secure_closet/proc/togglelock(mob/user as mob)
|
||||
if(src.opened)
|
||||
user << "<span class='notice'>Close the locker first.</span>"
|
||||
return
|
||||
if(src.broken)
|
||||
user << "<span class='warning'>The locker appears to be broken.</span>"
|
||||
return
|
||||
if(user.loc == src)
|
||||
user << "<span class='notice'>You can't reach the lock from inside.</span>"
|
||||
return
|
||||
if(src.allowed(user))
|
||||
src.locked = !src.locked
|
||||
for(var/mob/O in viewers(user, 3))
|
||||
if((O.client && !( O.blinded )))
|
||||
O << "<span class='notice'>The locker has been [locked ? null : "un"]locked by [user].</span>"
|
||||
if(src.locked)
|
||||
src.icon_state = src.icon_locked
|
||||
else
|
||||
src.icon_state = src.icon_closed
|
||||
update_icon()
|
||||
else
|
||||
user << "<span class='notice'>Access Denied</span>"
|
||||
|
||||
@@ -62,15 +69,12 @@
|
||||
if(src.large)
|
||||
src.MouseDrop_T(W:affecting, user) //act like they were dragged onto the closet
|
||||
else
|
||||
user << "<span class='notice'>The locker is too small to stuff [W] into!</span>"
|
||||
user << "<span class='notice'>The locker is too small to stuff [W:affecting] into!</span>"
|
||||
if(isrobot(user))
|
||||
return
|
||||
user.drop_item()
|
||||
if(W)
|
||||
W.loc = src.loc
|
||||
else if(src.broken)
|
||||
user << "<span class='notice'>The locker appears to be broken.</span>"
|
||||
return
|
||||
else if((istype(W, /obj/item/weapon/card/emag)||istype(W, /obj/item/weapon/melee/energy/blade)) && !src.broken)
|
||||
broken = 1
|
||||
locked = 0
|
||||
@@ -88,46 +92,17 @@
|
||||
else
|
||||
for(var/mob/O in viewers(user, 3))
|
||||
O.show_message("<span class='warning'>The locker has been broken by [user] with an electromagnetic card!</span>", 1, "You hear a faint electrical spark.", 2)
|
||||
else if(istype(W,/obj/item/weapon/packageWrap) || istype(W,/obj/item/weapon/weldingtool))
|
||||
return ..(W,user)
|
||||
else
|
||||
if(istype(W, /obj/item/weapon/weldingtool))
|
||||
var/obj/item/weapon/weldingtool/WT = W
|
||||
if(!WT.remove_fuel(0,user))
|
||||
user << "<span class='notice'>You need more welding fuel to complete this task.</span>"
|
||||
return
|
||||
src.welded =! src.welded
|
||||
src.update_icon()
|
||||
for(var/mob/M in viewers(src))
|
||||
M.show_message("<span class='warning'>[src] has been [welded?"welded shut":"unwelded"] by [user.name].</span>", 3, "You hear welding.", 2)
|
||||
else
|
||||
togglelock(user)
|
||||
|
||||
/obj/structure/closet/secure_closet/relaymove(mob/user as mob)
|
||||
if(user.stat || !isturf(src.loc))
|
||||
return
|
||||
|
||||
if(!(src.locked))
|
||||
for(var/obj/item/I in src)
|
||||
I.loc = src.loc
|
||||
for(var/mob/M in src)
|
||||
M.loc = src.loc
|
||||
if(M.client)
|
||||
M.client.eye = M.client.mob
|
||||
M.client.perspective = MOB_PERSPECTIVE
|
||||
src.icon_state = src.icon_opened
|
||||
src.opened = 1
|
||||
else
|
||||
user << "<span class='notice'>The locker is locked!</span>"
|
||||
if(world.time > lastbang+5)
|
||||
lastbang = world.time
|
||||
for(var/mob/M in hearers(src, null))
|
||||
M << "<FONT size=[max(0, 5 - get_dist(src, M))]>BANG, bang!</FONT>"
|
||||
return
|
||||
togglelock(user)
|
||||
|
||||
/obj/structure/closet/secure_closet/attack_hand(mob/user as mob)
|
||||
src.add_fingerprint(user)
|
||||
|
||||
if(!src.toggle())
|
||||
return src.attackby(null, user)
|
||||
if(src.locked)
|
||||
src.togglelock(user)
|
||||
else
|
||||
src.toggle(user)
|
||||
|
||||
/obj/structure/closet/secure_closet/attack_paw(mob/user as mob)
|
||||
return src.attack_hand(user)
|
||||
@@ -140,15 +115,9 @@
|
||||
if(!usr.canmove || usr.stat || usr.restrained()) // Don't use it if you're not able to! Checks for stuns, ghost and restrain
|
||||
return
|
||||
|
||||
if(get_dist(usr, src) != 1)
|
||||
return
|
||||
|
||||
if(src.broken)
|
||||
return
|
||||
|
||||
if (ishuman(usr))
|
||||
if (!opened)
|
||||
togglelock(usr)
|
||||
if(ishuman(usr))
|
||||
src.add_fingerprint(usr)
|
||||
src.togglelock(usr)
|
||||
else
|
||||
usr << "<span class='warning'>This mob type can't use this verb.</span>"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user