mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-24 05:23:22 +01:00
Round of small bugfixes (#14160)
This commit is contained in:
@@ -19,15 +19,23 @@
|
||||
drop_sound = 'sound/items/drop/gascan.ogg'
|
||||
pickup_sound = 'sound/items/pickup/gascan.ogg'
|
||||
|
||||
/obj/item/reagent_containers/extinguisher_refill/attackby(var/obj/O as obj, var/mob/user as mob)
|
||||
/obj/item/reagent_containers/extinguisher_refill/attackby(obj/item/O, mob/user)
|
||||
if(O.isscrewdriver())
|
||||
if(is_open_container())
|
||||
flags &= ~OPENCONTAINER
|
||||
else
|
||||
flags |= OPENCONTAINER
|
||||
to_chat(user, SPAN_NOTICE("Using \the [O], you [is_open_container() ? "unsecure" : "secure"] the cartridge's lid!"))
|
||||
return TRUE
|
||||
|
||||
if(istype(O,/obj/item/extinguisher))
|
||||
var/obj/item/extinguisher/E = O
|
||||
if(src.is_open_container())
|
||||
if(is_open_container())
|
||||
to_chat(user,"<span class='notice'>\The [src] needs to be secured first!</span>")
|
||||
else if(src.reagents.total_volume <= 0)
|
||||
else if(reagents.total_volume <= 0)
|
||||
to_chat(user,"<span class='notice'>\The [src] is empty!</span>")
|
||||
else if(E.reagents.total_volume < E.reagents.maximum_volume)
|
||||
src.reagents.trans_to(E, src.reagents.total_volume)
|
||||
reagents.trans_to(E, src.reagents.total_volume)
|
||||
user.visible_message("<span class='notice'>[user] fills \the [E] with the [src].</span>", "<span class='notice'>You fill \the [E] with the [src].</span>")
|
||||
playsound(E.loc, 'sound/items/stimpack.ogg', 50, 1)
|
||||
else
|
||||
@@ -47,13 +55,6 @@
|
||||
to_chat(user,"<span class='notice'>\The reagents inside [src] are already secured!</span>")
|
||||
return
|
||||
|
||||
/obj/item/reagent_containers/extinguisher_refill/attackby(obj/item/W, mob/user)
|
||||
if(W.isscrewdriver() && !is_open_container())
|
||||
to_chat(user,"<span class='notice'>Using \the [W], you unsecure the extinguisher refill cartridge's lid.</span>") // it locks shut after being secured
|
||||
flags |= OPENCONTAINER
|
||||
return TRUE
|
||||
. = ..()
|
||||
|
||||
/obj/item/reagent_containers/extinguisher_refill/examine(var/mob/user) //Copied from inhalers.
|
||||
if(!..(user, 2))
|
||||
return
|
||||
|
||||
@@ -5,56 +5,59 @@
|
||||
desc = "Use this to escape from those evil Red Shirts."
|
||||
implant_color = "r"
|
||||
var/activation_emote = "chuckle"
|
||||
var/uses = 1.0
|
||||
var/uses = 1
|
||||
|
||||
/obj/item/implant/freedom/New()
|
||||
uses = rand(1, 5)
|
||||
..()
|
||||
|
||||
New()
|
||||
src.activation_emote = pick("blink", "blink_r", "eyebrow", "chuckle", "twitch", "frown", "nod", "blush", "giggle", "grin", "groan", "shrug", "smile", "pale", "sniff", "whimper", "wink")
|
||||
src.uses = rand(1, 5)
|
||||
..()
|
||||
/obj/item/implant/freedom/trigger(emote, mob/living/carbon/source)
|
||||
if(!activation_emote)
|
||||
return
|
||||
|
||||
|
||||
trigger(emote, mob/living/carbon/source as mob)
|
||||
if (src.uses < 1) return 0
|
||||
if (emote == src.activation_emote)
|
||||
src.uses--
|
||||
to_chat(source, "You feel a faint click.")
|
||||
if (source.handcuffed)
|
||||
var/obj/item/W = source.handcuffed
|
||||
source.handcuffed = null
|
||||
if(source.buckled_to && source.buckled_to.buckle_require_restraints)
|
||||
source.buckled_to.unbuckle()
|
||||
source.update_inv_handcuffed()
|
||||
if (source.client)
|
||||
source.client.screen -= W
|
||||
if (W)
|
||||
W.forceMove(source.loc)
|
||||
dropped(source)
|
||||
if (W)
|
||||
W.layer = initial(W.layer)
|
||||
if (source.legcuffed)
|
||||
var/obj/item/W = source.legcuffed
|
||||
source.legcuffed = null
|
||||
source.update_inv_legcuffed()
|
||||
if (source.client)
|
||||
source.client.screen -= W
|
||||
if (W)
|
||||
W.forceMove(source.loc)
|
||||
dropped(source)
|
||||
if (W)
|
||||
W.layer = initial(W.layer)
|
||||
if(uses < 1)
|
||||
to_chat(source, SPAN_WARNING("\The [src] gives a faint beep inside your head, indicating that it's out of uses!"))
|
||||
activation_emote = null //Disable this to allow them to emote normally
|
||||
return
|
||||
if(emote == activation_emote)
|
||||
uses--
|
||||
to_chat(source, "You feel a faint click.")
|
||||
if(source.handcuffed)
|
||||
var/obj/item/W = source.handcuffed
|
||||
source.handcuffed = null
|
||||
if(source.buckled_to && source.buckled_to.buckle_require_restraints)
|
||||
source.buckled_to.unbuckle()
|
||||
source.update_inv_handcuffed()
|
||||
if(source.client)
|
||||
source.client.screen -= W
|
||||
if(W)
|
||||
W.forceMove(source.loc)
|
||||
dropped(source)
|
||||
if (W)
|
||||
W.layer = initial(W.layer)
|
||||
if(source.legcuffed)
|
||||
var/obj/item/W = source.legcuffed
|
||||
source.legcuffed = null
|
||||
source.update_inv_legcuffed()
|
||||
if(source.client)
|
||||
source.client.screen -= W
|
||||
if(W)
|
||||
W.forceMove(source.loc)
|
||||
dropped(source)
|
||||
if(W)
|
||||
W.layer = initial(W.layer)
|
||||
return
|
||||
|
||||
|
||||
implanted(mob/living/carbon/source)
|
||||
source.mind.store_memory("Freedom implant can be activated by using the [src.activation_emote] emote, <B>say *[src.activation_emote]</B> to attempt to activate.", 0, 0)
|
||||
to_chat(source, "The implanted freedom implant can be activated by using the [src.activation_emote] emote, <B>say *[src.activation_emote]</B> to attempt to activate.")
|
||||
return 1
|
||||
/obj/item/implant/freedom/implanted(mob/living/carbon/source)
|
||||
activation_emote = input("Choose activation emote:") in list("blink", "blink_r", "eyebrow", "chuckle", "twitch", "frown", "nod", "blush", "giggle", "grin", "groan", "shrug", "smile", "pale", "sniff", "whimper", "wink")
|
||||
if(source.mind)
|
||||
source.mind.store_memory("\The [src] can be activated by using the [activation_emote] emote, <B>say *[activation_emote]</B> to attempt to activate.")
|
||||
to_chat(source, "The implanted [src] can be activated by using the [activation_emote] emote, <B>say *[activation_emote]</B> to attempt to activate.")
|
||||
return TRUE
|
||||
|
||||
|
||||
get_data()
|
||||
var/dat = {"
|
||||
/obj/item/implant/freedom/get_data()
|
||||
var/dat = {"
|
||||
<b>Implant Specifications:</b><BR>
|
||||
<b>Name:</b> Freedom Beacon<BR>
|
||||
<b>Life:</b> optimum 5 uses<BR>
|
||||
@@ -68,4 +71,4 @@ mechanisms<BR>
|
||||
<b>Integrity:</b> The battery is extremely weak and commonly after injection its
|
||||
life can drive down to only 1 use.<HR>
|
||||
No Implant Specifics"}
|
||||
return dat
|
||||
return dat
|
||||
|
||||
Reference in New Issue
Block a user