content
This commit is contained in:
@@ -422,13 +422,13 @@
|
||||
embedding = list("embedded_pain_multiplier" = 4, "embed_chance" = 100, "embedded_fall_chance" = 0)
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
sharpness = SHARP_POINTY
|
||||
var/mob/living/carbon/human/fired_by
|
||||
var/datum/weakref/fired_by
|
||||
/// if we missed our target
|
||||
var/missed = TRUE
|
||||
|
||||
/obj/item/hardened_spike/Initialize(mapload, firedby)
|
||||
. = ..()
|
||||
fired_by = firedby
|
||||
fired_by = WEAKREF(firedby)
|
||||
addtimer(CALLBACK(src, PROC_REF(checkembedded)), 5 SECONDS)
|
||||
|
||||
/obj/item/hardened_spike/proc/checkembedded()
|
||||
@@ -478,13 +478,16 @@
|
||||
return
|
||||
been_places = TRUE
|
||||
chems = new
|
||||
chems.transfered = embedded_mob
|
||||
chems.spikey = src
|
||||
to_chat(fired_by, "<span class='notice'>Link established! Use the \"Transfer Chemicals\" ability to send your chemicals to the linked target!</span>")
|
||||
chems.Grant(fired_by)
|
||||
chems.transfered = WEAKREF(embedded_mob)
|
||||
var/mob/fired_by_mob = fired_by.resolve()
|
||||
if(fired_by_mob)
|
||||
to_chat(fired_by_mob, span_notice("Link established! Use the \"Transfer Chemicals\" ability to send your chemicals to the linked target!"))
|
||||
chems.Grant(fired_by_mob)
|
||||
|
||||
/obj/item/hardened_spike/chem/unembedded()
|
||||
to_chat(fired_by, "<span class='warning'>Link lost!</span>")
|
||||
var/mob/fired_by_mob = fired_by.resolve()
|
||||
if(fired_by_mob)
|
||||
to_chat(fired_by_mob, span_warning("Link lost!"))
|
||||
QDEL_NULL(chems)
|
||||
..()
|
||||
|
||||
@@ -496,19 +499,17 @@
|
||||
name = "Transfer Chemicals"
|
||||
desc = "Send all of your reagents into whomever the chem spike is embedded in. One use."
|
||||
var/obj/item/hardened_spike/chem/spikey
|
||||
var/mob/living/carbon/human/transfered
|
||||
var/datum/weakref/transfered
|
||||
|
||||
/datum/action/innate/send_chems/Activate()
|
||||
if(!ishuman(transfered) || !ishuman(owner))
|
||||
var/mob/living/carbon/human/transfered_mob = transfered?.resolve()
|
||||
if(!ishuman(transfered_mob) || !ishuman(owner))
|
||||
return
|
||||
var/mob/living/carbon/human/transferer = owner
|
||||
|
||||
to_chat(transfered, "<span class='warning'>You feel a tiny prick!</span>")
|
||||
transferer.reagents.trans_to(transfered, transferer.reagents.total_volume, 1, 1, 0)
|
||||
to_chat(transfered_mob, span_warning("You feel a tiny prick!"))
|
||||
owner.reagents.trans_to(transfered_mob, owner.reagents.total_volume, 1, 1, 0)
|
||||
|
||||
var/obj/item/bodypart/L = spikey.checkembedded()
|
||||
|
||||
//this is where it would deal damage, if it transfers chems it removes itself so no damage
|
||||
spikey.forceMove(get_turf(L))
|
||||
transfered.visible_message("<span class='notice'>[spikey] falls out of [transfered]!</span>")
|
||||
|
||||
transfered_mob.visible_message(span_notice("[spikey] falls out of [transfered_mob]!"))
|
||||
|
||||
@@ -28,8 +28,7 @@
|
||||
/datum/mutation/human/antenna/on_losing(mob/living/carbon/human/owner)
|
||||
if(..())
|
||||
return
|
||||
if(linked_radio)
|
||||
linked_radio.Destroy()
|
||||
QDEL_NULL(linked_radio)
|
||||
|
||||
/datum/mutation/human/antenna/New(class_ = MUT_OTHER, timer, datum/mutation/human/copymut)
|
||||
..()
|
||||
|
||||
Reference in New Issue
Block a user