Painbow extract. Cluwne.

This commit is contained in:
Ghommie
2019-03-19 14:48:35 +01:00
parent e3fd1d7847
commit ced2ee0ad0
20 changed files with 49 additions and 48 deletions
@@ -103,22 +103,10 @@
radio.name = "internal radio"
radio.subspace_transmission = subspace_transmission
radio.canhear_range = 0
radio.resistance_flags |= INDESTRUCTIBLE
radio.item_flags |= DROPDEL
if(radio_key)
radio.keyslot = new radio_key
radio.recalculateChannels()
/obj/item/implant/radio/implant(mob/living/target, mob/user, silent = FALSE)
. = ..()
if(.)
radio.forceMove(imp_in)
/obj/item/implant/radio/removed(mob/living/source, silent = FALSE, special = 0)
. = ..()
if(.)
radio.forceMove(src)
/obj/item/implant/radio/mining
radio_key = /obj/item/encryptionkey/headset_cargo
@@ -4,30 +4,44 @@
icon_state = "storage"
item_color = "r"
var/max_slot_stacking = 4
var/obj/item/storage/bluespace_pocket/pocket
/obj/item/implant/storage/activate()
. = ..()
SEND_SIGNAL(src, COMSIG_TRY_STORAGE_SHOW, imp_in, TRUE)
SEND_SIGNAL(pocket, COMSIG_TRY_STORAGE_SHOW, imp_in, TRUE)
/obj/item/implant/storage/removed(source, silent = FALSE, special = 0)
. = ..()
if(.)
if(!special)
qdel(GetComponent(/datum/component/storage/concrete/implant))
if(!special)
qdel(pocket)
else
pocket?.moveToNullspace()
return ..()
/obj/item/implant/storage/implant(mob/living/target, mob/user, silent = FALSE)
for(var/X in target.implants)
if(istype(X, type))
var/obj/item/implant/storage/imp_e = X
GET_COMPONENT_FROM(STR, /datum/component/storage, imp_e)
GET_COMPONENT_FROM(STR, /datum/component/storage, imp_e.pocket)
if(!STR || (STR && STR.max_items < max_slot_stacking))
imp_e.AddComponent(/datum/component/storage/concrete/implant)
imp_e.pocket.AddComponent(/datum/component/storage/concrete/implant)
qdel(src)
return TRUE
return FALSE
AddComponent(/datum/component/storage/concrete/implant)
. = ..()
if(.)
if(pocket)
pocket.forceMove(target)
else
pocket = new(target)
return ..()
/obj/item/storage/bluespace_pocket
name = "internal bluespace pocket"
icon_state = "pillbox"
w_class = WEIGHT_CLASS_TINY
desc = "A tiny yet spacious pocket, usually found implanted inside sneaky syndicate agents and nowhere else."
component_type = /datum/component/storage/concrete/implant
resistance_flags = INDESTRUCTIBLE //A bomb!
item_flags = DROPDEL
/obj/item/implanter/storage
name = "implanter (storage)"
@@ -9,9 +9,10 @@
item_flags = NOBLUDGEON
/obj/item/stack/telecrystal/attack(mob/target, mob/user)
if(target == user) //You can't go around smacking people with crystals to find out if they have an uplink or not.
for(var/obj/item/implant/uplink/I in target)
if(I && I.imp_in)
if(target == user && isliving(user)) //You can't go around smacking people with crystals to find out if they have an uplink or not.
var/mob/living/L = user
for(var/obj/item/implant/uplink/I in L.implants)
if(I?.imp_in)
GET_COMPONENT_FROM(hidden_uplink, /datum/component/uplink, I)
if(hidden_uplink)
hidden_uplink.telecrystals += amount