mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-19 19:13:30 +01:00
Renames all typepaths + names of implants to biochips (#23172)
* The fix * Contraaaaaa * Fixes CI * Fixes the pads + cases * Uplink datums * Update code/datums/mind.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> * Update code/__HELPERS/unsorted.dm Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com> * Update code/modules/research/designs/medical_designs.dm Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com> * Update code/modules/research/designs/medical_designs.dm Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com> * Update code/modules/research/designs/medical_designs.dm Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com> * Update code/modules/research/designs/medical_designs.dm Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com> * Update code/modules/surgery/implant_removal.dm Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com> * Outfits now use a proper variable name * Fixes surgery (oops) * More .dme changes * Renames the folder * Fixes bad merge * Contra review * Update code/game/objects/items/weapons/dice.dm Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com> * Fixes CI fail --------- Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com> Co-authored-by: S34N <12197162+S34NW@users.noreply.github.com>
This commit is contained in:
@@ -158,7 +158,7 @@
|
||||
/obj/item/storage/belt/military/traitor = 2,
|
||||
/obj/item/storage/box/syndie_kit/space = 2,
|
||||
/obj/item/multitool/ai_detect = 2,
|
||||
/obj/item/implanter/storage = 1,
|
||||
/obj/item/bio_chip_implanter/storage = 1,
|
||||
/obj/item/deck/cards/syndicate = 2,
|
||||
/obj/item/storage/secure/briefcase/syndie = 2,
|
||||
/obj/item/storage/fancy/cigarettes/cigpack_syndicate = 2,
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
/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)
|
||||
for(var/obj/item/bio_chip/uplink/I in target)
|
||||
if(I && I.imp_in)
|
||||
I.hidden_uplink.uses += amount
|
||||
use(amount)
|
||||
|
||||
+18
-18
@@ -23,16 +23,16 @@
|
||||
* Code for implants that can be inserted into a person and have some sort of passive or triggered action.
|
||||
*
|
||||
*/
|
||||
/obj/item/implant
|
||||
/obj/item/bio_chip
|
||||
name = "bio-chip"
|
||||
icon = 'icons/obj/implants.dmi'
|
||||
icon = 'icons/obj/bio_chips.dmi'
|
||||
icon_state = "generic" //Shows up as a auto surgeon, used as a placeholder when a implant doesn't have a sprite
|
||||
origin_tech = "materials=2;biotech=3;programming=2"
|
||||
actions_types = list(/datum/action/item_action/hands_free/activate)
|
||||
item_color = "black"
|
||||
flags = DROPDEL // By default, don't let implants be harvestable.
|
||||
|
||||
///which implant overlay should be used for implant cases. This should point to a state in implants.dmi
|
||||
///which implant overlay should be used for implant cases. This should point to a state in bio_chips.dmi
|
||||
var/implant_state = "implant-default"
|
||||
/// How the implant is activated.
|
||||
var/activated = BIOCHIP_ACTIVATED_ACTIVE
|
||||
@@ -56,18 +56,18 @@
|
||||
///the implant_fluff datum attached to this implant, purely cosmetic "lore" information
|
||||
var/datum/implant_fluff/implant_data = /datum/implant_fluff
|
||||
|
||||
/obj/item/implant/Initialize(mapload)
|
||||
/obj/item/bio_chip/Initialize(mapload)
|
||||
. = ..()
|
||||
if(ispath(implant_data))
|
||||
implant_data = new implant_data
|
||||
|
||||
/obj/item/implant/Destroy()
|
||||
/obj/item/bio_chip/Destroy()
|
||||
if(imp_in)
|
||||
removed(imp_in)
|
||||
QDEL_NULL(implant_data)
|
||||
return ..()
|
||||
|
||||
/obj/item/implant/proc/unregister_emotes()
|
||||
/obj/item/bio_chip/proc/unregister_emotes()
|
||||
if(imp_in && LAZYLEN(trigger_emotes))
|
||||
for(var/emote in trigger_emotes)
|
||||
UnregisterSignal(imp_in, COMSIG_MOB_EMOTED(emote))
|
||||
@@ -79,7 +79,7 @@
|
||||
* * on_implant - Whether this proc is being called during the implantation of the implant.
|
||||
* * silent - If true, the user won't get any to_chat messages if an implantation fails.
|
||||
*/
|
||||
/obj/item/implant/proc/set_trigger(mob/user, emote_key, on_implant = FALSE, silent = TRUE)
|
||||
/obj/item/bio_chip/proc/set_trigger(mob/user, emote_key, on_implant = FALSE, silent = TRUE)
|
||||
if(imp_in != user)
|
||||
return FALSE
|
||||
|
||||
@@ -107,7 +107,7 @@
|
||||
LAZYADD(trigger_emotes, emote_key)
|
||||
RegisterSignal(user, COMSIG_MOB_EMOTED(emote_key), PROC_REF(on_emote))
|
||||
|
||||
/obj/item/implant/proc/on_emote(mob/living/user, datum/emote/fired_emote, key, emote_type, message, intentional)
|
||||
/obj/item/bio_chip/proc/on_emote(mob/living/user, datum/emote/fired_emote, key, emote_type, message, intentional)
|
||||
SIGNAL_HANDLER
|
||||
|
||||
if(!implanted || !imp_in)
|
||||
@@ -119,7 +119,7 @@
|
||||
add_attack_logs(user, user, "[intentional ? "intentionally" : "unintentionally"] [src] was [intentional ? "intentionally" : "unintentionally"] triggered with the emote [fired_emote].")
|
||||
emote_trigger(key, user, intentional)
|
||||
|
||||
/obj/item/implant/proc/on_death(mob/source, gibbed)
|
||||
/obj/item/bio_chip/proc/on_death(mob/source, gibbed)
|
||||
SIGNAL_HANDLER
|
||||
|
||||
if(!implanted || !imp_in)
|
||||
@@ -137,16 +137,16 @@
|
||||
add_attack_logs(source, source, "had their [src] bio-chip triggered on [gibbed ? "gib" : "death"].")
|
||||
death_trigger(source, gibbed)
|
||||
|
||||
/obj/item/implant/proc/emote_trigger(emote, mob/source, force)
|
||||
/obj/item/bio_chip/proc/emote_trigger(emote, mob/source, force)
|
||||
return
|
||||
|
||||
/obj/item/implant/proc/death_trigger(mob/source, gibbed)
|
||||
/obj/item/bio_chip/proc/death_trigger(mob/source, gibbed)
|
||||
return
|
||||
|
||||
/obj/item/implant/proc/activate(cause)
|
||||
/obj/item/bio_chip/proc/activate(cause)
|
||||
return
|
||||
|
||||
/obj/item/implant/ui_action_click()
|
||||
/obj/item/bio_chip/ui_action_click()
|
||||
activate("action_button")
|
||||
|
||||
/**
|
||||
@@ -160,10 +160,10 @@
|
||||
* -1 if the implant fails to inject
|
||||
* 0 if there's no room for the implant.
|
||||
*/
|
||||
/obj/item/implant/proc/implant(mob/source, mob/user, force)
|
||||
/obj/item/bio_chip/proc/implant(mob/source, mob/user, force)
|
||||
if(!force && !can_implant(source, user))
|
||||
return
|
||||
var/obj/item/implant/imp_e = locate(type) in source
|
||||
var/obj/item/bio_chip/imp_e = locate(type) in source
|
||||
if(!allow_multiple && imp_e && imp_e != src)
|
||||
if(imp_e.uses < initial(imp_e.uses)*2)
|
||||
if(uses == -1)
|
||||
@@ -211,7 +211,7 @@
|
||||
* TRUE - I could care less, implant it, maybe don't. I don't care.
|
||||
* FALSE - Don't implant!
|
||||
*/
|
||||
/obj/item/implant/proc/can_implant(mob/source, mob/user)
|
||||
/obj/item/bio_chip/proc/can_implant(mob/source, mob/user)
|
||||
return TRUE
|
||||
|
||||
|
||||
@@ -219,7 +219,7 @@
|
||||
* Clean up when an implant is removed.
|
||||
* * source - the user who the implant was removed from.
|
||||
*/
|
||||
/obj/item/implant/proc/removed(mob/source)
|
||||
/obj/item/bio_chip/proc/removed(mob/source)
|
||||
loc = null
|
||||
imp_in = null
|
||||
implanted = FALSE
|
||||
@@ -239,6 +239,6 @@
|
||||
|
||||
return TRUE
|
||||
|
||||
/obj/item/implant/dropped(mob/user)
|
||||
/obj/item/bio_chip/dropped(mob/user)
|
||||
. = TRUE
|
||||
..()
|
||||
+9
-9
@@ -1,4 +1,4 @@
|
||||
/obj/item/implant/abductor
|
||||
/obj/item/bio_chip/abductor
|
||||
name = "recall bio-chip"
|
||||
desc = "Returns you to the mothership."
|
||||
icon = 'icons/obj/abductor.dmi'
|
||||
@@ -12,7 +12,7 @@
|
||||
var/cooldown = 30
|
||||
var/total_cooldown = 30
|
||||
|
||||
/obj/item/implant/abductor/activate()
|
||||
/obj/item/bio_chip/abductor/activate()
|
||||
if(cooldown == total_cooldown)
|
||||
home.Retrieve(imp_in, 1)
|
||||
cooldown = 0
|
||||
@@ -20,13 +20,13 @@
|
||||
else
|
||||
to_chat(imp_in, "<span class='warning'>You must wait [(total_cooldown - cooldown) * 2] seconds to use [src] again!</span>")
|
||||
|
||||
/obj/item/implant/abductor/process()
|
||||
/obj/item/bio_chip/abductor/process()
|
||||
if(cooldown < total_cooldown)
|
||||
cooldown++
|
||||
if(cooldown == total_cooldown)
|
||||
STOP_PROCESSING(SSobj, src)
|
||||
|
||||
/obj/item/implant/abductor/implant(mob/source, mob/user)
|
||||
/obj/item/bio_chip/abductor/implant(mob/source, mob/user)
|
||||
if(..())
|
||||
var/obj/machinery/abductor/console/console
|
||||
if(ishuman(source))
|
||||
@@ -41,7 +41,7 @@
|
||||
home = console.pad
|
||||
return TRUE
|
||||
|
||||
/obj/item/implant/abductor/proc/get_team_console(team)
|
||||
/obj/item/bio_chip/abductor/proc/get_team_console(team)
|
||||
var/obj/machinery/abductor/console/console
|
||||
for(var/obj/machinery/abductor/console/c in GLOB.abductor_equipment)
|
||||
if(c.team == team)
|
||||
@@ -49,11 +49,11 @@
|
||||
break
|
||||
return console
|
||||
|
||||
/obj/item/implanter/abductor
|
||||
/obj/item/bio_chip_implanter/abductor
|
||||
name = "bio-chip implanter (abductor)"
|
||||
implant_type = /obj/item/implant/abductor
|
||||
implant_type = /obj/item/bio_chip/abductor
|
||||
|
||||
/obj/item/implantcase/abductor
|
||||
/obj/item/bio_chip_case/abductor
|
||||
name = "bio-chip case - 'abductor'"
|
||||
desc = "A glass case containing an abductor bio-chip."
|
||||
implant_type = /obj/item/implant/abductor
|
||||
implant_type = /obj/item/bio_chip/abductor
|
||||
+6
-6
@@ -1,4 +1,4 @@
|
||||
/obj/item/implant/adrenalin
|
||||
/obj/item/bio_chip/adrenalin
|
||||
name = "adrenal bio-chip"
|
||||
desc = "Removes all stuns and knockdowns."
|
||||
icon_state = "adrenal"
|
||||
@@ -7,7 +7,7 @@
|
||||
implant_data = /datum/implant_fluff/adrenaline
|
||||
implant_state = "implant-syndicate"
|
||||
|
||||
/obj/item/implant/adrenalin/activate()
|
||||
/obj/item/bio_chip/adrenalin/activate()
|
||||
uses--
|
||||
to_chat(imp_in, "<span class='notice'>You feel a sudden surge of energy!</span>")
|
||||
imp_in.SetStunned(0)
|
||||
@@ -24,11 +24,11 @@
|
||||
if(!uses)
|
||||
qdel(src)
|
||||
|
||||
/obj/item/implanter/adrenalin
|
||||
/obj/item/bio_chip_implanter/adrenalin
|
||||
name = "bio-chip implanter (adrenalin)"
|
||||
implant_type = /obj/item/implant/adrenalin
|
||||
implant_type = /obj/item/bio_chip/adrenalin
|
||||
|
||||
/obj/item/implantcase/adrenaline
|
||||
/obj/item/bio_chip_case/adrenaline
|
||||
name = "bio-chip case - 'Adrenaline'"
|
||||
desc = "A glass case containing an adrenaline bio-chip."
|
||||
implant_type = /obj/item/implant/adrenalin
|
||||
implant_type = /obj/item/bio_chip/adrenalin
|
||||
+12
-12
@@ -1,7 +1,7 @@
|
||||
/obj/item/implantcase
|
||||
/obj/item/bio_chip_case
|
||||
name = "bio-chip case"
|
||||
desc = "A glass case containing a bio-chip."
|
||||
icon = 'icons/obj/implants.dmi'
|
||||
icon = 'icons/obj/bio_chips.dmi'
|
||||
icon_state = "implantcase"
|
||||
item_state = "implantcase"
|
||||
throw_speed = 2
|
||||
@@ -11,22 +11,22 @@
|
||||
container_type = OPENCONTAINER | INJECTABLE | DRAWABLE
|
||||
materials = list(MAT_GLASS = 500)
|
||||
|
||||
var/obj/item/implant/imp
|
||||
var/obj/item/implant/implant_type
|
||||
var/obj/item/bio_chip/imp
|
||||
var/obj/item/bio_chip/implant_type
|
||||
|
||||
/obj/item/implantcase/Initialize(mapload)
|
||||
/obj/item/bio_chip_case/Initialize(mapload)
|
||||
. = ..()
|
||||
if(!implant_type)
|
||||
return
|
||||
imp = new implant_type(src)
|
||||
update_state()
|
||||
|
||||
/obj/item/implantcase/Destroy()
|
||||
/obj/item/bio_chip_case/Destroy()
|
||||
if(imp)
|
||||
QDEL_NULL(imp)
|
||||
return ..()
|
||||
|
||||
/obj/item/implantcase/proc/update_state()
|
||||
/obj/item/bio_chip_case/proc/update_state()
|
||||
if(imp)
|
||||
origin_tech = imp.origin_tech
|
||||
flags = imp.flags & ~DROPDEL
|
||||
@@ -37,19 +37,19 @@
|
||||
reagents = null
|
||||
update_icon(UPDATE_OVERLAYS)
|
||||
|
||||
/obj/item/implantcase/update_overlays()
|
||||
/obj/item/bio_chip_case/update_overlays()
|
||||
. = ..()
|
||||
if(imp)
|
||||
var/image/implant_overlay = image('icons/obj/implants.dmi', imp.implant_state)
|
||||
var/image/implant_overlay = image('icons/obj/bio_chips.dmi', imp.implant_state)
|
||||
. += implant_overlay
|
||||
|
||||
/obj/item/implantcase/attackby(obj/item/W, mob/user)
|
||||
/obj/item/bio_chip_case/attackby(obj/item/W, mob/user)
|
||||
..()
|
||||
|
||||
if(is_pen(W))
|
||||
rename_interactive(user, W)
|
||||
else if(istype(W, /obj/item/implanter))
|
||||
var/obj/item/implanter/I = W
|
||||
else if(istype(W, /obj/item/bio_chip_implanter))
|
||||
var/obj/item/bio_chip_implanter/I = W
|
||||
if(I.imp)
|
||||
if(imp || I.imp.implanted)
|
||||
return
|
||||
+9
-9
@@ -1,4 +1,4 @@
|
||||
/obj/item/implant/chem
|
||||
/obj/item/bio_chip/chem
|
||||
name = "chem bio-chip"
|
||||
desc = "Injects things."
|
||||
icon_state = "reagents"
|
||||
@@ -8,19 +8,19 @@
|
||||
implant_data = /datum/implant_fluff/chem
|
||||
implant_state = "implant-nanotrasen"
|
||||
|
||||
/obj/item/implant/chem/Initialize(mapload)
|
||||
/obj/item/bio_chip/chem/Initialize(mapload)
|
||||
. = ..()
|
||||
create_reagents(50)
|
||||
GLOB.tracked_implants += src
|
||||
|
||||
/obj/item/implant/chem/Destroy()
|
||||
/obj/item/bio_chip/chem/Destroy()
|
||||
GLOB.tracked_implants -= src
|
||||
return ..()
|
||||
|
||||
/obj/item/implant/chem/death_trigger(mob/victim, gibbed)
|
||||
/obj/item/bio_chip/chem/death_trigger(mob/victim, gibbed)
|
||||
activate(reagents.total_volume)
|
||||
|
||||
/obj/item/implant/chem/activate(cause)
|
||||
/obj/item/bio_chip/chem/activate(cause)
|
||||
if(!cause || !imp_in)
|
||||
return FALSE
|
||||
var/mob/living/carbon/R = imp_in
|
||||
@@ -42,11 +42,11 @@
|
||||
to_chat(R, "<span class='italics'>You hear a faint click from your chest.</span>")
|
||||
qdel(src)
|
||||
|
||||
/obj/item/implanter/chem
|
||||
/obj/item/bio_chip_implanter/chem
|
||||
name = "bio-chip implanter (chem)"
|
||||
implant_type = /obj/item/implant/chem
|
||||
implant_type = /obj/item/bio_chip/chem
|
||||
|
||||
/obj/item/implantcase/chem
|
||||
/obj/item/bio_chip_case/chem
|
||||
name = "bio-chip case - 'Remote Chemical'"
|
||||
desc = "A glass case containing a remote chemical bio-chip."
|
||||
implant_type = /obj/item/implant/chem
|
||||
implant_type = /obj/item/bio_chip/chem
|
||||
+10
-10
@@ -1,4 +1,4 @@
|
||||
/obj/item/implant/death_alarm
|
||||
/obj/item/bio_chip/death_alarm
|
||||
name = "death alarm bio-chip"
|
||||
desc = "An alarm which monitors host vital signs and transmits a radio message upon death."
|
||||
activated = BIOCHIP_ACTIVATED_PASSIVE
|
||||
@@ -9,12 +9,12 @@
|
||||
var/mobname = "Unknown"
|
||||
var/static/list/stealth_areas = typecacheof(list(/area/syndicate_mothership, /area/shuttle/syndicate_elite))
|
||||
|
||||
/obj/item/implant/death_alarm/implant(mob/target)
|
||||
/obj/item/bio_chip/death_alarm/implant(mob/target)
|
||||
. = ..()
|
||||
if(.)
|
||||
mobname = target.real_name
|
||||
|
||||
/obj/item/implant/death_alarm/activate(cause) // Death signal sends name followed by the gibbed / not gibbed check
|
||||
/obj/item/bio_chip/death_alarm/activate(cause) // Death signal sends name followed by the gibbed / not gibbed check
|
||||
var/mob/M = imp_in
|
||||
var/area/t = get_area(M)
|
||||
|
||||
@@ -38,26 +38,26 @@
|
||||
|
||||
qdel(a)
|
||||
|
||||
/obj/item/implant/death_alarm/emp_act(severity) //for some reason alarms stop going off in case they are emp'd, even without this
|
||||
/obj/item/bio_chip/death_alarm/emp_act(severity) //for some reason alarms stop going off in case they are emp'd, even without this
|
||||
activate("emp") //let's shout that this dude is dead
|
||||
|
||||
/obj/item/implant/death_alarm/death_trigger(mob/source, gibbed)
|
||||
/obj/item/bio_chip/death_alarm/death_trigger(mob/source, gibbed)
|
||||
if(gibbed)
|
||||
activate("gib")
|
||||
else
|
||||
activate("death")
|
||||
|
||||
/obj/item/implant/death_alarm/removed(mob/target)
|
||||
/obj/item/bio_chip/death_alarm/removed(mob/target)
|
||||
if(..())
|
||||
UnregisterSignal(target, COMSIG_MOB_DEATH)
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/obj/item/implanter/death_alarm
|
||||
/obj/item/bio_chip_implanter/death_alarm
|
||||
name = "bio-chip implanter (Death Alarm)"
|
||||
implant_type = /obj/item/implant/death_alarm
|
||||
implant_type = /obj/item/bio_chip/death_alarm
|
||||
|
||||
/obj/item/implantcase/death_alarm
|
||||
/obj/item/bio_chip_case/death_alarm
|
||||
name = "bio-chip Case - 'Death Alarm'"
|
||||
desc = "A case containing a death alarm bio-chip."
|
||||
implant_type = /obj/item/implant/death_alarm
|
||||
implant_type = /obj/item/bio_chip/death_alarm
|
||||
+9
-9
@@ -1,19 +1,19 @@
|
||||
// Dust implant, for CC officers. Prevents gear theft if they die.
|
||||
|
||||
/obj/item/implant/dust
|
||||
/obj/item/bio_chip/dust
|
||||
name = "duster bio-chip"
|
||||
desc = "A remote controlled bio-chip that will dust the user upon activation (or death of user)."
|
||||
icon = 'icons/obj/implants.dmi'
|
||||
icon = 'icons/obj/bio_chips.dmi'
|
||||
icon_state = "dust"
|
||||
actions_types = list(/datum/action/item_action/hands_free/activate/always)
|
||||
trigger_causes = BIOCHIP_TRIGGER_DEATH_ONCE | BIOCHIP_TRIGGER_NOT_WHEN_GIBBED
|
||||
implant_data = /datum/implant_fluff/dust
|
||||
implant_state = "implant-nanotrasen"
|
||||
|
||||
/obj/item/implant/dust/death_trigger(mob/source, force)
|
||||
/obj/item/bio_chip/dust/death_trigger(mob/source, force)
|
||||
activate("death")
|
||||
|
||||
/obj/item/implant/dust/activate(cause)
|
||||
/obj/item/bio_chip/dust/activate(cause)
|
||||
if(!cause || !imp_in || cause == "emp")
|
||||
return FALSE
|
||||
if(cause == "action_button" && alert(imp_in, "Are you sure you want to activate your dusting bio-chip? This will turn you to ash!", "Dusting Confirmation", "Yes", "No") != "Yes")
|
||||
@@ -22,14 +22,14 @@
|
||||
imp_in.visible_message("<span class = 'warning'>[imp_in] burns up in a flash!</span>")
|
||||
imp_in.dust()
|
||||
|
||||
/obj/item/implant/dust/emp_act(severity)
|
||||
/obj/item/bio_chip/dust/emp_act(severity)
|
||||
return
|
||||
|
||||
/obj/item/implanter/dust
|
||||
/obj/item/bio_chip_implanter/dust
|
||||
name = "bio-chip implanter (Dust-on-death)"
|
||||
implant_type = /obj/item/implant/dust
|
||||
implant_type = /obj/item/bio_chip/dust
|
||||
|
||||
/obj/item/implantcase/dust
|
||||
/obj/item/bio_chip_case/dust
|
||||
name = "bio-chip case - 'Dust'"
|
||||
desc = "A glass case containing a dust bio-chip."
|
||||
implant_type = /obj/item/implant/dust
|
||||
implant_type = /obj/item/bio_chip/dust
|
||||
+6
-6
@@ -1,4 +1,4 @@
|
||||
/obj/item/implant/emp
|
||||
/obj/item/bio_chip/emp
|
||||
name = "emp bio-chip"
|
||||
desc = "Triggers an EMP."
|
||||
icon_state = "emp"
|
||||
@@ -7,17 +7,17 @@
|
||||
implant_data = /datum/implant_fluff/emp
|
||||
implant_state = "implant-syndicate"
|
||||
|
||||
/obj/item/implant/emp/activate()
|
||||
/obj/item/bio_chip/emp/activate()
|
||||
uses--
|
||||
INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(empulse), get_turf(imp_in), 3, 5, 1)
|
||||
if(!uses)
|
||||
qdel(src)
|
||||
|
||||
/obj/item/implanter/emp
|
||||
/obj/item/bio_chip_implanter/emp
|
||||
name = "bio-chip implanter (EMP)"
|
||||
implant_type = /obj/item/implant/emp
|
||||
implant_type = /obj/item/bio_chip/emp
|
||||
|
||||
/obj/item/implantcase/emp
|
||||
/obj/item/bio_chip_case/emp
|
||||
name = "bio-chip case - 'EMP'"
|
||||
desc = "A glass case containing an EMP bio-chip."
|
||||
implant_type = /obj/item/implant/emp
|
||||
implant_type = /obj/item/bio_chip/emp
|
||||
+20
-20
@@ -1,4 +1,4 @@
|
||||
/obj/item/implant/explosive
|
||||
/obj/item/bio_chip/explosive
|
||||
name = "microbomb bio-chip"
|
||||
desc = "And boom goes the weasel."
|
||||
icon_state = "explosive"
|
||||
@@ -14,10 +14,10 @@
|
||||
var/heavy = 0.4
|
||||
var/delay = 7
|
||||
|
||||
/obj/item/implant/explosive/death_trigger(mob/source, gibbed)
|
||||
/obj/item/bio_chip/explosive/death_trigger(mob/source, gibbed)
|
||||
activate("death")
|
||||
|
||||
/obj/item/implant/explosive/activate(cause)
|
||||
/obj/item/bio_chip/explosive/activate(cause)
|
||||
if(!cause || !imp_in)
|
||||
return FALSE
|
||||
if(cause == "action_button" && alert(imp_in, "Are you sure you want to activate your microbomb bio-chip? This will cause you to explode!", "Microbomb Bio-chip Confirmation", "Yes", "No") != "Yes")
|
||||
@@ -36,7 +36,7 @@
|
||||
timed_explosion()
|
||||
|
||||
/// Gib the implantee and delete their destructible contents.
|
||||
/obj/item/implant/explosive/proc/self_destruct()
|
||||
/obj/item/bio_chip/explosive/proc/self_destruct()
|
||||
if(!imp_in)
|
||||
return
|
||||
|
||||
@@ -67,8 +67,8 @@
|
||||
|
||||
qdel(src)
|
||||
|
||||
/obj/item/implant/explosive/implant(mob/source)
|
||||
var/obj/item/implant/explosive/imp_e = locate(type) in source
|
||||
/obj/item/bio_chip/explosive/implant(mob/source)
|
||||
var/obj/item/bio_chip/explosive/imp_e = locate(type) in source
|
||||
if(imp_e && imp_e != src)
|
||||
imp_e.heavy += heavy
|
||||
imp_e.medium += medium
|
||||
@@ -79,7 +79,7 @@
|
||||
|
||||
return ..()
|
||||
|
||||
/obj/item/implant/explosive/proc/timed_explosion()
|
||||
/obj/item/bio_chip/explosive/proc/timed_explosion()
|
||||
imp_in.visible_message("<span class = 'warning'>[imp_in] starts beeping ominously!</span>")
|
||||
playsound(loc, 'sound/items/timer.ogg', 30, 0)
|
||||
var/wait_delay = delay / 4
|
||||
@@ -95,7 +95,7 @@
|
||||
sleep(wait_delay)
|
||||
self_destruct()
|
||||
|
||||
/obj/item/implant/explosive/macro
|
||||
/obj/item/bio_chip/explosive/macro
|
||||
name = "macrobomb bio-chip"
|
||||
desc = "And boom goes the weasel. And everything else nearby."
|
||||
icon_state = "explosive"
|
||||
@@ -106,7 +106,7 @@
|
||||
delay = 3 SECONDS
|
||||
implant_data = new /datum/implant_fluff/explosive_macro
|
||||
|
||||
/obj/item/implant/explosive/macro/activate(cause)
|
||||
/obj/item/bio_chip/explosive/macro/activate(cause)
|
||||
if(!cause || !imp_in)
|
||||
return FALSE
|
||||
if(cause == "action_button" && alert(imp_in, "Are you sure you want to activate your macrobomb bio-chip? This will cause you to explode and gib!", "Macrobomb Bio-chip Confirmation", "Yes", "No") != "Yes")
|
||||
@@ -114,11 +114,11 @@
|
||||
to_chat(imp_in, "<span class='notice'>You activate your macrobomb bio-chip.</span>")
|
||||
timed_explosion()
|
||||
|
||||
/obj/item/implant/explosive/macro/implant(mob/source)
|
||||
var/obj/item/implant/explosive/imp_e = locate(type) in source
|
||||
/obj/item/bio_chip/explosive/macro/implant(mob/source)
|
||||
var/obj/item/bio_chip/explosive/imp_e = locate(type) in source
|
||||
if(imp_e && imp_e != src)
|
||||
return FALSE
|
||||
imp_e = locate(/obj/item/implant/explosive) in source
|
||||
imp_e = locate(/obj/item/bio_chip/explosive) in source
|
||||
if(imp_e && imp_e != src)
|
||||
heavy += imp_e.heavy
|
||||
medium += imp_e.medium
|
||||
@@ -129,20 +129,20 @@
|
||||
return ..()
|
||||
|
||||
|
||||
/obj/item/implanter/explosive
|
||||
/obj/item/bio_chip_implanter/explosive
|
||||
name = "bio-chip implanter (explosive)"
|
||||
implant_type = /obj/item/implant/explosive
|
||||
implant_type = /obj/item/bio_chip/explosive
|
||||
|
||||
/obj/item/implantcase/explosive
|
||||
/obj/item/bio_chip_case/explosive
|
||||
name = "bio-chip case - 'Micro Explosive'"
|
||||
desc = "A glass case containing a micro explosive bio-chip."
|
||||
implant_type = /obj/item/implant/explosive
|
||||
implant_type = /obj/item/bio_chip/explosive
|
||||
|
||||
/obj/item/implanter/explosive_macro
|
||||
/obj/item/bio_chip_implanter/explosive_macro
|
||||
name = "bio-chip implanter (macro-explosive)"
|
||||
implant_type = /obj/item/implant/explosive/macro
|
||||
implant_type = /obj/item/bio_chip/explosive/macro
|
||||
|
||||
/obj/item/implantcase/explosive_macro
|
||||
/obj/item/bio_chip_case/explosive_macro
|
||||
name = "bio-chip case - 'Macro Explosive'"
|
||||
desc = "A glass case containing a macro explosive bio-chip."
|
||||
implant_type = /obj/item/implant/explosive/macro
|
||||
implant_type = /obj/item/bio_chip/explosive/macro
|
||||
+11
-11
@@ -1,4 +1,4 @@
|
||||
/obj/item/implant/freedom
|
||||
/obj/item/bio_chip/freedom
|
||||
name = "freedom bio-chip"
|
||||
desc = "Use this to escape from those evil Red Shirts."
|
||||
icon_state = "freedom"
|
||||
@@ -9,7 +9,7 @@
|
||||
implant_state = "implant-syndicate"
|
||||
|
||||
|
||||
/obj/item/implant/freedom/activate()
|
||||
/obj/item/bio_chip/freedom/activate()
|
||||
uses--
|
||||
to_chat(imp_in, "You feel a faint click.")
|
||||
if(iscarbon(imp_in))
|
||||
@@ -27,16 +27,16 @@
|
||||
if(!uses)
|
||||
qdel(src)
|
||||
|
||||
/obj/item/implanter/freedom
|
||||
/obj/item/bio_chip_implanter/freedom
|
||||
name = "bio-chip implanter (freedom)"
|
||||
implant_type = /obj/item/implant/freedom
|
||||
implant_type = /obj/item/bio_chip/freedom
|
||||
|
||||
/obj/item/implantcase/freedom
|
||||
/obj/item/bio_chip_case/freedom
|
||||
name = "bio-chip case - 'Freedom'"
|
||||
desc = "A glass case containing a freedom bio-chip."
|
||||
implant_type = /obj/item/implant/freedom
|
||||
implant_type = /obj/item/bio_chip/freedom
|
||||
|
||||
/obj/item/implant/freedom/prototype
|
||||
/obj/item/bio_chip/freedom/prototype
|
||||
name = "prototype freedom bio-chip"
|
||||
desc = "Use this to escape from those evil Red Shirts. Works only once!"
|
||||
icon_state = "freedom"
|
||||
@@ -46,11 +46,11 @@
|
||||
implant_data = /datum/implant_fluff/protofreedom
|
||||
implant_state = "implant-syndicate"
|
||||
|
||||
/obj/item/implanter/freedom/prototype
|
||||
/obj/item/bio_chip_implanter/freedom/prototype
|
||||
name = "bio-chip implanter (proto-freedom)"
|
||||
implant_type = /obj/item/implant/freedom/prototype
|
||||
implant_type = /obj/item/bio_chip/freedom/prototype
|
||||
|
||||
/obj/item/implantcase/freedom/prototype
|
||||
/obj/item/bio_chip_case/freedom/prototype
|
||||
name = "bio-chip case - 'Proto-Freedom'"
|
||||
desc = "A glass case containing a prototype freedom bio-chip."
|
||||
implant_type = /obj/item/implant/freedom/prototype
|
||||
implant_type = /obj/item/bio_chip/freedom/prototype
|
||||
+6
-6
@@ -1,4 +1,4 @@
|
||||
/obj/item/implant/gorilla_rampage //Dumb path but easier to search for admins
|
||||
/obj/item/bio_chip/gorilla_rampage //Dumb path but easier to search for admins
|
||||
name = "magillitis serum bio-chip"
|
||||
desc = "An experimental biochip which causes irreversable rapid muscular growth in Hominidae. Side-affects may include hypertrichosis, violent outbursts, and an unending affinity for bananas."
|
||||
icon_state = "gorilla_rampage"
|
||||
@@ -7,7 +7,7 @@
|
||||
implant_data = /datum/implant_fluff/gorilla_rampage
|
||||
implant_state = "implant-syndicate"
|
||||
|
||||
/obj/item/implant/gorilla_rampage/activate()
|
||||
/obj/item/bio_chip/gorilla_rampage/activate()
|
||||
if(!iscarbon(imp_in))
|
||||
return
|
||||
|
||||
@@ -15,11 +15,11 @@
|
||||
target.visible_message("<span class='userdanger'>[target] swells and their hair grows rapidly. Uh oh!.</span>","<span class='userdanger'>You feel your muscles swell and your hair grow as you return to monke.</span>", "<span class='userdanger'>You hear angry gorilla noises.</span>")
|
||||
target.gorillize(TRUE)
|
||||
|
||||
/obj/item/implanter/gorilla_rampage
|
||||
/obj/item/bio_chip_implanter/gorilla_rampage
|
||||
name = "bio-chip implanter (magillitis serum)"
|
||||
implant_type = /obj/item/implant/gorilla_rampage
|
||||
implant_type = /obj/item/bio_chip/gorilla_rampage
|
||||
|
||||
/obj/item/implantcase/gorilla_rampage
|
||||
/obj/item/bio_chip_case/gorilla_rampage
|
||||
name = "bio-chip case - 'magillitis serum'"
|
||||
desc = "A glass case containing a magillitis bio-chip."
|
||||
implant_type = /obj/item/implant/gorilla_rampage
|
||||
implant_type = /obj/item/bio_chip/gorilla_rampage
|
||||
+6
-6
@@ -1,4 +1,4 @@
|
||||
/obj/item/implant/health
|
||||
/obj/item/bio_chip/health
|
||||
name = "health bio-chip"
|
||||
activated = FALSE
|
||||
implant_data = /datum/implant_fluff/health
|
||||
@@ -6,18 +6,18 @@
|
||||
|
||||
var/healthstring = ""
|
||||
|
||||
/obj/item/implant/health/proc/sensehealth()
|
||||
/obj/item/bio_chip/health/proc/sensehealth()
|
||||
if(!imp_in)
|
||||
return "ERROR"
|
||||
else
|
||||
healthstring = "[round(imp_in.getOxyLoss())] - [round(imp_in.getFireLoss())] - [round(imp_in.getToxLoss())] - [round(imp_in.getBruteLoss())]"
|
||||
return healthstring
|
||||
|
||||
/obj/item/implanter/health
|
||||
/obj/item/bio_chip_implanter/health
|
||||
name = "implanter (health)"
|
||||
implant_type = /obj/item/implant/health
|
||||
implant_type = /obj/item/bio_chip/health
|
||||
|
||||
/obj/item/implantcase/health
|
||||
/obj/item/bio_chip_case/health
|
||||
name = "implant case - 'Health'"
|
||||
desc = "A glass case containing a health implant."
|
||||
implant_type = /obj/item/implant/health
|
||||
implant_type = /obj/item/bio_chip/health
|
||||
+6
-6
@@ -1,4 +1,4 @@
|
||||
/obj/item/implant/krav_maga
|
||||
/obj/item/bio_chip/krav_maga
|
||||
name = "krav maga bio-chip"
|
||||
desc = "Teaches you the arts of Krav Maga in 5 short instructional videos beamed directly into your eyeballs."
|
||||
icon = 'icons/obj/wizard.dmi'
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
var/datum/martial_art/krav_maga/style = new
|
||||
|
||||
/obj/item/implant/krav_maga/activate()
|
||||
/obj/item/bio_chip/krav_maga/activate()
|
||||
var/mob/living/carbon/human/H = imp_in
|
||||
if(!ishuman(H) || !H.mind)
|
||||
return
|
||||
@@ -19,11 +19,11 @@
|
||||
else
|
||||
style.teach(H, TRUE)
|
||||
|
||||
/obj/item/implanter/krav_maga
|
||||
/obj/item/bio_chip_implanter/krav_maga
|
||||
name = "bio-chip implanter (krav maga)"
|
||||
implant_type = /obj/item/implant/krav_maga
|
||||
implant_type = /obj/item/bio_chip/krav_maga
|
||||
|
||||
/obj/item/implantcase/krav_maga
|
||||
/obj/item/bio_chip_case/krav_maga
|
||||
name = "bio-chip case - 'Krav Maga'"
|
||||
desc = "A glass case containing a bio-chip that can teach the user the art of Krav Maga."
|
||||
implant_type = /obj/item/implant/krav_maga
|
||||
implant_type = /obj/item/bio_chip/krav_maga
|
||||
+8
-8
@@ -1,4 +1,4 @@
|
||||
/obj/item/implant/mindshield
|
||||
/obj/item/bio_chip/mindshield
|
||||
name = "mindshield bio-chip"
|
||||
desc = "Stops people messing with your mind."
|
||||
origin_tech = "materials=2;biotech=4;programming=4"
|
||||
@@ -6,14 +6,14 @@
|
||||
implant_data = /datum/implant_fluff/mindshield
|
||||
implant_state = "implant-nanotrasen"
|
||||
|
||||
/obj/item/implant/mindshield/can_implant(mob/source, mob/user)
|
||||
/obj/item/bio_chip/mindshield/can_implant(mob/source, mob/user)
|
||||
if(source.mind?.has_antag_datum(/datum/antagonist/rev/head))
|
||||
source.visible_message("<span class='biggerdanger'>[source] seems to resist [src]!</span>",
|
||||
"<span class='warning'>You feel something interfering with your mental conditioning, but you resist it!</span>")
|
||||
return FALSE
|
||||
return ..()
|
||||
|
||||
/obj/item/implant/mindshield/implant(mob/target)
|
||||
/obj/item/bio_chip/mindshield/implant(mob/target)
|
||||
if(!..())
|
||||
return FALSE
|
||||
if(target.mind)
|
||||
@@ -26,18 +26,18 @@
|
||||
to_chat(target, "<span class='notice'>Your mind feels hardened - more resistant to brainwashing.</span>")
|
||||
return TRUE
|
||||
|
||||
/obj/item/implant/mindshield/removed(mob/target, silent = 0)
|
||||
/obj/item/bio_chip/mindshield/removed(mob/target, silent = 0)
|
||||
if(..())
|
||||
if(target.stat != DEAD && !silent)
|
||||
to_chat(target, "<span class='boldnotice'>Your mind softens. You feel susceptible to the effects of brainwashing once more.</span>")
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/obj/item/implanter/mindshield
|
||||
/obj/item/bio_chip_implanter/mindshield
|
||||
name = "bio-chip implanter (mindshield)"
|
||||
implant_type = /obj/item/implant/mindshield
|
||||
implant_type = /obj/item/bio_chip/mindshield
|
||||
|
||||
/obj/item/implantcase/mindshield
|
||||
/obj/item/bio_chip_case/mindshield
|
||||
name = "bio-chip case - 'mindshield'"
|
||||
desc = "A glass case containing a mindshield bio-chip."
|
||||
implant_type = /obj/item/implant/mindshield
|
||||
implant_type = /obj/item/bio_chip/mindshield
|
||||
+14
-14
@@ -1,40 +1,40 @@
|
||||
/obj/item/implantpad
|
||||
/obj/item/bio_chip_pad
|
||||
name = "bio-chip pad"
|
||||
desc = "Used to modify bio-chips."
|
||||
icon = 'icons/obj/implants.dmi'
|
||||
icon = 'icons/obj/bio_chips.dmi'
|
||||
icon_state = "implantpad-off"
|
||||
item_state = "electronic"
|
||||
throw_speed = 3
|
||||
throw_range = 5
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
|
||||
var/obj/item/implantcase/case
|
||||
var/obj/item/bio_chip_case/case
|
||||
|
||||
/obj/item/implantpad/Destroy()
|
||||
/obj/item/bio_chip_pad/Destroy()
|
||||
if(case)
|
||||
eject_case()
|
||||
return ..()
|
||||
|
||||
/obj/item/implantpad/examine(mob/user)
|
||||
/obj/item/bio_chip_pad/examine(mob/user)
|
||||
. = ..()
|
||||
. += "<span class='notice'>You can <b>Alt-Click</b> [src] to remove it's stored implant.</span>"
|
||||
|
||||
/obj/item/implantpad/update_icon_state()
|
||||
/obj/item/bio_chip_pad/update_icon_state()
|
||||
if(case)
|
||||
icon_state = "implantpad-on"
|
||||
else
|
||||
icon_state = "implantpad-off"
|
||||
|
||||
/obj/item/implantpad/attack_self(mob/user)
|
||||
/obj/item/bio_chip_pad/attack_self(mob/user)
|
||||
ui_interact(user)
|
||||
|
||||
/obj/item/implantpad/attackby(obj/item/implantcase/C, mob/user)
|
||||
/obj/item/bio_chip_pad/attackby(obj/item/bio_chip_case/C, mob/user)
|
||||
if(istype(C))
|
||||
addcase(user, C)
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/item/implantpad/proc/addcase(mob/user, obj/item/implantcase/C)
|
||||
/obj/item/bio_chip_pad/proc/addcase(mob/user, obj/item/bio_chip_case/C)
|
||||
if(!user || !C)
|
||||
return
|
||||
if(case)
|
||||
@@ -45,7 +45,7 @@
|
||||
case = C
|
||||
update_icon(UPDATE_ICON_STATE)
|
||||
|
||||
/obj/item/implantpad/proc/eject_case(mob/user)
|
||||
/obj/item/bio_chip_pad/proc/eject_case(mob/user)
|
||||
if(!case)
|
||||
return
|
||||
if(user)
|
||||
@@ -60,19 +60,19 @@
|
||||
case = null
|
||||
update_icon(UPDATE_ICON_STATE)
|
||||
|
||||
/obj/item/implantpad/AltClick(mob/user)
|
||||
/obj/item/bio_chip_pad/AltClick(mob/user)
|
||||
if(user.stat || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || !Adjacent(user))
|
||||
return
|
||||
|
||||
eject_case(user)
|
||||
|
||||
/obj/item/implantpad/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = TRUE, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state)
|
||||
/obj/item/bio_chip_pad/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = TRUE, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state)
|
||||
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
|
||||
if(!ui)
|
||||
ui = new(user, src, ui_key, "ImplantPad", name, 410, 400, master_ui, state)
|
||||
ui.open()
|
||||
|
||||
/obj/item/implantpad/ui_data(mob/user)
|
||||
/obj/item/bio_chip_pad/ui_data(mob/user)
|
||||
var/list/data = list()
|
||||
data["contains_case"] = case ? TRUE : FALSE
|
||||
if(case && case.imp)
|
||||
@@ -86,7 +86,7 @@
|
||||
)
|
||||
return data
|
||||
|
||||
/obj/item/implantpad/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state)
|
||||
/obj/item/bio_chip_pad/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state)
|
||||
if(..())
|
||||
return
|
||||
|
||||
+8
-8
@@ -1,4 +1,4 @@
|
||||
/obj/item/implant/grey_autocloner
|
||||
/obj/item/bio_chip/grey_autocloner
|
||||
name = "technocracy cloning bio-chip"
|
||||
desc = "Allows for advanced instantanious cloning!"
|
||||
icon_state = "generic"
|
||||
@@ -9,17 +9,17 @@
|
||||
var/obj/machinery/grey_autocloner/linked
|
||||
var/datum/dna2/record/our_record
|
||||
|
||||
/obj/item/implant/grey_autocloner/Destroy()
|
||||
/obj/item/bio_chip/grey_autocloner/Destroy()
|
||||
linked = null
|
||||
our_record = null
|
||||
return ..()
|
||||
|
||||
/obj/item/implant/grey_autocloner/death_trigger(mob/source, gibbed)
|
||||
/obj/item/bio_chip/grey_autocloner/death_trigger(mob/source, gibbed)
|
||||
imp_in.ghostize(TRUE)
|
||||
if(linked)
|
||||
linked.growclone(our_record)
|
||||
|
||||
/obj/item/implant/grey_autocloner/implant(mob/source, mob/user, force)
|
||||
/obj/item/bio_chip/grey_autocloner/implant(mob/source, mob/user, force)
|
||||
if(!linked)
|
||||
to_chat(user, "<span class='warning'>Please link the implanter with a Technocracy cloning pod!</span>")
|
||||
return FALSE
|
||||
@@ -38,11 +38,11 @@
|
||||
if(imp_in.mind) //Save that mind so traitors can continue traitoring after cloning.
|
||||
our_record.mind = imp_in.mind.UID()
|
||||
|
||||
/obj/item/implanter/grey_autocloner
|
||||
/obj/item/bio_chip_implanter/grey_autocloner
|
||||
name = "bio-chip implanter (Technocracy cloning)"
|
||||
implant_type = /obj/item/implant/grey_autocloner
|
||||
implant_type = /obj/item/bio_chip/grey_autocloner
|
||||
|
||||
/obj/item/implantcase/grey_autocloner
|
||||
/obj/item/bio_chip_case/grey_autocloner
|
||||
name = "bio-chip case - 'Technocracy cloning'"
|
||||
desc = "A glass case containing an Technocracy bio-chip."
|
||||
implant_type = /obj/item/implant/grey_autocloner
|
||||
implant_type = /obj/item/bio_chip/grey_autocloner
|
||||
+8
-8
@@ -1,4 +1,4 @@
|
||||
/obj/item/implant/sad_trombone
|
||||
/obj/item/bio_chip/sad_trombone
|
||||
name = "sad trombone bio-chip"
|
||||
activated = FALSE
|
||||
trigger_emotes = list("deathgasp")
|
||||
@@ -7,21 +7,21 @@
|
||||
implant_data = /datum/implant_fluff/sad_trombone
|
||||
implant_state = "implant-honk"
|
||||
|
||||
/obj/item/implant/sad_trombone/emote_trigger(emote, mob/source, force)
|
||||
/obj/item/bio_chip/sad_trombone/emote_trigger(emote, mob/source, force)
|
||||
activate(emote)
|
||||
|
||||
/obj/item/implant/sad_trombone/death_trigger(mob/user, gibbed)
|
||||
/obj/item/bio_chip/sad_trombone/death_trigger(mob/user, gibbed)
|
||||
activate(gibbed)
|
||||
|
||||
|
||||
/obj/item/implant/sad_trombone/activate()
|
||||
/obj/item/bio_chip/sad_trombone/activate()
|
||||
playsound(loc, 'sound/misc/sadtrombone.ogg', 50, FALSE)
|
||||
|
||||
/obj/item/implanter/sad_trombone
|
||||
/obj/item/bio_chip_implanter/sad_trombone
|
||||
name = "bio-chip implanter (sad trombone)"
|
||||
implant_type = /obj/item/implant/sad_trombone
|
||||
implant_type = /obj/item/bio_chip/sad_trombone
|
||||
|
||||
/obj/item/implantcase/sad_trombone
|
||||
/obj/item/bio_chip_case/sad_trombone
|
||||
name = "bio-chip case - 'Sad Trombone'"
|
||||
desc = "A glass case containing a sad trombone bio-chip."
|
||||
implant_type = /obj/item/implant/sad_trombone
|
||||
implant_type = /obj/item/bio_chip/sad_trombone
|
||||
+3
-3
@@ -3,16 +3,16 @@
|
||||
*
|
||||
* Implant which allows you to summon an MGS-style cardboard box that turns you invisble after a short delay.
|
||||
*/
|
||||
/obj/item/implant/stealth
|
||||
/obj/item/bio_chip/stealth
|
||||
name = "S3 bio-chip"
|
||||
desc = "Allows you to be hidden in plain sight."
|
||||
implant_state = "implant-syndicate"
|
||||
implant_data = /datum/implant_fluff/stealth
|
||||
actions_types = list(/datum/action/item_action/agent_box)
|
||||
|
||||
/obj/item/implanter/stealth
|
||||
/obj/item/bio_chip_implanter/stealth
|
||||
name = "bio-chip implanter (stealth)"
|
||||
implant_type = /obj/item/implant/stealth
|
||||
implant_type = /obj/item/bio_chip/stealth
|
||||
|
||||
/datum/action/item_action/agent_box
|
||||
name = "Deploy Box"
|
||||
+12
-12
@@ -8,7 +8,7 @@
|
||||
w_class_override = list(/obj/item/storage/belt)
|
||||
silent = TRUE
|
||||
|
||||
/obj/item/implant/storage
|
||||
/obj/item/bio_chip/storage
|
||||
name = "storage bio-chip"
|
||||
desc = "Stores up to two big items in a bluespace pocket."
|
||||
icon_state = "storage"
|
||||
@@ -19,22 +19,22 @@
|
||||
|
||||
var/obj/item/storage/hidden/implant/storage
|
||||
|
||||
/obj/item/implant/storage/Initialize(mapload)
|
||||
/obj/item/bio_chip/storage/Initialize(mapload)
|
||||
. = ..()
|
||||
storage = new /obj/item/storage/hidden/implant(src)
|
||||
|
||||
/obj/item/implant/storage/emp_act(severity)
|
||||
/obj/item/bio_chip/storage/emp_act(severity)
|
||||
..()
|
||||
storage.emp_act(severity)
|
||||
|
||||
/obj/item/implant/storage/activate()
|
||||
/obj/item/bio_chip/storage/activate()
|
||||
if(!length(storage.mobs_viewing))
|
||||
storage.MouseDrop(imp_in)
|
||||
else
|
||||
for(var/mob/to_close in storage.mobs_viewing)
|
||||
storage.close(to_close)
|
||||
|
||||
/obj/item/implant/storage/removed(source)
|
||||
/obj/item/bio_chip/storage/removed(source)
|
||||
if(..())
|
||||
for(var/mob/M in range(1))
|
||||
if(M.s_active == storage)
|
||||
@@ -43,8 +43,8 @@
|
||||
storage.remove_from_storage(I, get_turf(source))
|
||||
return TRUE
|
||||
|
||||
/obj/item/implant/storage/implant(mob/source)
|
||||
var/obj/item/implant/storage/imp_e = locate(type) in source
|
||||
/obj/item/bio_chip/storage/implant(mob/source)
|
||||
var/obj/item/bio_chip/storage/imp_e = locate(type) in source
|
||||
if(imp_e)
|
||||
imp_e.storage.storage_slots += storage.storage_slots
|
||||
imp_e.storage.max_combined_w_class += storage.max_combined_w_class
|
||||
@@ -60,15 +60,15 @@
|
||||
|
||||
return ..()
|
||||
|
||||
/obj/item/implant/storage/proc/get_contents() //Used for swiftly returning a list of the implant's contents i.e. for checking a theft objective's completion.
|
||||
/obj/item/bio_chip/storage/proc/get_contents() //Used for swiftly returning a list of the implant's contents i.e. for checking a theft objective's completion.
|
||||
if(storage && storage.contents)
|
||||
return storage.contents
|
||||
|
||||
/obj/item/implanter/storage
|
||||
/obj/item/bio_chip_implanter/storage
|
||||
name = "bio-chip implanter (storage)"
|
||||
implant_type = /obj/item/implant/storage
|
||||
implant_type = /obj/item/bio_chip/storage
|
||||
|
||||
/obj/item/implantcase/storage
|
||||
/obj/item/bio_chip_case/storage
|
||||
name = "bio-chip case - 'Storage'"
|
||||
desc = "A glass case containing a storage bio-chip."
|
||||
implant_type = /obj/item/implant/storage
|
||||
implant_type = /obj/item/bio_chip/storage
|
||||
+6
-6
@@ -1,4 +1,4 @@
|
||||
/obj/item/implant/supercharge
|
||||
/obj/item/bio_chip/supercharge
|
||||
name = "supercharge bio-chip"
|
||||
desc = "Removes all stuns and knockdowns."
|
||||
icon_state = "adrenal"
|
||||
@@ -7,7 +7,7 @@
|
||||
implant_data = /datum/implant_fluff/adrenaline
|
||||
implant_state = "implant-syndicate"
|
||||
|
||||
/obj/item/implant/supercharge/activate()
|
||||
/obj/item/bio_chip/supercharge/activate()
|
||||
uses--
|
||||
to_chat(imp_in, "<span class='notice'>You feel an electric sensation as your components enter overdrive!</span>")
|
||||
imp_in.SetStunned(0)
|
||||
@@ -24,11 +24,11 @@
|
||||
if(!uses)
|
||||
qdel(src)
|
||||
|
||||
/obj/item/implanter/supercharge
|
||||
/obj/item/bio_chip_implanter/supercharge
|
||||
name = "bio-chip implanter (supercharge)"
|
||||
implant_type = /obj/item/implant/supercharge
|
||||
implant_type = /obj/item/bio_chip/supercharge
|
||||
|
||||
/obj/item/implantcase/supercharge
|
||||
/obj/item/bio_chip_case/supercharge
|
||||
name = "bio-chip case - 'supercharge'"
|
||||
desc = "A glass case containing an supercharge bio-chip."
|
||||
implant_type = /obj/item/implant/supercharge
|
||||
implant_type = /obj/item/bio_chip/supercharge
|
||||
+9
-9
@@ -1,4 +1,4 @@
|
||||
/obj/item/implant/tracking
|
||||
/obj/item/bio_chip/tracking
|
||||
name = "tracking bio-chip"
|
||||
desc = "Track with this."
|
||||
activated = BIOCHIP_ACTIVATED_PASSIVE
|
||||
@@ -9,22 +9,22 @@
|
||||
var/obj/item/gps/internal_gps
|
||||
var/internal_gps_path = /obj/item/gps/internal/tracking_implant
|
||||
|
||||
/obj/item/implant/tracking/Initialize(mapload)
|
||||
/obj/item/bio_chip/tracking/Initialize(mapload)
|
||||
. = ..()
|
||||
GLOB.tracked_implants += src
|
||||
|
||||
/obj/item/implant/tracking/Destroy()
|
||||
/obj/item/bio_chip/tracking/Destroy()
|
||||
QDEL_NULL(internal_gps)
|
||||
GLOB.tracked_implants -= src
|
||||
return ..()
|
||||
|
||||
/obj/item/implant/tracking/implant(mob/target)
|
||||
/obj/item/bio_chip/tracking/implant(mob/target)
|
||||
. = ..()
|
||||
if(!.)
|
||||
return
|
||||
internal_gps = new internal_gps_path(src)
|
||||
|
||||
/obj/item/implant/tracking/removed(mob/target)
|
||||
/obj/item/bio_chip/tracking/removed(mob/target)
|
||||
. = ..()
|
||||
if(.)
|
||||
QDEL_NULL(internal_gps)
|
||||
@@ -33,11 +33,11 @@
|
||||
gpstag = "TRACK0"
|
||||
local = FALSE
|
||||
|
||||
/obj/item/implanter/tracking
|
||||
/obj/item/bio_chip_implanter/tracking
|
||||
name = "bio-chip implanter (tracking)"
|
||||
implant_type = /obj/item/implant/tracking
|
||||
implant_type = /obj/item/bio_chip/tracking
|
||||
|
||||
/obj/item/implantcase/tracking
|
||||
/obj/item/bio_chip_case/tracking
|
||||
name = "bio-chip case - 'Tracking'"
|
||||
desc = "A glass case containing a tracking bio-chip."
|
||||
implant_type = /obj/item/implant/tracking
|
||||
implant_type = /obj/item/bio_chip/tracking
|
||||
+7
-7
@@ -1,4 +1,4 @@
|
||||
/obj/item/implant/traitor
|
||||
/obj/item/bio_chip/traitor
|
||||
name = "Mindslave Bio-chip"
|
||||
desc = "Divide and Conquer"
|
||||
origin_tech = "programming=5;biotech=5;syndicate=8"
|
||||
@@ -9,7 +9,7 @@
|
||||
/// The UID of the mindslave's `mind`. Stored to solve GC race conditions and ensure we can remove their mindslave status even when they're deleted or gibbed.
|
||||
var/mindslave_UID
|
||||
|
||||
/obj/item/implant/traitor/implant(mob/living/carbon/human/mindslave_target, mob/living/carbon/human/user)
|
||||
/obj/item/bio_chip/traitor/implant(mob/living/carbon/human/mindslave_target, mob/living/carbon/human/user)
|
||||
// Check `activated` here so you can't just keep taking it out and putting it back into other people.
|
||||
if(activated || !istype(mindslave_target) || !istype(user)) // Both the target and the user need to be human.
|
||||
return FALSE
|
||||
@@ -40,16 +40,16 @@
|
||||
log_admin("[key_name_admin(user)] has mind-slaved [key_name_admin(mindslave_target)].")
|
||||
return ..()
|
||||
|
||||
/obj/item/implant/traitor/removed(mob/target)
|
||||
/obj/item/bio_chip/traitor/removed(mob/target)
|
||||
. = ..()
|
||||
var/datum/mind/M = locateUID(mindslave_UID)
|
||||
M.remove_antag_datum(/datum/antagonist/mindslave)
|
||||
|
||||
/obj/item/implanter/traitor
|
||||
/obj/item/bio_chip_implanter/traitor
|
||||
name = "bio-chip implanter (Mindslave)"
|
||||
implant_type = /obj/item/implant/traitor
|
||||
implant_type = /obj/item/bio_chip/traitor
|
||||
|
||||
/obj/item/implantcase/traitor
|
||||
/obj/item/bio_chip_case/traitor
|
||||
name = "bio-chip case - 'Mindslave'"
|
||||
desc = "A glass case containing a mindslave bio-chip."
|
||||
implant_type = /obj/item/implant/traitor
|
||||
implant_type = /obj/item/bio_chip/traitor
|
||||
+16
-16
@@ -1,4 +1,4 @@
|
||||
/obj/item/implant/uplink
|
||||
/obj/item/bio_chip/uplink
|
||||
name = "uplink bio-chip"
|
||||
desc = "Summon things."
|
||||
icon = 'icons/obj/radio.dmi'
|
||||
@@ -7,29 +7,29 @@
|
||||
implant_data = /datum/implant_fluff/uplink
|
||||
implant_state = "implant-syndicate"
|
||||
|
||||
/obj/item/implant/uplink/Initialize(mapload)
|
||||
/obj/item/bio_chip/uplink/Initialize(mapload)
|
||||
. = ..()
|
||||
hidden_uplink = new(src)
|
||||
hidden_uplink.uses = 50
|
||||
|
||||
/obj/item/implant/uplink/nuclear/Initialize(mapload)
|
||||
/obj/item/bio_chip/uplink/nuclear/Initialize(mapload)
|
||||
. = ..()
|
||||
if(hidden_uplink)
|
||||
hidden_uplink.update_uplink_type(UPLINK_TYPE_NUCLEAR)
|
||||
|
||||
/obj/item/implant/uplink/sit/Initialize(mapload)
|
||||
/obj/item/bio_chip/uplink/sit/Initialize(mapload)
|
||||
. = ..()
|
||||
if(hidden_uplink)
|
||||
hidden_uplink.update_uplink_type(UPLINK_TYPE_SIT)
|
||||
|
||||
/obj/item/implant/uplink/admin/Initialize(mapload)
|
||||
/obj/item/bio_chip/uplink/admin/Initialize(mapload)
|
||||
. = ..()
|
||||
if(hidden_uplink)
|
||||
hidden_uplink.update_uplink_type(UPLINK_TYPE_ADMIN)
|
||||
|
||||
|
||||
/obj/item/implant/uplink/implant(mob/source)
|
||||
var/obj/item/implant/imp_e = locate(type) in source
|
||||
/obj/item/bio_chip/uplink/implant(mob/source)
|
||||
var/obj/item/bio_chip/imp_e = locate(type) in source
|
||||
if(imp_e && imp_e != src)
|
||||
imp_e.hidden_uplink.uses += hidden_uplink.uses
|
||||
qdel(src)
|
||||
@@ -40,23 +40,23 @@
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/obj/item/implant/uplink/activate()
|
||||
/obj/item/bio_chip/uplink/activate()
|
||||
if(hidden_uplink)
|
||||
hidden_uplink.check_trigger(imp_in)
|
||||
|
||||
/obj/item/implanter/uplink
|
||||
/obj/item/bio_chip_implanter/uplink
|
||||
name = "bio-chip implanter (uplink)"
|
||||
implant_type = /obj/item/implant/uplink
|
||||
implant_type = /obj/item/bio_chip/uplink
|
||||
|
||||
/obj/item/implantcase/uplink
|
||||
/obj/item/bio_chip_case/uplink
|
||||
name = "bio-chip case - 'Syndicate Uplink'"
|
||||
desc = "A glass case containing an uplink bio-chip."
|
||||
implant_type = /obj/item/implant/uplink
|
||||
implant_type = /obj/item/bio_chip/uplink
|
||||
|
||||
/obj/item/implanter/nuclear
|
||||
/obj/item/bio_chip_implanter/nuclear
|
||||
name = "bio-chip implanter (Nuclear Agent Uplink)"
|
||||
implant_type = /obj/item/implant/uplink/nuclear
|
||||
implant_type = /obj/item/bio_chip/uplink/nuclear
|
||||
|
||||
/obj/item/implantcase/nuclear
|
||||
/obj/item/bio_chip_case/nuclear
|
||||
name = "bio-chip case - 'Nuclear Agent Uplink'"
|
||||
implant_type = /obj/item/implant/uplink/nuclear
|
||||
implant_type = /obj/item/bio_chip/uplink/nuclear
|
||||
+9
-9
@@ -1,7 +1,7 @@
|
||||
/obj/item/implanter
|
||||
/obj/item/bio_chip_implanter
|
||||
name = "bio-chip implanter"
|
||||
desc = "A sterile automatic bio-chip injector."
|
||||
icon = 'icons/obj/implants.dmi'
|
||||
icon = 'icons/obj/bio_chips.dmi'
|
||||
icon_state = "implanter0"
|
||||
item_state = "syringe_0"
|
||||
throw_speed = 3
|
||||
@@ -10,10 +10,10 @@
|
||||
origin_tech = "materials=2;biotech=3"
|
||||
materials = list(MAT_METAL = 600, MAT_GLASS = 200)
|
||||
toolspeed = 1
|
||||
var/obj/item/implant/imp
|
||||
var/obj/item/implant/implant_type
|
||||
var/obj/item/bio_chip/imp
|
||||
var/obj/item/bio_chip/implant_type
|
||||
|
||||
/obj/item/implanter/update_icon_state()
|
||||
/obj/item/bio_chip_implanter/update_icon_state()
|
||||
if(imp)
|
||||
icon_state = "implanter1"
|
||||
origin_tech = imp.origin_tech
|
||||
@@ -21,7 +21,7 @@
|
||||
icon_state = "implanter0"
|
||||
origin_tech = initial(origin_tech)
|
||||
|
||||
/obj/item/implanter/attack(mob/living/carbon/M, mob/user)
|
||||
/obj/item/bio_chip_implanter/attack(mob/living/carbon/M, mob/user)
|
||||
if(!iscarbon(M))
|
||||
return
|
||||
if(user && imp)
|
||||
@@ -39,18 +39,18 @@
|
||||
imp = null
|
||||
update_icon(UPDATE_ICON_STATE)
|
||||
|
||||
/obj/item/implanter/attackby(obj/item/W, mob/user, params)
|
||||
/obj/item/bio_chip_implanter/attackby(obj/item/W, mob/user, params)
|
||||
..()
|
||||
if(is_pen(W))
|
||||
rename_interactive(user, W)
|
||||
|
||||
/obj/item/implanter/Initialize(mapload)
|
||||
/obj/item/bio_chip_implanter/Initialize(mapload)
|
||||
. = ..()
|
||||
if(!implant_type)
|
||||
return
|
||||
imp = new implant_type()
|
||||
update_icon(UPDATE_ICON_STATE)
|
||||
|
||||
/obj/item/implanter/Destroy()
|
||||
/obj/item/bio_chip_implanter/Destroy()
|
||||
QDEL_NULL(imp)
|
||||
. = ..()
|
||||
@@ -190,7 +190,7 @@
|
||||
//Destroy Equipment
|
||||
T.visible_message("<span class='userdanger'>Everything [user] is holding and wearing disappears!</span>")
|
||||
for(var/obj/item/I in user)
|
||||
if(istype(I, /obj/item/implant))
|
||||
if(istype(I, /obj/item/bio_chip))
|
||||
continue
|
||||
qdel(I)
|
||||
if(5)
|
||||
@@ -261,7 +261,7 @@
|
||||
/obj/item/borg/upgrade/modkit/indoors,
|
||||
/obj/item/storage/box/syndie_kit/chameleon,
|
||||
/obj/item/mod/control/pre_equipped/traitor,
|
||||
/obj/item/implanter/storage,
|
||||
/obj/item/bio_chip_implanter/storage,
|
||||
/obj/item/toy/syndicateballoon)
|
||||
var/selected_item = pick(traitor_items)
|
||||
T.visible_message("<span class='userdanger'>A suspicious item appears!</span>")
|
||||
|
||||
@@ -93,7 +93,7 @@
|
||||
new /obj/effect/decal/cleanable/blood/gibs/cleangibs(target)
|
||||
else if(iscarbon(target))
|
||||
for(var/obj/item/carried_item in target.contents)
|
||||
if(!istype(carried_item, /obj/item/implant))//If it's not an implant.
|
||||
if(!istype(carried_item, /obj/item/bio_chip))//If it's not an implant.
|
||||
carried_item.add_mob_blood(target)//Oh yes, there will be blood...
|
||||
var/mob/living/carbon/human/H = target
|
||||
H.bloody_hands(target,0)
|
||||
|
||||
@@ -262,12 +262,12 @@
|
||||
icon_state = "implant"
|
||||
|
||||
/obj/item/storage/box/trackimp/populate_contents()
|
||||
new /obj/item/implantcase/tracking(src)
|
||||
new /obj/item/implantcase/tracking(src)
|
||||
new /obj/item/implantcase/tracking(src)
|
||||
new /obj/item/implantcase/tracking(src)
|
||||
new /obj/item/implanter(src)
|
||||
new /obj/item/implantpad(src)
|
||||
new /obj/item/bio_chip_case/tracking(src)
|
||||
new /obj/item/bio_chip_case/tracking(src)
|
||||
new /obj/item/bio_chip_case/tracking(src)
|
||||
new /obj/item/bio_chip_case/tracking(src)
|
||||
new /obj/item/bio_chip_implanter(src)
|
||||
new /obj/item/bio_chip_pad(src)
|
||||
new /obj/item/gps/security(src)
|
||||
|
||||
/obj/item/storage/box/minertracker
|
||||
@@ -276,11 +276,11 @@
|
||||
icon_state = "implant"
|
||||
|
||||
/obj/item/storage/box/minertracker/populate_contents()
|
||||
new /obj/item/implantcase/tracking(src)
|
||||
new /obj/item/implantcase/tracking(src)
|
||||
new /obj/item/implantcase/tracking(src)
|
||||
new /obj/item/implanter(src)
|
||||
new /obj/item/implantpad(src)
|
||||
new /obj/item/bio_chip_case/tracking(src)
|
||||
new /obj/item/bio_chip_case/tracking(src)
|
||||
new /obj/item/bio_chip_case/tracking(src)
|
||||
new /obj/item/bio_chip_implanter(src)
|
||||
new /obj/item/bio_chip_pad(src)
|
||||
new /obj/item/gps/mining(src)
|
||||
|
||||
/obj/item/storage/box/chemimp
|
||||
@@ -290,9 +290,9 @@
|
||||
|
||||
/obj/item/storage/box/chemimp/populate_contents()
|
||||
for(var/I in 1 to 5)
|
||||
new /obj/item/implantcase/chem(src)
|
||||
new /obj/item/implanter(src)
|
||||
new /obj/item/implantpad(src)
|
||||
new /obj/item/bio_chip_case/chem(src)
|
||||
new /obj/item/bio_chip_implanter(src)
|
||||
new /obj/item/bio_chip_pad(src)
|
||||
|
||||
/obj/item/storage/box/deathimp
|
||||
name = "death alarm bio-chip kit"
|
||||
@@ -301,8 +301,8 @@
|
||||
|
||||
/obj/item/storage/box/deathimp/populate_contents()
|
||||
for(var/I in 1 to 6)
|
||||
new /obj/item/implantcase/death_alarm(src)
|
||||
new /obj/item/implanter/death_alarm (src)
|
||||
new /obj/item/bio_chip_case/death_alarm(src)
|
||||
new /obj/item/bio_chip_implanter/death_alarm (src)
|
||||
|
||||
/obj/item/storage/box/tapes
|
||||
name = "Tape Box"
|
||||
@@ -821,7 +821,7 @@
|
||||
|
||||
new /obj/item/radio/centcom(src)
|
||||
new /obj/item/door_remote/omni(src)
|
||||
new /obj/item/implanter/death_alarm(src)
|
||||
new /obj/item/bio_chip_implanter/death_alarm(src)
|
||||
|
||||
new /obj/item/reagent_containers/hypospray/combat/nanites(src)
|
||||
new /obj/item/pinpointer(src)
|
||||
@@ -966,8 +966,8 @@
|
||||
|
||||
/obj/item/storage/box/mindshield/populate_contents()
|
||||
for(var/I in 1 to 3)
|
||||
new /obj/item/implantcase/mindshield(src)
|
||||
new /obj/item/implanter/mindshield(src)
|
||||
new /obj/item/bio_chip_case/mindshield(src)
|
||||
new /obj/item/bio_chip_implanter/mindshield(src)
|
||||
|
||||
/obj/item/storage/box/dish_drive
|
||||
name = "DIY Dish Drive Kit"
|
||||
|
||||
@@ -90,10 +90,10 @@
|
||||
req_access = list(ACCESS_SECURITY)
|
||||
|
||||
/obj/item/storage/lockbox/mindshield/populate_contents()
|
||||
new /obj/item/implantcase/mindshield(src)
|
||||
new /obj/item/implantcase/mindshield(src)
|
||||
new /obj/item/implantcase/mindshield(src)
|
||||
new /obj/item/implanter/mindshield(src)
|
||||
new /obj/item/bio_chip_case/mindshield(src)
|
||||
new /obj/item/bio_chip_case/mindshield(src)
|
||||
new /obj/item/bio_chip_case/mindshield(src)
|
||||
new /obj/item/bio_chip_implanter/mindshield(src)
|
||||
|
||||
/obj/item/storage/lockbox/clusterbang
|
||||
name = "lockbox (clusterbang)"
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
/obj/item/card/id/syndicate, // 10TC
|
||||
/obj/item/clothing/shoes/chameleon/noslip, // 10TC
|
||||
/obj/item/clothing/glasses/hud/security/chameleon, // 10TC
|
||||
/obj/item/implanter/storage, // 40TC
|
||||
/obj/item/bio_chip_implanter/storage, // 40TC
|
||||
/obj/item/pen/edagger, // 10TC
|
||||
/obj/item/pinpointer/advpinpointer, // 20TC
|
||||
/obj/item/storage/fancy/cigarettes/cigpack_syndicate, // 7TC
|
||||
@@ -37,7 +37,7 @@
|
||||
/obj/item/door_remote/omni/access_tuner, // 30TC
|
||||
/obj/item/clothing/glasses/chameleon/thermal, // 15TC
|
||||
/obj/item/storage/briefcase/false_bottomed, // 10 TC
|
||||
/obj/item/implanter/freedom, // 25TC
|
||||
/obj/item/bio_chip_implanter/freedom, // 25TC
|
||||
/obj/item/coin/gold, // 0TC
|
||||
/obj/item/encryptionkey/syndicate) // 10TC
|
||||
|
||||
@@ -101,19 +101,19 @@
|
||||
/obj/item/clothing/mask/gas/clown_hat, // 0TC
|
||||
/obj/item/grenade/plastic/c4, // 1TC
|
||||
/obj/item/thermal_drill/diamond_drill/syndicate, // 1TC
|
||||
/obj/item/implanter/freedom/prototype, // 10 TC
|
||||
/obj/item/bio_chip_implanter/freedom/prototype, // 10 TC
|
||||
/obj/item/encryptionkey/syndicate) // 10TC
|
||||
|
||||
/obj/item/storage/box/syndie_kit/bundle/implant // 200TC
|
||||
name = "Bio-chip Bundle"
|
||||
desc = "A few useful bio-chips to give you some options for when you inevitably get captured by the Security."
|
||||
items = list(
|
||||
/obj/item/implanter/freedom, // 25TC
|
||||
/obj/item/implanter/stealth, // 45 TC
|
||||
/obj/item/implanter/emp, // 5TC (half of EMP kit)
|
||||
/obj/item/implanter/adrenalin, // 40TC
|
||||
/obj/item/implanter/explosive, // 10TC
|
||||
/obj/item/implanter/storage, // 40TC
|
||||
/obj/item/bio_chip_implanter/freedom, // 25TC
|
||||
/obj/item/bio_chip_implanter/stealth, // 45 TC
|
||||
/obj/item/bio_chip_implanter/emp, // 5TC (half of EMP kit)
|
||||
/obj/item/bio_chip_implanter/adrenalin, // 40TC
|
||||
/obj/item/bio_chip_implanter/explosive, // 10TC
|
||||
/obj/item/bio_chip_implanter/storage, // 40TC
|
||||
/obj/item/encryptionkey/syndicate) // 10TC
|
||||
|
||||
/obj/item/storage/box/syndie_kit/bundle/hacker // 180TC
|
||||
@@ -130,7 +130,7 @@
|
||||
/obj/item/aiModule/toyAI, // 0TC
|
||||
/obj/item/aiModule/syndicate, // 15 TC
|
||||
/obj/item/storage/box/syndie_kit/camera_bug, // 5 TC
|
||||
/obj/item/implanter/freedom/prototype, // 10 TC
|
||||
/obj/item/bio_chip_implanter/freedom/prototype, // 10 TC
|
||||
/obj/item/storage/belt/military/traitor/hacker, // 15TC + AI detector for 5 TC
|
||||
/obj/item/clothing/gloves/combat, // accounted in belt + toolbox
|
||||
/obj/item/flashlight/emp) // 4TC
|
||||
@@ -191,7 +191,7 @@
|
||||
/obj/item/mod/module/sphere_transform, // ?TC
|
||||
/obj/item/autosurgeon/organ/syndicate/laser_arm, // ?TC
|
||||
/obj/item/pinpointer/advpinpointer, // 20TC
|
||||
/obj/item/implanter/adrenalin, // 40TC
|
||||
/obj/item/bio_chip_implanter/adrenalin, // 40TC
|
||||
/obj/item/storage/belt/utility/full/multitool, // 15TC
|
||||
/obj/item/clothing/head/collectable/slime, // 0TC priceless
|
||||
/obj/item/encryptionkey/syndicate) // 10TC
|
||||
@@ -227,7 +227,7 @@
|
||||
/obj/item/storage/box/syndie_kit/emp/populate_contents()
|
||||
new /obj/item/grenade/empgrenade(src)
|
||||
new /obj/item/grenade/empgrenade(src)
|
||||
new /obj/item/implanter/emp/(src)
|
||||
new /obj/item/bio_chip_implanter/emp/(src)
|
||||
|
||||
/obj/item/storage/box/syndie_kit/poisoner
|
||||
name = "poisoner's kit"
|
||||
@@ -437,7 +437,7 @@
|
||||
name = "\improper Technocracy Advanced Cloning System Kit"
|
||||
|
||||
/obj/item/storage/box/syndie_kit/prescan/populate_contents()
|
||||
new /obj/item/implanter/grey_autocloner(src)
|
||||
new /obj/item/bio_chip_implanter/grey_autocloner(src)
|
||||
new /obj/item/radio/beacon/syndicate/bomb/grey_autocloner(src)
|
||||
|
||||
/obj/item/storage/box/syndie_kit/pen_bomb
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
/obj/item/coin,
|
||||
/obj/item/dice,
|
||||
/obj/item/disk,
|
||||
/obj/item/implanter,
|
||||
/obj/item/bio_chip_implanter,
|
||||
/obj/item/lighter,
|
||||
/obj/item/match,
|
||||
/obj/item/paper,
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
* Hand-tele
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Hand-tele
|
||||
*/
|
||||
|
||||
@@ -24,10 +24,10 @@
|
||||
clonemind = null
|
||||
return ..()
|
||||
|
||||
/obj/machinery/grey_autocloner/attackby(obj/item/implanter/implant, mob/user, params)
|
||||
if(!istype(implant) || !(istype(implant.imp, /obj/item/implant/grey_autocloner)))
|
||||
/obj/machinery/grey_autocloner/attackby(obj/item/bio_chip_implanter/implant, mob/user, params)
|
||||
if(!istype(implant) || !(istype(implant.imp, /obj/item/bio_chip/grey_autocloner)))
|
||||
return ..()
|
||||
var/obj/item/implant/grey_autocloner/autoclone = implant.imp
|
||||
var/obj/item/bio_chip/grey_autocloner/autoclone = implant.imp
|
||||
autoclone.linked = src
|
||||
atom_say("Link confirmed!")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user