c3f95024b2
* Removes the GetComponent macros * Regex replacement for GET_COMPONENT Search: `GET_COMPONENT\( *(.+?) *, *(.+?) *\)` Replace: `var$2/$1 = GetComponent($2)` * Regex replacement for GET_COMPONENT_FROM Search: `GET_COMPONENT_FROM\( *(.+?) *, *(.+?) *, *(.+?) *\)` Replace: `var$2/$1 = $3.GetComponent($2)`
39 lines
1.4 KiB
Plaintext
39 lines
1.4 KiB
Plaintext
/obj/item/stack/telecrystal
|
|
name = "telecrystal"
|
|
desc = "It seems to be pulsing with suspiciously enticing energies."
|
|
singular_name = "telecrystal"
|
|
icon = 'icons/obj/telescience.dmi'
|
|
icon_state = "telecrystal"
|
|
w_class = WEIGHT_CLASS_TINY
|
|
max_amount = 50
|
|
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)
|
|
var/datum/component/uplink/hidden_uplink = I.GetComponent(/datum/component/uplink)
|
|
if(hidden_uplink)
|
|
hidden_uplink.telecrystals += amount
|
|
use(amount)
|
|
to_chat(user, "<span class='notice'>You press [src] onto yourself and charge your hidden uplink.</span>")
|
|
else
|
|
return ..()
|
|
|
|
/obj/item/stack/telecrystal/afterattack(obj/item/I, mob/user, proximity)
|
|
. = ..()
|
|
if(istype(I, /obj/item/cartridge/virus/frame))
|
|
var/obj/item/cartridge/virus/frame/cart = I
|
|
if(!cart.charges)
|
|
to_chat(user, "<span class='notice'>[cart] is out of charges, it's refusing to accept [src].</span>")
|
|
return
|
|
cart.telecrystals += amount
|
|
use(amount)
|
|
to_chat(user, "<span class='notice'>You slot [src] into [cart]. The next time it's used, it will also give telecrystals.</span>")
|
|
|
|
/obj/item/stack/telecrystal/five
|
|
amount = 5
|
|
|
|
/obj/item/stack/telecrystal/twenty
|
|
amount = 20
|