Files
Bubberstation/code/game/objects/items/dna_injector.dm
carlarctg ff836e10be First Genetics Content in 5 Years (Adds new positive mutations!) (#83652)
## About The Pull Request

Sister PR to #83439, that needs to be merged before this.

Adds a plethora of new positive mutations to the game!

Mutations now have a variable that directly adds and removes traits
instead of manually doing so for idk

Tripled cryobeam range.

Made the mushroom hallucinogen's code more readable.

- Adrenaline Rush
Trigger your body's adrenaline response, granting you 10 * P units of
pump-up, synaptizine, and determination. After 25 seconds, you crash,
recieving 7 * S units of tiring and dizzying solution. Can be Energized,
Powered, and Synchronized.
- Mending Touch
Transfer injuries from the target to yourself! Heal 35 * P damage,
recieving up to 35 * S damage in turn. Transfers moderate wounds, fire
stacks, and attempts to parallel limb-to-limb damage. Has bonuses for
pacifist players. Can be Energized, Powered, and Synchronized.
- Elastic Arms
Your arms become floppy and you can interact with things as if you were
adjacent to them from one tile further! Does not work through walls or
dense objects, and you become unable to lift huge items, pull large
corpses, and you get chunky fingers.

Split temperature adaptation into three:
- Cold Adaptation
Gain cold immunity, gain ice slip immunity!
- Heat Adaptation
Gain heat and ash storm immunity 
- Thermal Adaptation
Resist both cold and heat, but no extra fancies. The sprite is green
now!
Pressure Adapt has a purple sprite.

You can mix the cold mutations with Fiery Sweat to make these new ones:

- Cindikinesis
Instead of summoning snow, you can now summon... ash. Wow. Very cool.
- Pyrokinesis
You can fire fire now! Fires beams of heat that, unlike the temperature
gun, actually ignite on hit. Higher instability cost than its sister
mutation.

The changes have been themed primarily around classic superhero
gimmicks. Genetics feels like a natural spawning point for superheroes,
and its mutations show this via the good ol' 'radiation made me fire eye
lasers' hero backstory. Adding more ways to be a superhero is fun.

Also, added two new speech mutations:
- Trichromatic Larynx
Every word you say is now either red, green, or blue!
- Heckacious Larynx (Trichromatic Larynx x Wacky)
You sound, well. Absolutely ridiculous. Spectacularly silly. Profoundly
wacky. Don't give it to the clown.
Unlocked the Elvis mutation as well.

## Why It's Good For The Game

> Adds a plethora of new positive mutations to the game!

Genetics is in desperate need of new content, all it's had for years is
a slow gutting and removal of the few things it does have. Hulk is,
being real, stupid, dumb, stagnated, and overpowered, but it's been
begrudgingly accepted because genetics is quite literally just, nothing
without it. I'm here to add the somethings to genetics and add some more
variety (and no i'm not touching hulk)

> Mutations now have a variable that directly adds and removes traits
instead of manually doing so for every mutation.

Less stupid

> Tripled cryobeam range.

Shit joke mutation is now long-range shit joke mutation!

> Made the mushroom hallucinogen's code more readable.

Slightly OOS because I was going to add color blind mutations but
decided not to creep. This piece o shit code has been hurting my head
for years and now that I've finally understood it I want to make sure
others don't go through that pani.

> - Adrenaline Rush
A quick burst of some mild chemicals at the cost of eventual nausea,
sounds like a fair trade to me! If you're already on the ground, this
isn't going to do anything.
> - Mending Touch
Healing is something that's lacking from the mutations, and this puts a
fun spin on it, making the caster a damage pincushion as they heal and
absorb damage.
> - Elastic Arms
Classic superhero power, very funny, lots of silly and sandbox
potential. Has innate drawbacks because 1. thematic and 2. it's pretty
strong

> Split temperature adaptation into three:
They combine into the same thing it used to be, so don't freak out. This
just adds some separation between the immune types, for things like
themed superheroes.

> - Cold Adaptation
Perhaps mildly concerning, but I think this might be a fun spin on it?
TODO: make hiking boots effect?
> - Heat Adaptation
Nothing to say. It's cool.
> - Thermal Adaptation
Nothing wrong with this mutation so it stays in

> You can mix the cold mutations with Fiery Sweat to make these new
ones:
How can we have frozone and not, uh human torch or something. why are
there no heavy hitter fire superheroes in marvel or dc???
> - Cindikinesis
Can't really summon an equivalent to snow that's actually useful, so
here's this instead. Clown might like it, or maybe the chemist.
> - Pyrokinesis
The ignition effect is fairly weak and mostly a deterrent. I think this
is the most dangerous ranged mutation in the game, which is kinda sad.

> - Trichromatic Larynx
Colors are fun! We have speech mutations that change words but none that
change their color. Though, to be fair, this was mostly added for the
mutation below's combination.
> - Heckacious Larynx (Trichromatic Larynx x Wacky)
I felt that Wacky wasn't nearly wacky enough. It just made your speech
comic sans. That's great and all, but. It's not much? This will be a
truly clownly mutation, the Genetics equivalent of a HONK mech. I made
it a combination mutation specifically to restrain its power level.
> Unlocked the Elvis mutation as well.
Was there a reason to lock this?

## Changelog

🆑
add: Added tons of new mutations to Genetics, alongside some recipes!
add: Thermal Adaptation has been made a combination mutation from the
stronger but narrower Cold and Heat adaptations.
balance: Cryobeams have 9 tile range, and fiery sweat doesn't cause
spread on contact.
image: Added some neat new sprites for the new mutations, and added a
greyscale version of the magic hand sprites.
code: Infinitesmally improved mutation code.
/🆑
2024-06-28 17:52:09 -04:00

585 lines
20 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
var/damage_coeff = 1
var/list/fields
var/list/add_mutations = list()
var/list/remove_mutations = list()
var/used = FALSE
/obj/item/dnainjector/Initialize(mapload)
. = ..()
AddElement(/datum/element/update_icon_updates_onmob)
if(used)
update_appearance()
/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
for(var/removed_mutation in remove_mutations)
target.dna.remove_mutation(removed_mutation)
for(var/added_mutation in add_mutations)
if(added_mutation == /datum/mutation/human/race)
message_admins("[ADMIN_LOOKUPFLW(user)] injected [key_name_admin(target)] with the [name] [span_danger("(MONKEY)")]")
if(target.dna.mutation_in_sequence(added_mutation))
target.dna.activate_mutation(added_mutation)
else
target.dna.add_mutation(added_mutation, MUT_EXTRA)
if(fields)
if(fields["name"] && fields["UE"] && fields["blood_type"])
target.real_name = fields["name"]
target.dna.unique_enzymes = fields["UE"]
target.name = target.real_name
target.dna.blood_type = fields["blood_type"]
if(fields["UI"]) //UI+UE
target.dna.unique_identity = merge_text(target.dna.unique_identity, fields["UI"])
if(fields["UF"])
target.dna.unique_features = merge_text(target.dna.unique_features, fields["UF"])
if(fields["UI"] || fields["UF"])
target.updateappearance(mutcolor_update = TRUE, mutations_overlay_update = TRUE)
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."))
used = TRUE
update_appearance()
/obj/item/dnainjector/timed
var/duration = 600
/obj/item/dnainjector/timed/inject(mob/living/carbon/target, mob/user)
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
if(!target.can_mutate())
return FALSE
var/endtime = world.time + duration
for(var/mutation in remove_mutations)
if(mutation == /datum/mutation/human/race)
if(!ismonkey(target))
continue
target.dna.remove_mutation(mutation)
else
target.dna.remove_mutation(mutation)
for(var/mutation in add_mutations)
if(target.dna.get_mutation(mutation))
continue //Skip permanent mutations we already have.
if(mutation == /datum/mutation/human/race && !ismonkey(target))
message_admins("[ADMIN_LOOKUPFLW(user)] injected [key_name_admin(target)] with the [name] [span_danger("(MONKEY)")]")
target.dna.add_mutation(mutation, MUT_OTHER, endtime)
else
target.dna.add_mutation(mutation, MUT_OTHER, endtime)
if(fields)
if(fields["name"] && fields["UE"] && fields["blood_type"])
if(!target.dna.previous["name"])
target.dna.previous["name"] = target.real_name
if(!target.dna.previous["UE"])
target.dna.previous["UE"] = target.dna.unique_enzymes
if(!target.dna.previous["blood_type"])
target.dna.previous["blood_type"] = target.dna.blood_type
target.real_name = fields["name"]
target.dna.unique_enzymes = fields["UE"]
target.name = target.real_name
target.dna.blood_type = fields["blood_type"]
target.dna.temporary_mutations[UE_CHANGED] = endtime
if(fields["UI"]) //UI+UE
if(!target.dna.previous["UI"])
target.dna.previous["UI"] = target.dna.unique_identity
target.dna.unique_identity = merge_text(target.dna.unique_identity, fields["UI"])
target.dna.temporary_mutations[UI_CHANGED] = endtime
if(fields["UF"]) //UI+UE
if(!target.dna.previous["UF"])
target.dna.previous["UF"] = target.dna.unique_features
target.dna.unique_features = merge_text(target.dna.unique_features, fields["UF"])
target.dna.temporary_mutations[UF_CHANGED] = endtime
if(fields["UI"] || fields["UF"])
target.updateappearance(mutcolor_update = TRUE, mutations_overlay_update = TRUE)
return TRUE
/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/human/hulk)
/obj/item/dnainjector/timed/h2m
name = "\improper DNA injector (Human > Monkey)"
desc = "Will make you a flea bag."
add_mutations = list(/datum/mutation/human/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/human/added_mutation = mutation
if(istype(added_mutation, /datum/mutation/human))
mutation = added_mutation.type
if(!target.dna.activate_mutation(added_mutation))
if(force_mutate)
target.dna.add_mutation(added_mutation, MUT_EXTRA)
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/human/acidflesh)
/obj/item/dnainjector/antiacidflesh
name = "\improper DNA injector (Acid Flesh)"
remove_mutations = list(/datum/mutation/human/acidflesh)
/obj/item/dnainjector/antenna
name = "\improper DNA injector (Antenna)"
add_mutations = list(/datum/mutation/human/antenna)
/obj/item/dnainjector/antiantenna
name = "\improper DNA injector (Anti-Antenna)"
remove_mutations = list(/datum/mutation/human/antenna)
/obj/item/dnainjector/antiglow
name = "\improper DNA injector (Antiglowy)"
add_mutations = list(/datum/mutation/human/glow/anti)
/obj/item/dnainjector/removeantiglow
name = "\improper DNA injector (Anti-Antiglowy)"
remove_mutations = list(/datum/mutation/human/glow/anti)
/obj/item/dnainjector/blindmut
name = "\improper DNA injector (Blind)"
desc = "Makes you not see anything."
add_mutations = list(/datum/mutation/human/blind)
/obj/item/dnainjector/antiblind
name = "\improper DNA injector (Anti-Blind)"
desc = "IT'S A MIRACLE!!!"
remove_mutations = list(/datum/mutation/human/blind)
/obj/item/dnainjector/chameleonmut
name = "\improper DNA injector (Chameleon)"
add_mutations = list(/datum/mutation/human/chameleon)
/obj/item/dnainjector/antichameleon
name = "\improper DNA injector (Anti-Chameleon)"
remove_mutations = list(/datum/mutation/human/chameleon)
/obj/item/dnainjector/chavmut
name = "\improper DNA injector (Chav)"
add_mutations = list(/datum/mutation/human/chav)
/obj/item/dnainjector/antichav
name = "\improper DNA injector (Anti-Chav)"
remove_mutations = list(/datum/mutation/human/chav)
/obj/item/dnainjector/clumsymut
name = "\improper DNA injector (Clumsy)"
desc = "Makes clown minions."
add_mutations = list(/datum/mutation/human/clumsy)
/obj/item/dnainjector/anticlumsy
name = "\improper DNA injector (Anti-Clumsy)"
desc = "Apply this for Security Clown."
remove_mutations = list(/datum/mutation/human/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/human/cough)
/obj/item/dnainjector/anticough
name = "\improper DNA injector (Anti-Cough)"
desc = "Will stop that awful noise."
remove_mutations = list(/datum/mutation/human/cough)
/obj/item/dnainjector/cryokinesis
name = "\improper DNA injector (Cryokinesis)"
add_mutations = list(/datum/mutation/human/cryokinesis)
/obj/item/dnainjector/anticryokinesis
name = "\improper DNA injector (Anti-Cryokinesis)"
remove_mutations = list(/datum/mutation/human/cryokinesis)
/obj/item/dnainjector/deafmut
name = "\improper DNA injector (Deaf)"
desc = "Sorry, what did you say?"
add_mutations = list(/datum/mutation/human/deaf)
/obj/item/dnainjector/antideaf
name = "\improper DNA injector (Anti-Deaf)"
desc = "Will make you hear once more."
remove_mutations = list(/datum/mutation/human/deaf)
/obj/item/dnainjector/dwarf
name = "\improper DNA injector (Dwarfism)"
desc = "It's a small world after all."
add_mutations = list(/datum/mutation/human/dwarfism)
/obj/item/dnainjector/antidwarf
name = "\improper DNA injector (Anti-Dwarfism)"
desc = "Helps you grow big and strong."
remove_mutations = list(/datum/mutation/human/dwarfism)
/obj/item/dnainjector/elvismut
name = "\improper DNA injector (Elvis)"
add_mutations = list(/datum/mutation/human/elvis)
/obj/item/dnainjector/antielvis
name = "\improper DNA injector (Anti-Elvis)"
remove_mutations = list(/datum/mutation/human/elvis)
/obj/item/dnainjector/epimut
name = "\improper DNA injector (Epi.)"
desc = "Shake shake shake the room!"
add_mutations = list(/datum/mutation/human/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/human/epilepsy)
/obj/item/dnainjector/geladikinesis
name = "\improper DNA injector (Geladikinesis)"
add_mutations = list(/datum/mutation/human/geladikinesis)
/obj/item/dnainjector/antigeladikinesis
name = "\improper DNA injector (Anti-Geladikinesis)"
remove_mutations = list(/datum/mutation/human/geladikinesis)
/obj/item/dnainjector/gigantism
name = "\improper DNA injector (Gigantism)"
add_mutations = list(/datum/mutation/human/gigantism)
/obj/item/dnainjector/antigigantism
name = "\improper DNA injector (Anti-Gigantism)"
remove_mutations = list(/datum/mutation/human/gigantism)
/obj/item/dnainjector/glassesmut
name = "\improper DNA injector (Glasses)"
desc = "Will make you need dorkish glasses."
add_mutations = list(/datum/mutation/human/nearsight)
/obj/item/dnainjector/antiglasses
name = "\improper DNA injector (Anti-Glasses)"
desc = "Toss away those glasses!"
remove_mutations = list(/datum/mutation/human/nearsight)
/obj/item/dnainjector/glow
name = "\improper DNA injector (Glowy)"
add_mutations = list(/datum/mutation/human/glow)
/obj/item/dnainjector/removeglow
name = "\improper DNA injector (Anti-Glowy)"
remove_mutations = list(/datum/mutation/human/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/human/hulk)
/obj/item/dnainjector/antihulk
name = "\improper DNA injector (Anti-Hulk)"
desc = "Cures green skin."
remove_mutations = list(/datum/mutation/human/hulk)
/obj/item/dnainjector/h2m
name = "\improper DNA injector (Human > Monkey)"
desc = "Will make you a flea bag."
add_mutations = list(/datum/mutation/human/race)
/obj/item/dnainjector/m2h
name = "\improper DNA injector (Monkey > Human)"
desc = "Will make you...less hairy."
remove_mutations = list(/datum/mutation/human/race)
/obj/item/dnainjector/illiterate
name = "\improper DNA injector (Illiterate)"
add_mutations = list(/datum/mutation/human/illiterate)
/obj/item/dnainjector/antiilliterate
name = "\improper DNA injector (Anti-Illiterate)"
remove_mutations = list(/datum/mutation/human/illiterate)
/obj/item/dnainjector/insulated
name = "\improper DNA injector (Insulated)"
add_mutations = list(/datum/mutation/human/insulated)
/obj/item/dnainjector/antiinsulated
name = "\improper DNA injector (Anti-Insulated)"
remove_mutations = list(/datum/mutation/human/insulated)
/obj/item/dnainjector/lasereyesmut
name = "\improper DNA injector (Laser Eyes)"
add_mutations = list(/datum/mutation/human/laser_eyes)
/obj/item/dnainjector/antilasereyes
name = "\improper DNA injector (Anti-Laser Eyes)"
remove_mutations = list(/datum/mutation/human/laser_eyes)
/obj/item/dnainjector/mindread
name = "\improper DNA injector (Mindread)"
add_mutations = list(/datum/mutation/human/mindreader)
/obj/item/dnainjector/antimindread
name = "\improper DNA injector (Anti-Mindread)"
remove_mutations = list(/datum/mutation/human/mindreader)
/obj/item/dnainjector/mutemut
name = "\improper DNA injector (Mute)"
add_mutations = list(/datum/mutation/human/mute)
/obj/item/dnainjector/antimute
name = "\improper DNA injector (Anti-Mute)"
remove_mutations = list(/datum/mutation/human/mute)
/obj/item/dnainjector/olfaction
name = "\improper DNA injector (Olfaction)"
add_mutations = list(/datum/mutation/human/olfaction)
/obj/item/dnainjector/antiolfaction
name = "\improper DNA injector (Anti-Olfaction)"
remove_mutations = list(/datum/mutation/human/olfaction)
/obj/item/dnainjector/piglatinmut
name = "\improper DNA injector (Pig Latin)"
add_mutations = list(/datum/mutation/human/piglatin)
/obj/item/dnainjector/antipiglatin
name = "\improper DNA injector (Anti-Pig Latin)"
remove_mutations = list(/datum/mutation/human/piglatin)
/obj/item/dnainjector/paranoia
name = "\improper DNA injector (Paranoia)"
add_mutations = list(/datum/mutation/human/paranoia)
/obj/item/dnainjector/antiparanoia
name = "\improper DNA injector (Anti-Paranoia)"
remove_mutations = list(/datum/mutation/human/paranoia)
/obj/item/dnainjector/pressuremut
name = "\improper DNA injector (Pressure Adaptation)"
desc = "Gives you fire."
add_mutations = list(/datum/mutation/human/adaptation/pressure)
/obj/item/dnainjector/antipressure
name = "\improper DNA injector (Anti-Pressure Adaptation)"
desc = "Cures fire."
remove_mutations = list(/datum/mutation/human/adaptation/pressure)
/obj/item/dnainjector/radioactive
name = "\improper DNA injector (Radioactive)"
add_mutations = list(/datum/mutation/human/radioactive)
/obj/item/dnainjector/antiradioactive
name = "\improper DNA injector (Anti-Radioactive)"
remove_mutations = list(/datum/mutation/human/radioactive)
/obj/item/dnainjector/shock
name = "\improper DNA injector (Shock Touch)"
add_mutations = list(/datum/mutation/human/shock)
/obj/item/dnainjector/antishock
name = "\improper DNA injector (Anti-Shock Touch)"
remove_mutations = list(/datum/mutation/human/shock)
/obj/item/dnainjector/spastic
name = "\improper DNA injector (Spastic)"
add_mutations = list(/datum/mutation/human/spastic)
/obj/item/dnainjector/antispastic
name = "\improper DNA injector (Anti-Spastic)"
remove_mutations = list(/datum/mutation/human/spastic)
/obj/item/dnainjector/spatialinstability
name = "\improper DNA injector (Spatial Instability)"
add_mutations = list(/datum/mutation/human/badblink)
/obj/item/dnainjector/antispatialinstability
name = "\improper DNA injector (Anti-Spatial Instability)"
remove_mutations = list(/datum/mutation/human/badblink)
/obj/item/dnainjector/stuttmut
name = "\improper DNA injector (Stutt.)"
desc = "Makes you s-s-stuttterrr."
add_mutations = list(/datum/mutation/human/nervousness)
/obj/item/dnainjector/antistutt
name = "\improper DNA injector (Anti-Stutt.)"
desc = "Fixes that speaking impairment."
remove_mutations = list(/datum/mutation/human/nervousness)
/obj/item/dnainjector/swedishmut
name = "\improper DNA injector (Swedish)"
add_mutations = list(/datum/mutation/human/swedish)
/obj/item/dnainjector/antiswedish
name = "\improper DNA injector (Anti-Swedish)"
remove_mutations = list(/datum/mutation/human/swedish)
/obj/item/dnainjector/telemut
name = "\improper DNA injector (Tele.)"
desc = "Super brain TK!"
add_mutations = list(/datum/mutation/human/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/human/telekinesis)
/obj/item/dnainjector/firemut
name = "\improper DNA injector (Temp Adaptation)"
desc = "Gives you fire."
add_mutations = list(/datum/mutation/human/adaptation/thermal)
/obj/item/dnainjector/antifire
name = "\improper DNA injector (Anti-Temp Adaptation)"
desc = "Cures fire."
remove_mutations = list(/datum/mutation/human/adaptation/thermal)
/obj/item/dnainjector/thermal
name = "\improper DNA injector (Thermal Vision)"
add_mutations = list(/datum/mutation/human/thermal)
/obj/item/dnainjector/antithermal
name = "\improper DNA injector (Anti-Thermal Vision)"
remove_mutations = list(/datum/mutation/human/thermal)
/obj/item/dnainjector/tourmut
name = "\improper DNA injector (Tour.)"
desc = "Gives you a nasty case of Tourette's."
add_mutations = list(/datum/mutation/human/tourettes)
/obj/item/dnainjector/antitour
name = "\improper DNA injector (Anti-Tour.)"
desc = "Will cure Tourette's."
remove_mutations = list(/datum/mutation/human/tourettes)
/obj/item/dnainjector/twoleftfeet
name = "\improper DNA injector (Two Left Feet)"
add_mutations = list(/datum/mutation/human/extrastun)
/obj/item/dnainjector/antitwoleftfeet
name = "\improper DNA injector (Anti-Two Left Feet)"
remove_mutations = list(/datum/mutation/human/extrastun)
/obj/item/dnainjector/unintelligiblemut
name = "\improper DNA injector (Unintelligible)"
add_mutations = list(/datum/mutation/human/unintelligible)
/obj/item/dnainjector/antiunintelligible
name = "\improper DNA injector (Anti-Unintelligible)"
remove_mutations = list(/datum/mutation/human/unintelligible)
/obj/item/dnainjector/void
name = "\improper DNA injector (Void)"
add_mutations = list(/datum/mutation/human/void)
/obj/item/dnainjector/antivoid
name = "\improper DNA injector (Anti-Void)"
remove_mutations = list(/datum/mutation/human/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/human/xray)
/obj/item/dnainjector/antixray
name = "\improper DNA injector (Anti-X-ray)"
desc = "It will make you see harder."
remove_mutations = list(/datum/mutation/human/xray)
/obj/item/dnainjector/wackymut
name = "\improper DNA injector (Wacky)"
add_mutations = list(/datum/mutation/human/wacky)
/obj/item/dnainjector/antiwacky
name = "\improper DNA injector (Anti-Wacky)"
remove_mutations = list(/datum/mutation/human/wacky)
/obj/item/dnainjector/webbing
name = "\improper DNA injector (Webbing)"
add_mutations = list(/datum/mutation/human/webbing)
/obj/item/dnainjector/antiwebbing
name = "\improper DNA injector (Anti-Webbing)"
remove_mutations = list(/datum/mutation/human/webbing)
/obj/item/dnainjector/clever
name = "\improper DNA injector (Clever)"
add_mutations = list(/datum/mutation/human/clever)
/obj/item/dnainjector/anticlever
name = "\improper DNA injector (Anti-Clever)"
remove_mutations = list(/datum/mutation/human/clever)