mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-11 16:14:08 +01:00
e68c1edad1
## About The Pull Request Main changes - `handle_mutations` is gone, DNA Injectors are now managed via a status effect - `handle_diseases` is gone, disease stages are just handled via life signal - `handle_bodyparts` is gone, it was unused and in the future any implementations should use a life signal - `spec_life` is gone, the main content of it is now in `human/Life`, most children implementations now use life signal, zombie tongues now handle zombie groans - Life signal was split in two (pre and active) Other changes - DNA injector code was cleaned up considerably - HARS now alerts admins when you inject someone else with it like Monkey - `COPY_DNA_SE` is no longer mistakenly unused (meaning stuff like transformation sting no longer copies "active mutations") ## Why It's Good For The Game Across the course of a full round we spend the same amount of time doing literally nothing in life as we spend on handling human breathing. Now in the context of a full round this is 8 seconds. Which in the grand scheme of things, not a whole lot, but if we can get a tiny performance gain from... not doing literally nothing (especially when we can do these things cleaner with signals) that's a win in my book ## Changelog 🆑 Melbert refactor: Refactored dna injectors (both the ones that change appearance and activate mutations), report any oddities with them like failing to revert your appearance or mutations not applying correctly code: Ever so slightly changed how diseases tick, report any oddities code: Ever so slightly changed how some species mechanics tick, like golems and slimes, report any oddities code: The code behind printing appearance modifying dna injectors from genetics has changed, report any oddities code: Some backend transformation sting code changed slightly, report any oddities code: Zombie "idle" groaning is now tied to the tongue rather than the species itself admin: Force-injecting someone with HARS give an admin alert, the same as force-injecting someone with Monkey fix: Several methods of copying DNA (including transformation sting) mistakenly copied "active mutations", this has been fixed /🆑 --------- Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
552 lines
19 KiB
Plaintext
552 lines
19 KiB
Plaintext
/obj/item/dnainjector
|
|
name = "\improper DNA injector"
|
|
desc = "A cheap single use autoinjector that injects the user with DNA."
|
|
icon = 'icons/obj/medical/syringe.dmi'
|
|
icon_state = "dnainjector"
|
|
inhand_icon_state = "dnainjector"
|
|
worn_icon_state = "pen"
|
|
lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
|
|
righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
|
|
throw_speed = 3
|
|
throw_range = 5
|
|
w_class = WEIGHT_CLASS_TINY
|
|
|
|
/// Modified to damage caused from injection, currently unused though
|
|
var/damage_coeff = 1
|
|
/// Adds all mutations in this list to the injected mob, activating it rather than mutating it if possible.
|
|
var/list/add_mutations
|
|
/// If the injected mob has any mutations in this list activated or mutated, they will be removed.
|
|
var/list/remove_mutations
|
|
/// Tracks if it's been used
|
|
VAR_FINAL/used = FALSE
|
|
/// Duration of the mutations added/activated or DNA changes. Does not affect removed mutations.
|
|
var/duration = INFINITY
|
|
/// A DNA datum that has its fields copied to the target on injection.
|
|
var/datum/dna/stored_dna
|
|
|
|
/obj/item/dnainjector/Initialize(mapload, datum/dna/stored_dna, damage_coeff = 1)
|
|
. = ..()
|
|
AddElement(/datum/element/update_icon_updates_onmob)
|
|
if(used)
|
|
update_appearance()
|
|
src.stored_dna = stored_dna
|
|
src.damage_coeff = damage_coeff
|
|
|
|
/obj/item/dnainjector/Destroy()
|
|
if(stored_dna?.holder)
|
|
stack_trace("DNA injector got owned DNA somehow")
|
|
stored_dna = null
|
|
else
|
|
QDEL_NULL(stored_dna)
|
|
return ..()
|
|
|
|
/obj/item/dnainjector/vv_edit_var(vname, vval)
|
|
. = ..()
|
|
if(vname == NAMEOF(src, used))
|
|
update_appearance()
|
|
|
|
/obj/item/dnainjector/update_icon_state()
|
|
. = ..()
|
|
icon_state = inhand_icon_state = "[initial(icon_state)][used ? "0" : null]"
|
|
|
|
/obj/item/dnainjector/update_desc(updates)
|
|
. = ..()
|
|
desc = "[initial(desc)][used ? "This one is used up." : null]"
|
|
|
|
/obj/item/dnainjector/attack_paw(mob/user, list/modifiers)
|
|
return attack_hand(user, modifiers)
|
|
|
|
/obj/item/dnainjector/proc/inject(mob/living/carbon/target, mob/user)
|
|
if(!target.can_mutate())
|
|
return FALSE
|
|
if(target.stat == DEAD) //prevents dead people from having their DNA changed
|
|
to_chat(user, span_notice("You can't modify [target]'s DNA while [target.p_theyre()] dead."))
|
|
return FALSE
|
|
for(var/removed_mutation in remove_mutations)
|
|
target.dna.remove_mutation(removed_mutation, GLOB.standard_mutation_sources)
|
|
|
|
for(var/datum/mutation/added_mutation as anything in add_mutations)
|
|
if(added_mutation::warn_admins_on_inject && target != user && !ismonkey(target))
|
|
message_admins("[ADMIN_LOOKUPFLW(user)] injected [key_name_admin(target)] with [src] containing [added_mutation::name].")
|
|
if(target.dna.mutation_in_sequence(added_mutation))
|
|
target.dna.activate_mutation(added_mutation)
|
|
if(duration != INFINITY)
|
|
addtimer(CALLBACK(target.dna, TYPE_PROC_REF(/datum/dna, remove_mutation), added_mutation, MUTATION_SOURCE_ACTIVATED), duration)
|
|
else
|
|
target.dna.add_mutation(added_mutation, MUTATION_SOURCE_MUTATOR)
|
|
if(duration != INFINITY)
|
|
addtimer(CALLBACK(target.dna, TYPE_PROC_REF(/datum/dna, remove_mutation), added_mutation, MUTATION_SOURCE_MUTATOR), duration)
|
|
|
|
if(stored_dna)
|
|
target.apply_status_effect(/datum/status_effect/temporary_transformation/dna_injector, duration, stored_dna)
|
|
return TRUE
|
|
|
|
/obj/item/dnainjector/attack(mob/target, mob/user)
|
|
if(!ISADVANCEDTOOLUSER(user))
|
|
to_chat(user, span_warning("You don't have the dexterity to do this!"))
|
|
return
|
|
if(used)
|
|
to_chat(user, span_warning("This injector is used up!"))
|
|
return
|
|
if(ishuman(target))
|
|
var/mob/living/carbon/human/humantarget = target
|
|
if (!humantarget.try_inject(user, injection_flags = INJECT_TRY_SHOW_ERROR_MESSAGE))
|
|
return
|
|
log_combat(user, target, "attempted to inject", src)
|
|
|
|
if(target != user)
|
|
target.visible_message(span_danger("[user] is trying to inject [target] with [src]!"), \
|
|
span_userdanger("[user] is trying to inject you with [src]!"))
|
|
if(!do_after(user, 3 SECONDS, target) || used)
|
|
return
|
|
target.visible_message(span_danger("[user] injects [target] with the syringe with [src]!"), \
|
|
span_userdanger("[user] injects you with the syringe with [src]!"))
|
|
|
|
else
|
|
to_chat(user, span_notice("You inject yourself with [src]."))
|
|
|
|
log_combat(user, target, "injected", src)
|
|
|
|
if(!inject(target, user)) //Now we actually do the heavy lifting.
|
|
to_chat(user, span_notice("It appears that [target] does not have compatible DNA."))
|
|
return
|
|
|
|
used = TRUE
|
|
update_appearance()
|
|
|
|
/obj/item/dnainjector/timed
|
|
duration = 60 SECONDS
|
|
|
|
/obj/item/dnainjector/timed/hulk
|
|
name = "\improper DNA injector (Hulk)"
|
|
desc = "This will make you big and strong, but give you a bad skin condition."
|
|
add_mutations = list(/datum/mutation/hulk)
|
|
|
|
/obj/item/dnainjector/timed/h2m
|
|
name = "\improper DNA injector (Human > Monkey)"
|
|
desc = "Will make you a flea bag."
|
|
add_mutations = list(/datum/mutation/race)
|
|
|
|
/obj/item/dnainjector/activator
|
|
name = "\improper DNA activator"
|
|
desc = "Activates the current mutation on injection, if the subject has it."
|
|
var/force_mutate = FALSE
|
|
var/research = FALSE //Set to true to get expended and filled injectors for chromosomes
|
|
var/filled = FALSE
|
|
var/crispr_charge = FALSE // Look for viruses, look at symptoms, if research and Dormant DNA Activator or Viral Evolutionary Acceleration, set to true
|
|
|
|
/obj/item/dnainjector/activator/inject(mob/living/carbon/target, mob/user)
|
|
if(!target.can_mutate())
|
|
return FALSE
|
|
for(var/mutation in add_mutations)
|
|
var/datum/mutation/added_mutation = mutation
|
|
if(istype(added_mutation, /datum/mutation))
|
|
mutation = added_mutation.type
|
|
if(!target.dna.activate_mutation(added_mutation))
|
|
if(force_mutate)
|
|
target.dna.add_mutation(added_mutation, MUTATION_SOURCE_MUTATOR)
|
|
else if(research && target.client)
|
|
filled = TRUE
|
|
for(var/datum/disease/advance/disease in target.diseases)
|
|
for(var/datum/symptom/symp in disease.symptoms)
|
|
if((symp.type == /datum/symptom/genetic_mutation) || (symp.type == /datum/symptom/viralevolution))
|
|
crispr_charge = TRUE
|
|
log_combat(user, target, "[!force_mutate ? "failed to inject" : "injected"]", "[src] ([mutation])[crispr_charge ? " with CRISPR charge" : ""]")
|
|
return TRUE
|
|
|
|
/// DNA INJECTORS
|
|
|
|
/obj/item/dnainjector/acidflesh
|
|
name = "\improper DNA injector (Acid Flesh)"
|
|
add_mutations = list(/datum/mutation/acidflesh)
|
|
|
|
/obj/item/dnainjector/antiacidflesh
|
|
name = "\improper DNA injector (Acid Flesh)"
|
|
remove_mutations = list(/datum/mutation/acidflesh)
|
|
|
|
/obj/item/dnainjector/antenna
|
|
name = "\improper DNA injector (Antenna)"
|
|
add_mutations = list(/datum/mutation/antenna)
|
|
|
|
/obj/item/dnainjector/antiantenna
|
|
name = "\improper DNA injector (Anti-Antenna)"
|
|
remove_mutations = list(/datum/mutation/antenna)
|
|
|
|
/obj/item/dnainjector/antiglow
|
|
name = "\improper DNA injector (Antiglowy)"
|
|
add_mutations = list(/datum/mutation/glow/anti)
|
|
|
|
/obj/item/dnainjector/removeantiglow
|
|
name = "\improper DNA injector (Anti-Antiglowy)"
|
|
remove_mutations = list(/datum/mutation/glow/anti)
|
|
|
|
/obj/item/dnainjector/blindmut
|
|
name = "\improper DNA injector (Blind)"
|
|
desc = "Makes you not see anything."
|
|
add_mutations = list(/datum/mutation/blind)
|
|
|
|
/obj/item/dnainjector/antiblind
|
|
name = "\improper DNA injector (Anti-Blind)"
|
|
desc = "IT'S A MIRACLE!!!"
|
|
remove_mutations = list(/datum/mutation/blind)
|
|
|
|
/obj/item/dnainjector/chameleonmut
|
|
name = "\improper DNA injector (Chameleon)"
|
|
add_mutations = list(/datum/mutation/chameleon)
|
|
|
|
/obj/item/dnainjector/antichameleon
|
|
name = "\improper DNA injector (Anti-Chameleon)"
|
|
remove_mutations = list(/datum/mutation/chameleon)
|
|
|
|
/obj/item/dnainjector/chavmut
|
|
name = "\improper DNA injector (Chav)"
|
|
add_mutations = list(/datum/mutation/chav)
|
|
|
|
/obj/item/dnainjector/antichav
|
|
name = "\improper DNA injector (Anti-Chav)"
|
|
remove_mutations = list(/datum/mutation/chav)
|
|
|
|
/obj/item/dnainjector/clumsymut
|
|
name = "\improper DNA injector (Clumsy)"
|
|
desc = "Makes clown minions."
|
|
add_mutations = list(/datum/mutation/clumsy)
|
|
|
|
/obj/item/dnainjector/anticlumsy
|
|
name = "\improper DNA injector (Anti-Clumsy)"
|
|
desc = "Apply this for Security Clown."
|
|
remove_mutations = list(/datum/mutation/clumsy)
|
|
|
|
/obj/item/dnainjector/coughmut
|
|
name = "\improper DNA injector (Cough)"
|
|
desc = "Will bring forth a sound of horror from your throat."
|
|
add_mutations = list(/datum/mutation/cough)
|
|
|
|
/obj/item/dnainjector/anticough
|
|
name = "\improper DNA injector (Anti-Cough)"
|
|
desc = "Will stop that awful noise."
|
|
remove_mutations = list(/datum/mutation/cough)
|
|
|
|
/obj/item/dnainjector/cryokinesis
|
|
name = "\improper DNA injector (Cryokinesis)"
|
|
add_mutations = list(/datum/mutation/cryokinesis)
|
|
|
|
/obj/item/dnainjector/anticryokinesis
|
|
name = "\improper DNA injector (Anti-Cryokinesis)"
|
|
remove_mutations = list(/datum/mutation/cryokinesis)
|
|
|
|
/obj/item/dnainjector/deafmut
|
|
name = "\improper DNA injector (Deaf)"
|
|
desc = "Sorry, what did you say?"
|
|
add_mutations = list(/datum/mutation/deaf)
|
|
|
|
/obj/item/dnainjector/antideaf
|
|
name = "\improper DNA injector (Anti-Deaf)"
|
|
desc = "Will make you hear once more."
|
|
remove_mutations = list(/datum/mutation/deaf)
|
|
|
|
/obj/item/dnainjector/dwarf
|
|
name = "\improper DNA injector (Dwarfism)"
|
|
desc = "It's a small world after all."
|
|
add_mutations = list(/datum/mutation/dwarfism)
|
|
|
|
/obj/item/dnainjector/antidwarf
|
|
name = "\improper DNA injector (Anti-Dwarfism)"
|
|
desc = "Helps you grow big and strong."
|
|
remove_mutations = list(/datum/mutation/dwarfism)
|
|
|
|
/obj/item/dnainjector/elvismut
|
|
name = "\improper DNA injector (Elvis)"
|
|
add_mutations = list(/datum/mutation/elvis)
|
|
|
|
/obj/item/dnainjector/antielvis
|
|
name = "\improper DNA injector (Anti-Elvis)"
|
|
remove_mutations = list(/datum/mutation/elvis)
|
|
|
|
/obj/item/dnainjector/epimut
|
|
name = "\improper DNA injector (Epi.)"
|
|
desc = "Shake shake shake the room!"
|
|
add_mutations = list(/datum/mutation/epilepsy)
|
|
|
|
/obj/item/dnainjector/antiepi
|
|
name = "\improper DNA injector (Anti-Epi.)"
|
|
desc = "Will fix you up from shaking the room."
|
|
remove_mutations = list(/datum/mutation/epilepsy)
|
|
|
|
/obj/item/dnainjector/geladikinesis
|
|
name = "\improper DNA injector (Geladikinesis)"
|
|
add_mutations = list(/datum/mutation/geladikinesis)
|
|
|
|
/obj/item/dnainjector/antigeladikinesis
|
|
name = "\improper DNA injector (Anti-Geladikinesis)"
|
|
remove_mutations = list(/datum/mutation/geladikinesis)
|
|
|
|
/obj/item/dnainjector/gigantism
|
|
name = "\improper DNA injector (Gigantism)"
|
|
add_mutations = list(/datum/mutation/gigantism)
|
|
|
|
/obj/item/dnainjector/antigigantism
|
|
name = "\improper DNA injector (Anti-Gigantism)"
|
|
remove_mutations = list(/datum/mutation/gigantism)
|
|
|
|
/obj/item/dnainjector/glassesmut
|
|
name = "\improper DNA injector (Glasses)"
|
|
desc = "Will make you need dorkish glasses."
|
|
add_mutations = list(/datum/mutation/nearsight)
|
|
|
|
/obj/item/dnainjector/antiglasses
|
|
name = "\improper DNA injector (Anti-Glasses)"
|
|
desc = "Toss away those glasses!"
|
|
remove_mutations = list(/datum/mutation/nearsight)
|
|
|
|
/obj/item/dnainjector/glow
|
|
name = "\improper DNA injector (Glowy)"
|
|
add_mutations = list(/datum/mutation/glow)
|
|
|
|
/obj/item/dnainjector/removeglow
|
|
name = "\improper DNA injector (Anti-Glowy)"
|
|
remove_mutations = list(/datum/mutation/glow)
|
|
|
|
/obj/item/dnainjector/hulkmut
|
|
name = "\improper DNA injector (Hulk)"
|
|
desc = "This will make you big and strong, but give you a bad skin condition."
|
|
add_mutations = list(/datum/mutation/hulk)
|
|
|
|
/obj/item/dnainjector/antihulk
|
|
name = "\improper DNA injector (Anti-Hulk)"
|
|
desc = "Cures green skin."
|
|
remove_mutations = list(/datum/mutation/hulk)
|
|
|
|
/obj/item/dnainjector/h2m
|
|
name = "\improper DNA injector (Human > Monkey)"
|
|
desc = "Will make you a flea bag."
|
|
add_mutations = list(/datum/mutation/race)
|
|
|
|
/obj/item/dnainjector/m2h
|
|
name = "\improper DNA injector (Monkey > Human)"
|
|
desc = "Will make you...less hairy."
|
|
remove_mutations = list(/datum/mutation/race)
|
|
|
|
/obj/item/dnainjector/illiterate
|
|
name = "\improper DNA injector (Illiterate)"
|
|
add_mutations = list(/datum/mutation/illiterate)
|
|
|
|
/obj/item/dnainjector/antiilliterate
|
|
name = "\improper DNA injector (Anti-Illiterate)"
|
|
remove_mutations = list(/datum/mutation/illiterate)
|
|
|
|
/obj/item/dnainjector/insulated
|
|
name = "\improper DNA injector (Insulated)"
|
|
add_mutations = list(/datum/mutation/insulated)
|
|
|
|
/obj/item/dnainjector/antiinsulated
|
|
name = "\improper DNA injector (Anti-Insulated)"
|
|
remove_mutations = list(/datum/mutation/insulated)
|
|
|
|
/obj/item/dnainjector/lasereyesmut
|
|
name = "\improper DNA injector (Laser Eyes)"
|
|
add_mutations = list(/datum/mutation/laser_eyes)
|
|
|
|
/obj/item/dnainjector/antilasereyes
|
|
name = "\improper DNA injector (Anti-Laser Eyes)"
|
|
remove_mutations = list(/datum/mutation/laser_eyes)
|
|
|
|
/obj/item/dnainjector/mindread
|
|
name = "\improper DNA injector (Mindread)"
|
|
add_mutations = list(/datum/mutation/mindreader)
|
|
|
|
/obj/item/dnainjector/antimindread
|
|
name = "\improper DNA injector (Anti-Mindread)"
|
|
remove_mutations = list(/datum/mutation/mindreader)
|
|
|
|
/obj/item/dnainjector/mutemut
|
|
name = "\improper DNA injector (Mute)"
|
|
add_mutations = list(/datum/mutation/mute)
|
|
|
|
/obj/item/dnainjector/antimute
|
|
name = "\improper DNA injector (Anti-Mute)"
|
|
remove_mutations = list(/datum/mutation/mute)
|
|
|
|
/obj/item/dnainjector/olfaction
|
|
name = "\improper DNA injector (Olfaction)"
|
|
add_mutations = list(/datum/mutation/olfaction)
|
|
|
|
/obj/item/dnainjector/antiolfaction
|
|
name = "\improper DNA injector (Anti-Olfaction)"
|
|
remove_mutations = list(/datum/mutation/olfaction)
|
|
|
|
/obj/item/dnainjector/piglatinmut
|
|
name = "\improper DNA injector (Pig Latin)"
|
|
add_mutations = list(/datum/mutation/piglatin)
|
|
|
|
/obj/item/dnainjector/antipiglatin
|
|
name = "\improper DNA injector (Anti-Pig Latin)"
|
|
remove_mutations = list(/datum/mutation/piglatin)
|
|
|
|
/obj/item/dnainjector/paranoia
|
|
name = "\improper DNA injector (Paranoia)"
|
|
add_mutations = list(/datum/mutation/paranoia)
|
|
|
|
/obj/item/dnainjector/antiparanoia
|
|
name = "\improper DNA injector (Anti-Paranoia)"
|
|
remove_mutations = list(/datum/mutation/paranoia)
|
|
|
|
/obj/item/dnainjector/pressuremut
|
|
name = "\improper DNA injector (Pressure Adaptation)"
|
|
desc = "Gives you fire."
|
|
add_mutations = list(/datum/mutation/adaptation/pressure)
|
|
|
|
/obj/item/dnainjector/antipressure
|
|
name = "\improper DNA injector (Anti-Pressure Adaptation)"
|
|
desc = "Cures fire."
|
|
remove_mutations = list(/datum/mutation/adaptation/pressure)
|
|
|
|
/obj/item/dnainjector/radioactive
|
|
name = "\improper DNA injector (Radioactive)"
|
|
add_mutations = list(/datum/mutation/radioactive)
|
|
|
|
/obj/item/dnainjector/antiradioactive
|
|
name = "\improper DNA injector (Anti-Radioactive)"
|
|
remove_mutations = list(/datum/mutation/radioactive)
|
|
|
|
/obj/item/dnainjector/shock
|
|
name = "\improper DNA injector (Shock Touch)"
|
|
add_mutations = list(/datum/mutation/shock)
|
|
|
|
/obj/item/dnainjector/antishock
|
|
name = "\improper DNA injector (Anti-Shock Touch)"
|
|
remove_mutations = list(/datum/mutation/shock)
|
|
|
|
/obj/item/dnainjector/spastic
|
|
name = "\improper DNA injector (Spastic)"
|
|
add_mutations = list(/datum/mutation/spastic)
|
|
|
|
/obj/item/dnainjector/antispastic
|
|
name = "\improper DNA injector (Anti-Spastic)"
|
|
remove_mutations = list(/datum/mutation/spastic)
|
|
|
|
/obj/item/dnainjector/spatialinstability
|
|
name = "\improper DNA injector (Spatial Instability)"
|
|
add_mutations = list(/datum/mutation/badblink)
|
|
|
|
/obj/item/dnainjector/antispatialinstability
|
|
name = "\improper DNA injector (Anti-Spatial Instability)"
|
|
remove_mutations = list(/datum/mutation/badblink)
|
|
|
|
/obj/item/dnainjector/stuttmut
|
|
name = "\improper DNA injector (Stutt.)"
|
|
desc = "Makes you s-s-stuttterrr."
|
|
add_mutations = list(/datum/mutation/nervousness)
|
|
|
|
/obj/item/dnainjector/antistutt
|
|
name = "\improper DNA injector (Anti-Stutt.)"
|
|
desc = "Fixes that speaking impairment."
|
|
remove_mutations = list(/datum/mutation/nervousness)
|
|
|
|
/obj/item/dnainjector/swedishmut
|
|
name = "\improper DNA injector (Swedish)"
|
|
add_mutations = list(/datum/mutation/swedish)
|
|
|
|
/obj/item/dnainjector/antiswedish
|
|
name = "\improper DNA injector (Anti-Swedish)"
|
|
remove_mutations = list(/datum/mutation/swedish)
|
|
|
|
/obj/item/dnainjector/telemut
|
|
name = "\improper DNA injector (Tele.)"
|
|
desc = "Super brain TK!"
|
|
add_mutations = list(/datum/mutation/telekinesis)
|
|
|
|
/obj/item/dnainjector/telemut/darkbundle
|
|
name = "\improper DNA injector"
|
|
desc = "Good. Let the hate flow through you."
|
|
|
|
/obj/item/dnainjector/antitele
|
|
name = "\improper DNA injector (Anti-Tele.)"
|
|
desc = "Will make you not able to control your mind."
|
|
remove_mutations = list(/datum/mutation/telekinesis)
|
|
|
|
/obj/item/dnainjector/firemut
|
|
name = "\improper DNA injector (Temp Adaptation)"
|
|
desc = "Gives you fire."
|
|
add_mutations = list(/datum/mutation/adaptation/thermal)
|
|
|
|
/obj/item/dnainjector/antifire
|
|
name = "\improper DNA injector (Anti-Temp Adaptation)"
|
|
desc = "Cures fire."
|
|
remove_mutations = list(/datum/mutation/adaptation/thermal)
|
|
|
|
/obj/item/dnainjector/thermal
|
|
name = "\improper DNA injector (Thermal Vision)"
|
|
add_mutations = list(/datum/mutation/thermal)
|
|
|
|
/obj/item/dnainjector/antithermal
|
|
name = "\improper DNA injector (Anti-Thermal Vision)"
|
|
remove_mutations = list(/datum/mutation/thermal)
|
|
|
|
/obj/item/dnainjector/tourmut
|
|
name = "\improper DNA injector (Tour.)"
|
|
desc = "Gives you a nasty case of Tourette's."
|
|
add_mutations = list(/datum/mutation/tourettes)
|
|
|
|
/obj/item/dnainjector/antitour
|
|
name = "\improper DNA injector (Anti-Tour.)"
|
|
desc = "Will cure Tourette's."
|
|
remove_mutations = list(/datum/mutation/tourettes)
|
|
|
|
/obj/item/dnainjector/twoleftfeet
|
|
name = "\improper DNA injector (Two Left Feet)"
|
|
add_mutations = list(/datum/mutation/extrastun)
|
|
|
|
/obj/item/dnainjector/antitwoleftfeet
|
|
name = "\improper DNA injector (Anti-Two Left Feet)"
|
|
remove_mutations = list(/datum/mutation/extrastun)
|
|
|
|
/obj/item/dnainjector/unintelligiblemut
|
|
name = "\improper DNA injector (Unintelligible)"
|
|
add_mutations = list(/datum/mutation/unintelligible)
|
|
|
|
/obj/item/dnainjector/antiunintelligible
|
|
name = "\improper DNA injector (Anti-Unintelligible)"
|
|
remove_mutations = list(/datum/mutation/unintelligible)
|
|
|
|
/obj/item/dnainjector/void
|
|
name = "\improper DNA injector (Void)"
|
|
add_mutations = list(/datum/mutation/void)
|
|
|
|
/obj/item/dnainjector/antivoid
|
|
name = "\improper DNA injector (Anti-Void)"
|
|
remove_mutations = list(/datum/mutation/void)
|
|
|
|
/obj/item/dnainjector/xraymut
|
|
name = "\improper DNA injector (X-ray)"
|
|
desc = "Finally you can see what the Captain does."
|
|
add_mutations = list(/datum/mutation/xray)
|
|
|
|
/obj/item/dnainjector/antixray
|
|
name = "\improper DNA injector (Anti-X-ray)"
|
|
desc = "It will make you see harder."
|
|
remove_mutations = list(/datum/mutation/xray)
|
|
|
|
/obj/item/dnainjector/wackymut
|
|
name = "\improper DNA injector (Wacky)"
|
|
add_mutations = list(/datum/mutation/wacky)
|
|
|
|
/obj/item/dnainjector/antiwacky
|
|
name = "\improper DNA injector (Anti-Wacky)"
|
|
remove_mutations = list(/datum/mutation/wacky)
|
|
|
|
/obj/item/dnainjector/webbing
|
|
name = "\improper DNA injector (Webbing)"
|
|
add_mutations = list(/datum/mutation/webbing)
|
|
|
|
/obj/item/dnainjector/antiwebbing
|
|
name = "\improper DNA injector (Anti-Webbing)"
|
|
remove_mutations = list(/datum/mutation/webbing)
|
|
|
|
/obj/item/dnainjector/clever
|
|
name = "\improper DNA injector (Clever)"
|
|
add_mutations = list(/datum/mutation/clever)
|
|
|
|
/obj/item/dnainjector/anticlever
|
|
name = "\improper DNA injector (Anti-Clever)"
|
|
remove_mutations = list(/datum/mutation/clever)
|