mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 18:53:06 +00:00
Fixes being unable to emag secure closets.
And ensures that this costs an emag charge. Also corrects emag_act calls. Partial port of https://github.com/PolarisSS13/Polaris/pull/377.
This commit is contained in:
@@ -71,7 +71,7 @@
|
|||||||
var/uses = 10
|
var/uses = 10
|
||||||
|
|
||||||
/obj/item/weapon/card/emag/resolve_attackby(atom/A, mob/user)
|
/obj/item/weapon/card/emag/resolve_attackby(atom/A, mob/user)
|
||||||
var/used_uses = A.emag_act(uses, user)
|
var/used_uses = A.emag_act(uses, user, src)
|
||||||
if(used_uses < 0)
|
if(used_uses < 0)
|
||||||
return ..(A, user)
|
return ..(A, user)
|
||||||
|
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
else
|
else
|
||||||
user << "<span class='warning'>Access Denied</span>"
|
user << "<span class='warning'>Access Denied</span>"
|
||||||
else if(istype(W, /obj/item/weapon/melee/energy/blade))
|
else if(istype(W, /obj/item/weapon/melee/energy/blade))
|
||||||
if(emag_act(INFINITY, user, "The locker has been sliced open by [user] with an energy blade!", "You hear metal being sliced and sparks flying."))
|
if(emag_act(INFINITY, user, W, "The locker has been sliced open by [user] with an energy blade!", "You hear metal being sliced and sparks flying."))
|
||||||
var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread()
|
var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread()
|
||||||
spark_system.set_up(5, 0, src.loc)
|
spark_system.set_up(5, 0, src.loc)
|
||||||
spark_system.start()
|
spark_system.start()
|
||||||
@@ -55,7 +55,7 @@
|
|||||||
..()
|
..()
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/item/weapon/storage/lockbox/emag_act(var/remaining_charges, var/mob/user, var/visual_feedback = "", var/audible_feedback = "")
|
/obj/item/weapon/storage/lockbox/emag_act(var/remaining_charges, var/mob/user, var/emag_source, var/visual_feedback = "", var/audible_feedback = "")
|
||||||
if(!broken)
|
if(!broken)
|
||||||
if(visual_feedback)
|
if(visual_feedback)
|
||||||
visual_feedback = "<span class='warning'>[visual_feedback]</span>"
|
visual_feedback = "<span class='warning'>[visual_feedback]</span>"
|
||||||
|
|||||||
@@ -90,7 +90,7 @@
|
|||||||
else
|
else
|
||||||
togglelock(user)
|
togglelock(user)
|
||||||
|
|
||||||
/obj/structure/closet/secure_closet/attack_hand(var/remaining_charges, var/mob/user, var/visual_feedback, var/audible_feedback)
|
/obj/structure/closet/secure_closet/emag_act(var/remaining_charges, var/mob/user, var/emag_source, var/visual_feedback = "", var/audible_feedback = "")
|
||||||
if(!broken)
|
if(!broken)
|
||||||
broken = 1
|
broken = 1
|
||||||
locked = 0
|
locked = 0
|
||||||
@@ -100,8 +100,11 @@
|
|||||||
|
|
||||||
if(visual_feedback)
|
if(visual_feedback)
|
||||||
visible_message(visual_feedback, audible_feedback)
|
visible_message(visual_feedback, audible_feedback)
|
||||||
|
else if(user && emag_source)
|
||||||
|
visible_message("<span class='warning'>\The [src] has been broken by \the [user] with \an [emag_source]!</span>", "You hear a faint electrical spark.")
|
||||||
else
|
else
|
||||||
visible_message("<span class='warning'>The locker has been broken by [user] with an electromagnetic card!</span>", "You hear a faint electrical spark.")
|
visible_message("<span class='warning'>\The [src] sparks and breaks open!</span>", "You hear a faint electrical spark.")
|
||||||
|
return 1
|
||||||
|
|
||||||
/obj/structure/closet/secure_closet/attack_hand(mob/user as mob)
|
/obj/structure/closet/secure_closet/attack_hand(mob/user as mob)
|
||||||
src.add_fingerprint(user)
|
src.add_fingerprint(user)
|
||||||
|
|||||||
Reference in New Issue
Block a user