mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-24 05:30:05 +01:00
[MIRROR] Removes useless defines for mutation paths [MDB IGNORE] (#11138)
* Removes useless defines for mutation paths (#64512) * Removes useless defines for mutation paths * Update cortical_borer_abilities.dm * Update cqcplus.dm * Update clown.dm Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
This commit is contained in:
@@ -2,68 +2,6 @@
|
||||
|
||||
#define CHECK_DNA_AND_SPECIES(C) if(!(C.dna?.species)) return
|
||||
|
||||
//Defines copying names of mutations in all cases, make sure to change this if you change mutation's type
|
||||
#define ACIDFLESH /datum/mutation/human/acidflesh
|
||||
#define ANTENNA /datum/mutation/human/antenna
|
||||
#define ANTIGLOWY /datum/mutation/human/glow/anti
|
||||
#define AUTONOMY /datum/mutation/human/self_amputation
|
||||
#define BADBLINK /datum/mutation/human/badblink
|
||||
#define BADSIGHT /datum/mutation/human/nearsight
|
||||
#define BIOTECHCOMPAT /datum/mutation/human/biotechcompat
|
||||
#define BLINDMUT /datum/mutation/human/blind
|
||||
#define CHAMELEON /datum/mutation/human/chameleon
|
||||
#define CHAV /datum/mutation/human/chav
|
||||
#define CLOWNMUT /datum/mutation/human/clumsy
|
||||
#define COUGH /datum/mutation/human/cough
|
||||
#define CRYOKINESIS /datum/mutation/human/cryokinesis
|
||||
#define DEAFMUT /datum/mutation/human/deaf
|
||||
#define DWARFISM /datum/mutation/human/dwarfism
|
||||
#define ELVIS /datum/mutation/human/elvis
|
||||
#define EPILEPSY /datum/mutation/human/epilepsy
|
||||
#define EXTRASTUN /datum/mutation/human/extrastun
|
||||
#define FIREBREATH /datum/mutation/human/firebreath
|
||||
#define FIRESWEAT /datum/mutation/human/fire
|
||||
#define GELADIKINESIS /datum/mutation/human/geladikinesis
|
||||
#define GIGANTISM /datum/mutation/human/gigantism
|
||||
#define GLOWY /datum/mutation/human/glow
|
||||
#define HARS /datum/mutation/human/headless
|
||||
#define HULK /datum/mutation/human/hulk
|
||||
#define INSULATED /datum/mutation/human/insulated
|
||||
#define LASEREYES /datum/mutation/human/laser_eyes
|
||||
#define MARTYRDOM /datum/mutation/human/martyrdom
|
||||
#define MEDIEVAL /datum/mutation/human/medieval
|
||||
#define MINDREAD /datum/mutation/human/mindreader
|
||||
#define MUTATE /datum/mutation/human/bad_dna
|
||||
#define MUT_MUTE /datum/mutation/human/mute
|
||||
#define NERVOUS /datum/mutation/human/nervousness
|
||||
#define OLFACTION /datum/mutation/human/olfaction
|
||||
#define PARANOIA /datum/mutation/human/paranoia
|
||||
#define PIGLATIN /datum/mutation/human/piglatin
|
||||
#define RACEMUT /datum/mutation/human/race
|
||||
#define RADIOACTIVE /datum/mutation/human/radioactive
|
||||
#define SHOCKTOUCH /datum/mutation/human/shock
|
||||
#define TEMPADAPT /datum/mutation/human/temperature_adaptation
|
||||
#define PRESSUREADAPT /datum/mutation/human/pressure_adaptation
|
||||
#define SPASTIC /datum/mutation/human/spastic
|
||||
#define SPIDER_WEB /datum/mutation/human/webbing
|
||||
#define STIMMED /datum/mutation/human/stimmed
|
||||
#define STONER /datum/mutation/human/stoner
|
||||
#define STRONG /datum/mutation/human/strong
|
||||
#define SWEDISH /datum/mutation/human/swedish
|
||||
#define TELEPATHY /datum/mutation/human/telepathy
|
||||
#define THERMAL /datum/mutation/human/thermal
|
||||
#define TK /datum/mutation/human/telekinesis
|
||||
#define TONGUESPIKE /datum/mutation/human/tonguespike
|
||||
#define TONGUESPIKECHEM /datum/mutation/human/tongue_spike/chem
|
||||
#define TOURETTES /datum/mutation/human/tourettes
|
||||
#define UNINTELLIGIBLE /datum/mutation/human/unintelligible
|
||||
#define VOID /datum/mutation/human/void
|
||||
#define WACKY /datum/mutation/human/wacky
|
||||
#define XRAY /datum/mutation/human/xray
|
||||
|
||||
#define BURDENED /datum/mutation/human/burdened
|
||||
#define HONORBOUND /datum/mutation/human/honorbound
|
||||
|
||||
#define UE_CHANGED "ue changed"
|
||||
#define UI_CHANGED "ui changed"
|
||||
#define UF_CHANGED "uf changed"
|
||||
|
||||
@@ -199,7 +199,7 @@
|
||||
return TRUE
|
||||
|
||||
/obj/item/tk_grab/proc/check_if_focusable(obj/target)
|
||||
if(!tk_user || !istype(tk_user) || QDELETED(target) || !istype(target) || !tk_user.dna.check_mutation(TK))
|
||||
if(!tk_user || !istype(tk_user) || QDELETED(target) || !istype(target) || !tk_user.dna.check_mutation(/datum/mutation/human/telekinesis))
|
||||
qdel(src)
|
||||
return
|
||||
if(!tkMaxRangeCheck(tk_user, target) || target.anchored || !isturf(target.loc))
|
||||
|
||||
+3
-3
@@ -260,8 +260,8 @@ GLOBAL_LIST_INIT(total_uf_len_by_block, populate_total_uf_len_by_block())
|
||||
mutation_index.Cut()
|
||||
default_mutation_genes.Cut()
|
||||
shuffle_inplace(mutations_temp)
|
||||
mutation_index[RACEMUT] = create_sequence(RACEMUT, FALSE)
|
||||
default_mutation_genes[RACEMUT] = mutation_index[RACEMUT]
|
||||
mutation_index[/datum/mutation/human/race] = create_sequence(/datum/mutation/human/race, FALSE)
|
||||
default_mutation_genes[/datum/mutation/human/race] = mutation_index[/datum/mutation/human/race]
|
||||
for(var/i in 2 to DNA_MUTATION_BLOCKS)
|
||||
var/datum/mutation/human/M = mutations_temp[i]
|
||||
mutation_index[M.type] = create_sequence(M.type, FALSE, M.difficulty)
|
||||
@@ -749,7 +749,7 @@ GLOBAL_LIST_INIT(total_uf_len_by_block, populate_total_uf_len_by_block())
|
||||
if((!sequence || dna.mutation_in_sequence(A.type)) && !dna.get_mutation(A.type))
|
||||
possible += A.type
|
||||
if(exclude_monkey)
|
||||
possible.Remove(RACEMUT)
|
||||
possible.Remove(/datum/mutation/human/race)
|
||||
if(LAZYLEN(possible))
|
||||
var/mutation = pick(possible)
|
||||
. = dna.activate_mutation(mutation)
|
||||
|
||||
@@ -105,7 +105,7 @@
|
||||
if(!(A.mobility_flags & MOBILITY_USE)) //NO UNABLE TO USE
|
||||
return BULLET_ACT_HIT
|
||||
var/datum/dna/dna = A.has_dna()
|
||||
if(dna?.check_mutation(HULK)) //NO HULK
|
||||
if(dna?.check_mutation(/datum/mutation/human/hulk)) //NO HULK
|
||||
return BULLET_ACT_HIT
|
||||
if(!isturf(A.loc)) //NO MOTHERFLIPPIN MECHS!
|
||||
return BULLET_ACT_HIT
|
||||
|
||||
@@ -15,24 +15,24 @@
|
||||
|
||||
/datum/generecipe/hulk
|
||||
required = "/datum/mutation/human/strong; /datum/mutation/human/radioactive"
|
||||
result = HULK
|
||||
result = /datum/mutation/human/hulk
|
||||
|
||||
/datum/generecipe/mindread
|
||||
required = "/datum/mutation/human/antenna; /datum/mutation/human/paranoia"
|
||||
result = MINDREAD
|
||||
result = /datum/mutation/human/mindreader
|
||||
|
||||
/datum/generecipe/shock
|
||||
required = "/datum/mutation/human/insulated; /datum/mutation/human/radioactive"
|
||||
result = SHOCKTOUCH
|
||||
result = /datum/mutation/human/shock
|
||||
|
||||
/datum/generecipe/antiglow
|
||||
required = "/datum/mutation/human/glow; /datum/mutation/human/void"
|
||||
result = ANTIGLOWY
|
||||
result = /datum/mutation/human/glow/anti
|
||||
|
||||
/datum/generecipe/tonguechem
|
||||
required = "/datum/mutation/human/tongue_spike; /datum/mutation/human/stimmed"
|
||||
result = TONGUESPIKECHEM
|
||||
result = /datum/mutation/human/tongue_spike/chem
|
||||
|
||||
/datum/generecipe/martyrdom
|
||||
required = "/datum/mutation/human/strong; /datum/mutation/human/stimmed"
|
||||
result = MARTYRDOM
|
||||
result = /datum/mutation/human/martyrdom
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
text_gain_indication = "<span class='notice'>Your body feels warm!</span>"
|
||||
time_coeff = 5
|
||||
instability = 25
|
||||
conflicts = list(PRESSUREADAPT)
|
||||
conflicts = list(/datum/mutation/human/pressure_adaptation)
|
||||
|
||||
/datum/mutation/human/temperature_adaptation/New(class_ = MUT_OTHER, timer, datum/mutation/human/copymut)
|
||||
..()
|
||||
@@ -36,7 +36,7 @@
|
||||
text_gain_indication = "<span class='notice'>Your body feels numb!</span>"
|
||||
time_coeff = 5
|
||||
instability = 25
|
||||
conflicts = list(TEMPADAPT)
|
||||
conflicts = list(/datum/mutation/human/temperature_adaptation)
|
||||
|
||||
/datum/mutation/human/pressure_adaptation/New(class_ = MUT_OTHER, timer, datum/mutation/human/copymut)
|
||||
..()
|
||||
|
||||
@@ -89,7 +89,7 @@
|
||||
quality = POSITIVE
|
||||
difficulty = 16
|
||||
instability = 5
|
||||
conflicts = list(GIGANTISM)
|
||||
conflicts = list(/datum/mutation/human/gigantism)
|
||||
locked = TRUE // Default intert species for now, so locked from regular pool.
|
||||
|
||||
/datum/mutation/human/dwarfism/on_acquiring(mob/living/carbon/human/owner)
|
||||
@@ -360,7 +360,7 @@
|
||||
desc = "The cells within the subject spread out to cover more area, making the subject appear larger."
|
||||
quality = MINOR_NEGATIVE
|
||||
difficulty = 12
|
||||
conflicts = list(DWARFISM)
|
||||
conflicts = list(/datum/mutation/human/dwarfism)
|
||||
|
||||
/datum/mutation/human/gigantism/on_acquiring(mob/living/carbon/human/owner)
|
||||
if(..())
|
||||
|
||||
@@ -72,14 +72,14 @@
|
||||
to_chat(owner, span_notice("You have done well to understand [GLOB.deity]. You are almost at a breakthrough."))
|
||||
else
|
||||
to_chat(owner, span_warning("The weight on your shoulders feels lighter. You have lost some universal truths."))
|
||||
dna.remove_mutation(TELEPATHY)
|
||||
dna.remove_mutation(MUT_MUTE)
|
||||
dna.remove_mutation(/datum/mutation/human/telepathy)
|
||||
dna.remove_mutation(/datum/mutation/human/mute)
|
||||
owner.remove_filter("burden_outline")
|
||||
if(3)
|
||||
if(increase)
|
||||
to_chat(owner, span_notice("Your suffering is only a fraction of [GLOB.deity]'s, and yet the universal truths are coming to you."))
|
||||
dna.add_mutation(TELEPATHY)
|
||||
dna.add_mutation(MUT_MUTE)
|
||||
dna.add_mutation(/datum/mutation/human/telepathy)
|
||||
dna.add_mutation(/datum/mutation/human/mute)
|
||||
owner.add_filter("burden_outline", 9, list("type" = "outline", "color" = "#6c6eff"))
|
||||
else
|
||||
to_chat(owner, span_warning("The weight on your shoulders feels lighter. You feel like you're about to forget."))
|
||||
@@ -93,12 +93,12 @@
|
||||
to_chat(owner, span_notice("You're on the cusp of another breakthrough. [GLOB.deity] lost everything."))
|
||||
else
|
||||
to_chat(owner, span_warning("The weight on your shoulders feels lighter. You have lost some universal truths."))
|
||||
dna.remove_mutation(TK)
|
||||
dna.remove_mutation(MINDREAD)
|
||||
dna.remove_mutation(/datum/mutation/human/telekinesis)
|
||||
dna.remove_mutation(/datum/mutation/human/mindreader)
|
||||
if(6)
|
||||
to_chat(owner, span_notice("You have finally broken yourself enough to understand [GLOB.deity]. It's all so clear to you."))
|
||||
dna.add_mutation(TK)
|
||||
dna.add_mutation(MINDREAD)
|
||||
dna.add_mutation(/datum/mutation/human/telekinesis)
|
||||
dna.add_mutation(/datum/mutation/human/mindreader)
|
||||
|
||||
/// Signal to decrease burden_level (see update_burden proc) if an organ is added
|
||||
/datum/mutation/human/burdened/proc/organ_added_burden(mob/burdened, obj/item/organ/new_organ, special)
|
||||
|
||||
@@ -193,7 +193,7 @@
|
||||
to_chat(user, span_userdanger("[GLOB.deity] is enraged by your use of forbidden magic!"))
|
||||
lightningbolt(user)
|
||||
SEND_SIGNAL(owner, COMSIG_ADD_MOOD_EVENT, "honorbound", /datum/mood_event/banished)
|
||||
user.dna.remove_mutation(HONORBOUND)
|
||||
user.dna.remove_mutation(/datum/mutation/human/honorbound)
|
||||
user.mind.holy_role = NONE
|
||||
to_chat(user, span_userdanger("You have been excommunicated! You are no longer holy!"))
|
||||
else
|
||||
@@ -217,7 +217,7 @@
|
||||
/obj/effect/proc_holder/spell/pointed/declare_evil/cast(list/targets, mob/living/carbon/human/user, silent = FALSE)
|
||||
if(!ishuman(user))
|
||||
return FALSE
|
||||
var/datum/mutation/human/honorbound/honormut = user.dna.check_mutation(HONORBOUND)
|
||||
var/datum/mutation/human/honorbound/honormut = user.dna.check_mutation(/datum/mutation/human/honorbound)
|
||||
var/datum/religion_sect/honorbound/honorsect = GLOB.religious_sect
|
||||
if(honorsect.favor < 150)
|
||||
to_chat(user, span_warning("You need at least 150 favor to declare someone evil!"))
|
||||
|
||||
@@ -685,7 +685,7 @@
|
||||
//Start with the bad mutation, overwrite with the desired mutation if it passes the check
|
||||
//assures BAD END is the natural state if things go wrong
|
||||
//I think this should be like with viruses, probability cascade or switch/case on random?
|
||||
var/result_mutation = ACIDFLESH
|
||||
var/result_mutation = /datum/mutation/human/acidflesh
|
||||
//If we found the replacement mutation
|
||||
if(matched_mutation)
|
||||
//and the old sequence matches the real sequence of the old mutation
|
||||
|
||||
@@ -91,7 +91,7 @@
|
||||
span_danger("You direct [src] to [M]'s eyes."))
|
||||
if(M.stat == DEAD || (M.is_blind()) || !M.flash_act(visual = 1)) //mob is dead or fully blind
|
||||
to_chat(user, span_warning("[M]'s pupils don't react to the light!"))
|
||||
else if(M.dna && M.dna.check_mutation(XRAY)) //mob has X-ray vision
|
||||
else if(M.dna && M.dna.check_mutation(/datum/mutation/human/xray)) //mob has X-ray vision
|
||||
to_chat(user, span_danger("[M]'s pupils give an eerie glow!"))
|
||||
else //they're okay!
|
||||
to_chat(user, span_notice("[M]'s pupils narrow."))
|
||||
|
||||
@@ -350,7 +350,7 @@ GENE SCANNER
|
||||
|
||||
// Species and body temperature
|
||||
var/datum/species/targetspecies = humantarget.dna.species
|
||||
var/mutant = humantarget.dna.check_mutation(HULK) \
|
||||
var/mutant = humantarget.dna.check_mutation(/datum/mutation/human/hulk) \
|
||||
|| targetspecies.mutantlungs != initial(targetspecies.mutantlungs) \
|
||||
|| targetspecies.mutantbrain != initial(targetspecies.mutantbrain) \
|
||||
|| targetspecies.mutantheart != initial(targetspecies.mutantheart) \
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
for(var/HM in remove_mutations)
|
||||
M.dna.remove_mutation(HM)
|
||||
for(var/HM in add_mutations)
|
||||
if(HM == RACEMUT)
|
||||
if(HM == /datum/mutation/human/race)
|
||||
message_admins("[ADMIN_LOOKUPFLW(user)] injected [key_name_admin(M)] with the [name] [span_danger("(MONKEY)")]")
|
||||
log_msg += " (MONKEY)"
|
||||
if(M.dna.mutation_in_sequence(HM))
|
||||
@@ -86,133 +86,133 @@
|
||||
/obj/item/dnainjector/antihulk
|
||||
name = "\improper DNA injector (Anti-Hulk)"
|
||||
desc = "Cures green skin."
|
||||
remove_mutations = list(HULK)
|
||||
remove_mutations = list(/datum/mutation/human/hulk)
|
||||
|
||||
/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(HULK)
|
||||
add_mutations = list(/datum/mutation/human/hulk)
|
||||
|
||||
/obj/item/dnainjector/xraymut
|
||||
name = "\improper DNA injector (X-ray)"
|
||||
desc = "Finally you can see what the Captain does."
|
||||
add_mutations = list(XRAY)
|
||||
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(XRAY)
|
||||
remove_mutations = list(/datum/mutation/human/xray)
|
||||
|
||||
/////////////////////////////////////
|
||||
/obj/item/dnainjector/antiglasses
|
||||
name = "\improper DNA injector (Anti-Glasses)"
|
||||
desc = "Toss away those glasses!"
|
||||
remove_mutations = list(BADSIGHT)
|
||||
remove_mutations = list(/datum/mutation/human/nearsight)
|
||||
|
||||
/obj/item/dnainjector/glassesmut
|
||||
name = "\improper DNA injector (Glasses)"
|
||||
desc = "Will make you need dorkish glasses."
|
||||
add_mutations = list(BADSIGHT)
|
||||
add_mutations = list(/datum/mutation/human/nearsight)
|
||||
|
||||
/obj/item/dnainjector/epimut
|
||||
name = "\improper DNA injector (Epi.)"
|
||||
desc = "Shake shake shake the room!"
|
||||
add_mutations = list(EPILEPSY)
|
||||
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(EPILEPSY)
|
||||
remove_mutations = list(/datum/mutation/human/epilepsy)
|
||||
////////////////////////////////////
|
||||
/obj/item/dnainjector/anticough
|
||||
name = "\improper DNA injector (Anti-Cough)"
|
||||
desc = "Will stop that awful noise."
|
||||
remove_mutations = list(COUGH)
|
||||
remove_mutations = list(/datum/mutation/human/cough)
|
||||
|
||||
/obj/item/dnainjector/coughmut
|
||||
name = "\improper DNA injector (Cough)"
|
||||
desc = "Will bring forth a sound of horror from your throat."
|
||||
add_mutations = list(COUGH)
|
||||
add_mutations = list(/datum/mutation/human/cough)
|
||||
|
||||
/obj/item/dnainjector/antidwarf
|
||||
name = "\improper DNA injector (Anti-Dwarfism)"
|
||||
desc = "Helps you grow big and strong."
|
||||
remove_mutations = list(DWARFISM)
|
||||
remove_mutations = list(/datum/mutation/human/dwarfism)
|
||||
|
||||
/obj/item/dnainjector/dwarf
|
||||
name = "\improper DNA injector (Dwarfism)"
|
||||
desc = "It's a small world after all."
|
||||
add_mutations = list(DWARFISM)
|
||||
add_mutations = list(/datum/mutation/human/dwarfism)
|
||||
|
||||
/obj/item/dnainjector/clumsymut
|
||||
name = "\improper DNA injector (Clumsy)"
|
||||
desc = "Makes clown minions."
|
||||
add_mutations = list(CLOWNMUT)
|
||||
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(CLOWNMUT)
|
||||
remove_mutations = list(/datum/mutation/human/clumsy)
|
||||
|
||||
/obj/item/dnainjector/antitour
|
||||
name = "\improper DNA injector (Anti-Tour.)"
|
||||
desc = "Will cure Tourette's."
|
||||
remove_mutations = list(TOURETTES)
|
||||
remove_mutations = list(/datum/mutation/human/tourettes)
|
||||
|
||||
/obj/item/dnainjector/tourmut
|
||||
name = "\improper DNA injector (Tour.)"
|
||||
desc = "Gives you a nasty case of Tourette's."
|
||||
add_mutations = list(TOURETTES)
|
||||
add_mutations = list(/datum/mutation/human/tourettes)
|
||||
|
||||
/obj/item/dnainjector/stuttmut
|
||||
name = "\improper DNA injector (Stutt.)"
|
||||
desc = "Makes you s-s-stuttterrr."
|
||||
add_mutations = list(NERVOUS)
|
||||
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(NERVOUS)
|
||||
remove_mutations = list(/datum/mutation/human/nervousness)
|
||||
|
||||
/obj/item/dnainjector/antifire
|
||||
name = "\improper DNA injector (Anti-Temp Adaptation)"
|
||||
desc = "Cures fire."
|
||||
remove_mutations = list(TEMPADAPT)
|
||||
remove_mutations = list(/datum/mutation/human/temperature_adaptation)
|
||||
|
||||
/obj/item/dnainjector/firemut
|
||||
name = "\improper DNA injector (Temp Adaptation)"
|
||||
desc = "Gives you fire."
|
||||
add_mutations = list(TEMPADAPT)
|
||||
add_mutations = list(/datum/mutation/human/temperature_adaptation)
|
||||
|
||||
/obj/item/dnainjector/antipressure
|
||||
name = "\improper DNA injector (Anti-Pressure Adaptation)"
|
||||
desc = "Cures fire."
|
||||
remove_mutations = list(PRESSUREADAPT)
|
||||
remove_mutations = list(/datum/mutation/human/pressure_adaptation)
|
||||
|
||||
/obj/item/dnainjector/pressuremut
|
||||
name = "\improper DNA injector (Pressure Adaptation)"
|
||||
desc = "Gives you fire."
|
||||
add_mutations = list(PRESSUREADAPT)
|
||||
add_mutations = list(/datum/mutation/human/pressure_adaptation)
|
||||
|
||||
/obj/item/dnainjector/blindmut
|
||||
name = "\improper DNA injector (Blind)"
|
||||
desc = "Makes you not see anything."
|
||||
add_mutations = list(BLINDMUT)
|
||||
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(BLINDMUT)
|
||||
remove_mutations = list(/datum/mutation/human/blind)
|
||||
|
||||
/obj/item/dnainjector/antitele
|
||||
name = "\improper DNA injector (Anti-Tele.)"
|
||||
desc = "Will make you not able to control your mind."
|
||||
remove_mutations = list(TK)
|
||||
remove_mutations = list(/datum/mutation/human/telekinesis)
|
||||
|
||||
/obj/item/dnainjector/telemut
|
||||
name = "\improper DNA injector (Tele.)"
|
||||
desc = "Super brain man!"
|
||||
add_mutations = list(TK)
|
||||
desc = "Super brain TK!"
|
||||
add_mutations = list(/datum/mutation/human/telekinesis)
|
||||
|
||||
/obj/item/dnainjector/telemut/darkbundle
|
||||
name = "\improper DNA injector"
|
||||
@@ -221,245 +221,246 @@
|
||||
/obj/item/dnainjector/deafmut
|
||||
name = "\improper DNA injector (Deaf)"
|
||||
desc = "Sorry, what did you say?"
|
||||
add_mutations = list(DEAFMUT)
|
||||
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(DEAFMUT)
|
||||
remove_mutations = list(/datum/mutation/human/deaf)
|
||||
|
||||
/obj/item/dnainjector/h2m
|
||||
name = "\improper DNA injector (Human > Monkey)"
|
||||
desc = "Will make you a flea bag."
|
||||
add_mutations = list(RACEMUT)
|
||||
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(RACEMUT)
|
||||
remove_mutations = list(/datum/mutation/human/race)
|
||||
|
||||
/obj/item/dnainjector/antichameleon
|
||||
name = "\improper DNA injector (Anti-Chameleon)"
|
||||
remove_mutations = list(CHAMELEON)
|
||||
remove_mutations = list(/datum/mutation/human/chameleon)
|
||||
|
||||
/obj/item/dnainjector/chameleonmut
|
||||
name = "\improper DNA injector (Chameleon)"
|
||||
add_mutations = list(CHAMELEON)
|
||||
add_mutations = list(/datum/mutation/human/chameleon)
|
||||
|
||||
/obj/item/dnainjector/antiwacky
|
||||
name = "\improper DNA injector (Anti-Wacky)"
|
||||
remove_mutations = list(WACKY)
|
||||
remove_mutations = list(/datum/mutation/human/wacky)
|
||||
|
||||
/obj/item/dnainjector/wackymut
|
||||
name = "\improper DNA injector (Wacky)"
|
||||
add_mutations = list(WACKY)
|
||||
add_mutations = list(/datum/mutation/human/wacky)
|
||||
|
||||
/obj/item/dnainjector/piglatinmut
|
||||
name = "\improper DNA injector (Pig Latin)"
|
||||
add_mutations = list(PIGLATIN)
|
||||
add_mutations = list(/datum/mutation/human/piglatin)
|
||||
|
||||
/obj/item/dnainjector/antipiglatin
|
||||
name = "\improper DNA injector (Anti-Pig Latin)"
|
||||
remove_mutations = list(PIGLATIN)
|
||||
remove_mutations = list(/datum/mutation/human/piglatin)
|
||||
|
||||
/obj/item/dnainjector/antimute
|
||||
name = "\improper DNA injector (Anti-Mute)"
|
||||
remove_mutations = list(MUT_MUTE)
|
||||
remove_mutations = list(/datum/mutation/human/mute)
|
||||
|
||||
/obj/item/dnainjector/mutemut
|
||||
name = "\improper DNA injector (Mute)"
|
||||
add_mutations = list(MUT_MUTE)
|
||||
add_mutations = list(/datum/mutation/human/mute)
|
||||
|
||||
/obj/item/dnainjector/unintelligiblemut
|
||||
name = "\improper DNA injector (Unintelligible)"
|
||||
add_mutations = list(UNINTELLIGIBLE)
|
||||
add_mutations = list(/datum/mutation/human/unintelligible)
|
||||
|
||||
/obj/item/dnainjector/antiunintelligible
|
||||
name = "\improper DNA injector (Anti-Unintelligible)"
|
||||
remove_mutations = list(UNINTELLIGIBLE)
|
||||
remove_mutations = list(/datum/mutation/human/unintelligible)
|
||||
|
||||
/obj/item/dnainjector/swedishmut
|
||||
name = "\improper DNA injector (Swedish)"
|
||||
add_mutations = list(SWEDISH)
|
||||
add_mutations = list(/datum/mutation/human/swedish)
|
||||
|
||||
/obj/item/dnainjector/antiswedish
|
||||
name = "\improper DNA injector (Anti-Swedish)"
|
||||
remove_mutations = list(SWEDISH)
|
||||
remove_mutations = list(/datum/mutation/human/swedish)
|
||||
|
||||
/obj/item/dnainjector/chavmut
|
||||
name = "\improper DNA injector (Chav)"
|
||||
add_mutations = list(CHAV)
|
||||
add_mutations = list(/datum/mutation/human/chav)
|
||||
|
||||
/obj/item/dnainjector/antichav
|
||||
name = "\improper DNA injector (Anti-Chav)"
|
||||
remove_mutations = list(CHAV)
|
||||
remove_mutations = list(/datum/mutation/human/chav)
|
||||
|
||||
/obj/item/dnainjector/elvismut
|
||||
name = "\improper DNA injector (Elvis)"
|
||||
add_mutations = list(ELVIS)
|
||||
add_mutations = list(/datum/mutation/human/elvis)
|
||||
|
||||
/obj/item/dnainjector/antielvis
|
||||
name = "\improper DNA injector (Anti-Elvis)"
|
||||
remove_mutations = list(ELVIS)
|
||||
remove_mutations = list(/datum/mutation/human/elvis)
|
||||
|
||||
/obj/item/dnainjector/lasereyesmut
|
||||
name = "\improper DNA injector (Laser Eyes)"
|
||||
add_mutations = list(LASEREYES)
|
||||
add_mutations = list(/datum/mutation/human/laser_eyes)
|
||||
|
||||
/obj/item/dnainjector/antilasereyes
|
||||
name = "\improper DNA injector (Anti-Laser Eyes)"
|
||||
remove_mutations = list(LASEREYES)
|
||||
remove_mutations = list(/datum/mutation/human/laser_eyes)
|
||||
|
||||
/obj/item/dnainjector/void
|
||||
name = "\improper DNA injector (Void)"
|
||||
add_mutations = list(VOID)
|
||||
add_mutations = list(/datum/mutation/human/void)
|
||||
|
||||
/obj/item/dnainjector/antivoid
|
||||
name = "\improper DNA injector (Anti-Void)"
|
||||
remove_mutations = list(VOID)
|
||||
remove_mutations = list(/datum/mutation/human/void)
|
||||
|
||||
/obj/item/dnainjector/antenna
|
||||
name = "\improper DNA injector (Antenna)"
|
||||
add_mutations = list(ANTENNA)
|
||||
add_mutations = list(/datum/mutation/human/antenna)
|
||||
|
||||
/obj/item/dnainjector/antiantenna
|
||||
name = "\improper DNA injector (Anti-Antenna)"
|
||||
remove_mutations = list(ANTENNA)
|
||||
remove_mutations = list(/datum/mutation/human/antenna)
|
||||
|
||||
/obj/item/dnainjector/paranoia
|
||||
name = "\improper DNA injector (Paranoia)"
|
||||
add_mutations = list(PARANOIA)
|
||||
add_mutations = list(/datum/mutation/human/paranoia)
|
||||
|
||||
/obj/item/dnainjector/antiparanoia
|
||||
name = "\improper DNA injector (Anti-Paranoia)"
|
||||
remove_mutations = list(PARANOIA)
|
||||
remove_mutations = list(/datum/mutation/human/paranoia)
|
||||
|
||||
/obj/item/dnainjector/mindread
|
||||
name = "\improper DNA injector (Mindread)"
|
||||
add_mutations = list(MINDREAD)
|
||||
add_mutations = list(/datum/mutation/human/mindreader)
|
||||
|
||||
/obj/item/dnainjector/antimindread
|
||||
name = "\improper DNA injector (Anti-Mindread)"
|
||||
remove_mutations = list(MINDREAD)
|
||||
remove_mutations = list(/datum/mutation/human/mindreader)
|
||||
|
||||
/obj/item/dnainjector/radioactive
|
||||
name = "\improper DNA injector (Radioactive)"
|
||||
add_mutations = list(RADIOACTIVE)
|
||||
add_mutations = list(/datum/mutation/human/radioactive)
|
||||
|
||||
/obj/item/dnainjector/antiradioactive
|
||||
name = "\improper DNA injector (Anti-Radioactive)"
|
||||
remove_mutations = list(RADIOACTIVE)
|
||||
remove_mutations = list(/datum/mutation/human/radioactive)
|
||||
|
||||
/obj/item/dnainjector/olfaction
|
||||
name = "\improper DNA injector (Olfaction)"
|
||||
add_mutations = list(OLFACTION)
|
||||
add_mutations = list(/datum/mutation/human/olfaction)
|
||||
|
||||
/obj/item/dnainjector/antiolfaction
|
||||
name = "\improper DNA injector (Anti-Olfaction)"
|
||||
remove_mutations = list(OLFACTION)
|
||||
remove_mutations = list(/datum/mutation/human/olfaction)
|
||||
|
||||
/obj/item/dnainjector/insulated
|
||||
name = "\improper DNA injector (Insulated)"
|
||||
add_mutations = list(INSULATED)
|
||||
add_mutations = list(/datum/mutation/human/insulated)
|
||||
|
||||
/obj/item/dnainjector/antiinsulated
|
||||
name = "\improper DNA injector (Anti-Insulated)"
|
||||
remove_mutations = list(INSULATED)
|
||||
remove_mutations = list(/datum/mutation/human/insulated)
|
||||
|
||||
/obj/item/dnainjector/shock
|
||||
name = "\improper DNA injector (Shock Touch)"
|
||||
add_mutations = list(SHOCKTOUCH)
|
||||
add_mutations = list(/datum/mutation/human/shock)
|
||||
|
||||
/obj/item/dnainjector/antishock
|
||||
name = "\improper DNA injector (Anti-Shock Touch)"
|
||||
remove_mutations = list(SHOCKTOUCH)
|
||||
remove_mutations = list(/datum/mutation/human/shock)
|
||||
|
||||
/obj/item/dnainjector/spatialinstability
|
||||
name = "\improper DNA injector (Spatial Instability)"
|
||||
add_mutations = list(BADBLINK)
|
||||
add_mutations = list(/datum/mutation/human/badblink)
|
||||
|
||||
/obj/item/dnainjector/antispatialinstability
|
||||
name = "\improper DNA injector (Anti-Spatial Instability)"
|
||||
remove_mutations = list(BADBLINK)
|
||||
remove_mutations = list(/datum/mutation/human/badblink)
|
||||
|
||||
/obj/item/dnainjector/acidflesh
|
||||
name = "\improper DNA injector (Acid Flesh)"
|
||||
add_mutations = list(ACIDFLESH)
|
||||
add_mutations = list(/datum/mutation/human/acidflesh)
|
||||
|
||||
/obj/item/dnainjector/antiacidflesh
|
||||
name = "\improper DNA injector (Acid Flesh)"
|
||||
remove_mutations = list(ACIDFLESH)
|
||||
remove_mutations = list(/datum/mutation/human/acidflesh)
|
||||
|
||||
/obj/item/dnainjector/gigantism
|
||||
name = "\improper DNA injector (Gigantism)"
|
||||
add_mutations = list(GIGANTISM)
|
||||
add_mutations = list(/datum/mutation/human/gigantism)
|
||||
|
||||
/obj/item/dnainjector/antigigantism
|
||||
name = "\improper DNA injector (Anti-Gigantism)"
|
||||
remove_mutations = list(GIGANTISM)
|
||||
remove_mutations = list(/datum/mutation/human/gigantism)
|
||||
|
||||
/obj/item/dnainjector/spastic
|
||||
name = "\improper DNA injector (Spastic)"
|
||||
add_mutations = list(SPASTIC)
|
||||
add_mutations = list(/datum/mutation/human/spastic)
|
||||
|
||||
/obj/item/dnainjector/antispastic
|
||||
name = "\improper DNA injector (Anti-Spastic)"
|
||||
remove_mutations = list(SPASTIC)
|
||||
remove_mutations = list(/datum/mutation/human/spastic)
|
||||
|
||||
/obj/item/dnainjector/twoleftfeet
|
||||
name = "\improper DNA injector (Two Left Feet)"
|
||||
add_mutations = list(EXTRASTUN)
|
||||
add_mutations = list(/datum/mutation/human/extrastun)
|
||||
|
||||
/obj/item/dnainjector/antitwoleftfeet
|
||||
name = "\improper DNA injector (Anti-Two Left Feet)"
|
||||
remove_mutations = list(EXTRASTUN)
|
||||
remove_mutations = list(/datum/mutation/human/extrastun)
|
||||
|
||||
/obj/item/dnainjector/geladikinesis
|
||||
name = "\improper DNA injector (Geladikinesis)"
|
||||
add_mutations = list(GELADIKINESIS)
|
||||
add_mutations = list(/datum/mutation/human/geladikinesis)
|
||||
|
||||
/obj/item/dnainjector/antigeladikinesis
|
||||
name = "\improper DNA injector (Anti-Geladikinesis)"
|
||||
remove_mutations = list(GELADIKINESIS)
|
||||
remove_mutations = list(/datum/mutation/human/geladikinesis)
|
||||
|
||||
/obj/item/dnainjector/cryokinesis
|
||||
name = "\improper DNA injector (Cryokinesis)"
|
||||
add_mutations = list(CRYOKINESIS)
|
||||
add_mutations = list(/datum/mutation/human/cryokinesis)
|
||||
|
||||
/obj/item/dnainjector/anticryokinesis
|
||||
name = "\improper DNA injector (Anti-Cryokinesis)"
|
||||
remove_mutations = list(CRYOKINESIS)
|
||||
remove_mutations = list(/datum/mutation/human/cryokinesis)
|
||||
|
||||
/obj/item/dnainjector/thermal
|
||||
name = "\improper DNA injector (Thermal Vision)"
|
||||
add_mutations = list(THERMAL)
|
||||
add_mutations = list(/datum/mutation/human/thermal)
|
||||
|
||||
/obj/item/dnainjector/antithermal
|
||||
name = "\improper DNA injector (Anti-Thermal Vision)"
|
||||
remove_mutations = list(THERMAL)
|
||||
remove_mutations = list(/datum/mutation/human/thermal)
|
||||
|
||||
/obj/item/dnainjector/glow
|
||||
name = "\improper DNA injector (Glowy)"
|
||||
add_mutations = list(GLOWY)
|
||||
add_mutations = list(/datum/mutation/human/glow)
|
||||
|
||||
/obj/item/dnainjector/removeglow
|
||||
name = "\improper DNA injector (Anti-Glowy)"
|
||||
remove_mutations = list(GLOWY)
|
||||
remove_mutations = list(/datum/mutation/human/glow)
|
||||
|
||||
/obj/item/dnainjector/antiglow
|
||||
name = "\improper DNA injector (Antiglowy)"
|
||||
add_mutations = list(ANTIGLOWY)
|
||||
add_mutations = list(/datum/mutation/human/glow/anti)
|
||||
|
||||
/obj/item/dnainjector/removeantiglow
|
||||
name = "\improper DNA injector (Anti-Antiglowy)"
|
||||
remove_mutations = list(ANTIGLOWY)
|
||||
remove_mutations = list(/datum/mutation/human/glow/anti)
|
||||
|
||||
/obj/item/dnainjector/webbing
|
||||
name = "\improper DNA injector (Webbing)"
|
||||
add_mutations = list(SPIDER_WEB)
|
||||
add_mutations = list(/datum/mutation/human/webbing)
|
||||
|
||||
/obj/item/dnainjector/antiwebbing
|
||||
name = "\improper DNA injector (Anti-Webbing)"
|
||||
remove_mutations = list(SPIDER_WEB)
|
||||
remove_mutations = list(/datum/mutation/human/webbing)
|
||||
|
||||
/obj/item/dnainjector/timed
|
||||
var/duration = 600
|
||||
@@ -473,7 +474,7 @@
|
||||
var/log_msg = "[key_name(user)] injected [key_name(M)] with the [name]"
|
||||
var/endtime = world.time+duration
|
||||
for(var/mutation in remove_mutations)
|
||||
if(mutation == RACEMUT)
|
||||
if(mutation == /datum/mutation/human/race)
|
||||
if(!ismonkey(M))
|
||||
continue
|
||||
M = M.dna.remove_mutation(mutation)
|
||||
@@ -482,7 +483,7 @@
|
||||
for(var/mutation in add_mutations)
|
||||
if(M.dna.get_mutation(mutation))
|
||||
continue //Skip permanent mutations we already have.
|
||||
if(mutation == RACEMUT && !ismonkey(M))
|
||||
if(mutation == /datum/mutation/human/race && !ismonkey(M))
|
||||
message_admins("[ADMIN_LOOKUPFLW(user)] injected [key_name_admin(M)] with the [name] [span_danger("(MONKEY)")]")
|
||||
log_msg += " (MONKEY)"
|
||||
M = M.dna.add_mutation(mutation, MUT_OTHER, endtime)
|
||||
@@ -521,12 +522,12 @@
|
||||
/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(HULK)
|
||||
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(RACEMUT)
|
||||
add_mutations = list(/datum/mutation/human/race)
|
||||
|
||||
/obj/item/dnainjector/activator
|
||||
name = "\improper DNA activator"
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
SIGNAL_HANDLER
|
||||
|
||||
if(user?.has_dna())
|
||||
if(user.dna.check_mutation(HULK))
|
||||
if(user.dna.check_mutation(/datum/mutation/human/hulk))
|
||||
to_chat(user, span_warning("You lack the grace to wield this!"))
|
||||
return COMPONENT_TWOHANDED_BLOCK_WIELD
|
||||
wielded = TRUE
|
||||
@@ -122,7 +122,7 @@
|
||||
|
||||
/obj/item/dualsaber/attack(mob/target, mob/living/carbon/human/user)
|
||||
if(user.has_dna())
|
||||
if(user.dna.check_mutation(HULK))
|
||||
if(user.dna.check_mutation(/datum/mutation/human/hulk))
|
||||
to_chat(user, span_warning("You grip the blade too hard and accidentally drop it!"))
|
||||
if(wielded)
|
||||
user.dropItemToGround(src, force=TRUE)
|
||||
|
||||
@@ -140,7 +140,7 @@
|
||||
affix_desc = "on [target.p_their()] sensitive antennae"
|
||||
affix_desc_target = "on your highly sensitive antennae"
|
||||
brutal_noogie = TRUE
|
||||
if(user.dna?.check_mutation(HULK))
|
||||
if(user.dna?.check_mutation(/datum/mutation/human/hulk))
|
||||
prefix_desc = "sickeningly brutal"
|
||||
brutal_noogie = TRUE
|
||||
|
||||
@@ -175,7 +175,7 @@
|
||||
var/damage = rand(1, 5)
|
||||
if(HAS_TRAIT(target, TRAIT_ANTENNAE))
|
||||
damage += rand(3,7)
|
||||
if(user.dna?.check_mutation(HULK))
|
||||
if(user.dna?.check_mutation(/datum/mutation/human/hulk))
|
||||
damage += rand(3,7)
|
||||
|
||||
if(damage >= 5)
|
||||
|
||||
@@ -81,10 +81,10 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "burning",
|
||||
|
||||
switch(icon_state)
|
||||
if("honk1")
|
||||
user.dna.add_mutation(CLOWNMUT)
|
||||
user.dna.add_mutation(/datum/mutation/human/clumsy)
|
||||
user.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/clown_hat(user), ITEM_SLOT_MASK)
|
||||
if("honk2")
|
||||
user.dna.add_mutation(CLOWNMUT)
|
||||
user.dna.add_mutation(/datum/mutation/human/clumsy)
|
||||
user.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/clown_hat(user), ITEM_SLOT_MASK)
|
||||
if("insuls")
|
||||
var/obj/item/clothing/gloves/color/fyellow/insuls = new
|
||||
|
||||
@@ -98,7 +98,7 @@
|
||||
if(attacker_controller.incapacitated())
|
||||
return FALSE
|
||||
//if the attacker_controller isn't next to the attacking toy (and doesn't have telekinesis), the battle ends
|
||||
if(!in_range(attacker, attacker_controller) && !(attacker_controller.dna.check_mutation(TK)))
|
||||
if(!in_range(attacker, attacker_controller) && !(attacker_controller.dna.check_mutation(/datum/mutation/human/telekinesis)))
|
||||
attacker_controller.visible_message(span_notice("[attacker_controller.name] separates from [attacker], ending the battle."), \
|
||||
span_notice("You separate from [attacker], ending the battle."))
|
||||
return FALSE
|
||||
@@ -107,13 +107,13 @@
|
||||
if(opponent)
|
||||
if(opponent.incapacitated())
|
||||
return FALSE
|
||||
if(!in_range(src, opponent) && !(opponent.dna.check_mutation(TK)))
|
||||
if(!in_range(src, opponent) && !(opponent.dna.check_mutation(/datum/mutation/human/telekinesis)))
|
||||
opponent.visible_message(span_notice("[opponent.name] separates from [src], ending the battle."), \
|
||||
span_notice("You separate from [src], ending the battle."))
|
||||
return FALSE
|
||||
//if it's not PVP and the attacker_controller isn't next to the defending toy (and doesn't have telekinesis), the battle ends
|
||||
else
|
||||
if (!in_range(src, attacker_controller) && !(attacker_controller.dna.check_mutation(TK)))
|
||||
if (!in_range(src, attacker_controller) && !(attacker_controller.dna.check_mutation(/datum/mutation/human/telekinesis)))
|
||||
attacker_controller.visible_message(span_notice("[attacker_controller.name] separates from [src] and [attacker], ending the battle."), \
|
||||
span_notice("You separate [attacker] and [src], ending the battle."))
|
||||
return FALSE
|
||||
|
||||
@@ -141,7 +141,7 @@
|
||||
var/mob/living/carbon/human/H = usr
|
||||
if(!(usr in nearby))
|
||||
if(usr.client && usr.machine==src)
|
||||
if(H.dna.check_mutation(TK))
|
||||
if(H.dna.check_mutation(/datum/mutation/human/telekinesis))
|
||||
is_in_use = TRUE
|
||||
ui_interact(usr)
|
||||
if (is_in_use)
|
||||
|
||||
@@ -144,7 +144,7 @@
|
||||
to_chat(content, span_userdanger("You're suddenly forced into a tiny, compressed space!"))
|
||||
if(iscarbon(content))
|
||||
var/mob/living/carbon/mob = content
|
||||
if (mob.dna.get_mutation(DWARFISM))
|
||||
if (mob.dna.get_mutation(/datum/mutation/human/dwarfism))
|
||||
max_weight_of_contents = max(WEIGHT_CLASS_NORMAL, max_weight_of_contents)
|
||||
continue
|
||||
if(!isitem(content))
|
||||
|
||||
@@ -126,11 +126,11 @@ GLOBAL_LIST_EMPTY(antagonists)
|
||||
return
|
||||
var/mob/living/carbon/human/human_override = mob_override
|
||||
if(removing) // They're a clown becoming an antag, remove clumsy
|
||||
human_override.dna.remove_mutation(CLOWNMUT)
|
||||
human_override.dna.remove_mutation(/datum/mutation/human/clumsy)
|
||||
if(!silent && message)
|
||||
to_chat(human_override, span_boldnotice("[message]"))
|
||||
else
|
||||
human_override.dna.add_mutation(CLOWNMUT) // We're removing their antag status, add back clumsy
|
||||
human_override.dna.add_mutation(/datum/mutation/human/clumsy) // We're removing their antag status, add back clumsy
|
||||
|
||||
|
||||
//Assign default team and creates one for one of a kind team antagonists
|
||||
|
||||
@@ -12,14 +12,14 @@
|
||||
if(!istype(H)) // req_human could be done in can_sting stuff.
|
||||
return
|
||||
..()
|
||||
if(H.dna.get_mutation(CHAMELEON))
|
||||
H.dna.remove_mutation(CHAMELEON)
|
||||
if(H.dna.get_mutation(/datum/mutation/human/chameleon))
|
||||
H.dna.remove_mutation(/datum/mutation/human/chameleon)
|
||||
else
|
||||
H.dna.add_mutation(CHAMELEON)
|
||||
H.dna.add_mutation(/datum/mutation/human/chameleon)
|
||||
return TRUE
|
||||
|
||||
/datum/action/changeling/chameleon_skin/Remove(mob/user)
|
||||
if(user.has_dna())
|
||||
var/mob/living/carbon/C = user
|
||||
C.dna.remove_mutation(CHAMELEON)
|
||||
C.dna.remove_mutation(/datum/mutation/human/chameleon)
|
||||
..()
|
||||
|
||||
@@ -53,5 +53,5 @@
|
||||
ADD_TRAIT(C, TRAIT_NODROP, CLOWN_NUKE_TRAIT)
|
||||
H.equip_to_slot_or_del(C, ITEM_SLOT_MASK)
|
||||
|
||||
H.dna.add_mutation(CLOWNMUT)
|
||||
H.dna.add_mutation(/datum/mutation/human/clumsy)
|
||||
H.gain_trauma(/datum/brain_trauma/mild/phobia/clowns, TRAUMA_RESILIENCE_LOBOTOMY) //MWA HA HA
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
var/mob/living/carbon/human/H = owner.current
|
||||
if(!istype(H))
|
||||
return
|
||||
H.dna.add_mutation(HULK)
|
||||
H.dna.add_mutation(XRAY)
|
||||
H.dna.add_mutation(PRESSUREADAPT)
|
||||
H.dna.add_mutation(TK)
|
||||
H.dna.add_mutation(/datum/mutation/human/hulk)
|
||||
H.dna.add_mutation(/datum/mutation/human/xray)
|
||||
H.dna.add_mutation(/datum/mutation/human/pressure_adaptation)
|
||||
H.dna.add_mutation(/datum/mutation/human/telekinesis)
|
||||
|
||||
@@ -93,9 +93,9 @@
|
||||
if("Power")
|
||||
to_chat(user, "<B>Your wish is granted, but at a terrible cost...</B>")
|
||||
to_chat(user, "The Wish Granter punishes you for your selfishness, claiming your soul and warping your body to match the darkness in your heart.")
|
||||
user.dna.add_mutation(LASEREYES)
|
||||
user.dna.add_mutation(PRESSUREADAPT)
|
||||
user.dna.add_mutation(XRAY)
|
||||
user.dna.add_mutation(/datum/mutation/human/laser_eyes)
|
||||
user.dna.add_mutation(/datum/mutation/human/pressure_adaptation)
|
||||
user.dna.add_mutation(/datum/mutation/human/xray)
|
||||
user.set_species(/datum/species/shadow)
|
||||
if("Wealth")
|
||||
to_chat(user, "<B>Your wish is granted, but at a terrible cost...</B>")
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
var/mob/living/carbon/human/human_knight = .
|
||||
randomize_human(human_knight)
|
||||
human_knight.dna.update_dna_identity()
|
||||
human_knight.dna.add_mutation(MEDIEVAL, MUT_OTHER)
|
||||
human_knight.dna.add_mutation(/datum/mutation/human/medieval, MUT_OTHER)
|
||||
var/oldname = human_knight.name
|
||||
var/title = "error"
|
||||
switch (human_knight.gender)
|
||||
|
||||
@@ -351,7 +351,7 @@
|
||||
R.keyslot = new /obj/item/encryptionkey/headset_service
|
||||
R.recalculateChannels()
|
||||
ADD_TRAIT(H, TRAIT_NAIVE, INNATE_TRAIT)
|
||||
H.dna.add_mutation(CLOWNMUT)
|
||||
H.dna.add_mutation(/datum/mutation/human/clumsy)
|
||||
for(var/datum/mutation/human/clumsy/M in H.dna.mutations)
|
||||
M.mutadone_proof = TRUE
|
||||
|
||||
|
||||
@@ -94,7 +94,7 @@
|
||||
|
||||
H.fully_replace_character_name(H.real_name, pick(GLOB.clown_names)) //rename the mob AFTER they're equipped so their ID gets updated properly.
|
||||
ADD_TRAIT(H, TRAIT_NAIVE, JOB_TRAIT)
|
||||
H.dna.add_mutation(CLOWNMUT)
|
||||
H.dna.add_mutation(/datum/mutation/human/clumsy)
|
||||
for(var/datum/mutation/human/clumsy/M in H.dna.mutations)
|
||||
M.mutadone_proof = TRUE
|
||||
var/datum/atom_hud/fan = GLOB.huds[DATA_HUD_FAN]
|
||||
@@ -138,7 +138,7 @@
|
||||
..()
|
||||
if(visualsOnly)
|
||||
return
|
||||
H.dna.add_mutation(CLOWNMUT)
|
||||
H.dna.add_mutation(/datum/mutation/human/clumsy)
|
||||
for(var/datum/mutation/human/clumsy/M in H.dna.mutations)
|
||||
M.mutadone_proof = FALSE
|
||||
var/datum/atom_hud/fan = GLOB.huds[DATA_HUD_FAN]
|
||||
|
||||
@@ -922,7 +922,7 @@
|
||||
return DEFIB_FAIL_FAILING_HEART
|
||||
|
||||
// Carbons with HARS do not need a brain
|
||||
if (!dna?.check_mutation(HARS))
|
||||
if (!dna?.check_mutation(/datum/mutation/human/headless))
|
||||
var/obj/item/organ/brain/BR = getorgan(/obj/item/organ/brain)
|
||||
|
||||
if (QDELETED(BR))
|
||||
|
||||
@@ -587,7 +587,7 @@
|
||||
#undef CPR_PANIC_SPEED
|
||||
|
||||
/mob/living/carbon/human/cuff_resist(obj/item/I)
|
||||
if(dna?.check_mutation(HULK))
|
||||
if(dna?.check_mutation(/datum/mutation/human/hulk))
|
||||
say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" ), forced = "hulk")
|
||||
if(..(I, cuff_break = FAST_CUFFBREAK))
|
||||
dropItemToGround(I)
|
||||
|
||||
@@ -627,7 +627,7 @@ generate/load female uniform sprites matching all previously decided variables
|
||||
/mob/living/carbon/human/generate_icon_render_key()
|
||||
. = "[dna.species.limbs_id]"
|
||||
|
||||
if(dna.check_mutation(HULK))
|
||||
if(dna.check_mutation(/datum/mutation/human/hulk))
|
||||
. += "-coloured-hulk"
|
||||
else if(dna.species.use_skintones)
|
||||
. += "-coloured-[skin_tone]"
|
||||
|
||||
@@ -112,7 +112,7 @@ GLOBAL_LIST_EMPTY(features_by_species)
|
||||
///To use MUTCOLOR with a fixed color that's independent of the mcolor feature in DNA.
|
||||
var/fixed_mut_color = ""
|
||||
///Special mutation that can be found in the genepool exclusively in this species. Dont leave empty or changing species will be a headache
|
||||
var/inert_mutation = DWARFISM
|
||||
var/inert_mutation = /datum/mutation/human/dwarfism
|
||||
///Used to set the mob's deathsound upon species change
|
||||
var/deathsound
|
||||
///Sounds to override barefeet walking
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
exotic_bloodtype = "L"
|
||||
disliked_food = GRAIN | DAIRY | CLOTH
|
||||
liked_food = GROSS | MEAT | SEAFOOD | NUTS
|
||||
inert_mutation = FIREBREATH
|
||||
inert_mutation = /datum/mutation/human/firebreath
|
||||
deathsound = 'sound/voice/lizard/deathsound.ogg'
|
||||
wings_icons = list("Dragon")
|
||||
species_language_holder = /datum/language_holder/lizard
|
||||
|
||||
@@ -59,15 +59,15 @@
|
||||
H.dna.features["tail_monkey"] = "Monkey"
|
||||
handle_mutant_bodyparts(H)
|
||||
|
||||
H.dna.add_mutation(RACEMUT, MUT_NORMAL)
|
||||
H.dna.activate_mutation(RACEMUT)
|
||||
H.dna.add_mutation(/datum/mutation/human/race, MUT_NORMAL)
|
||||
H.dna.activate_mutation(/datum/mutation/human/race)
|
||||
|
||||
|
||||
/datum/species/monkey/on_species_loss(mob/living/carbon/C)
|
||||
. = ..()
|
||||
C.pass_flags = initial(C.pass_flags)
|
||||
C.butcher_results = null
|
||||
C.dna.remove_mutation(RACEMUT)
|
||||
C.dna.remove_mutation(/datum/mutation/human/race)
|
||||
|
||||
/datum/species/monkey/spec_unarmedattack(mob/living/carbon/human/user, atom/target, modifiers)
|
||||
. = ..()
|
||||
|
||||
@@ -1156,7 +1156,7 @@
|
||||
to_chat(src, span_warning("You are too far away!"))
|
||||
return FALSE
|
||||
var/datum/dna/D = has_dna()
|
||||
if(!D || !D.check_mutation(TK) || !tkMaxRangeCheck(src, M))
|
||||
if(!D || !D.check_mutation(/datum/mutation/human/telekinesis) || !tkMaxRangeCheck(src, M))
|
||||
to_chat(src, span_warning("You are too far away!"))
|
||||
return FALSE
|
||||
if(need_hands && !can_hold_items(isitem(M) ? M : null)) //almost redundant if it weren't for mobs,
|
||||
|
||||
@@ -212,7 +212,7 @@
|
||||
//This entire if/else chain could be in two lines but isn't for readibilties sake.
|
||||
var/msg = message
|
||||
var/msg_type = MSG_VISUAL
|
||||
|
||||
|
||||
if(M.see_invisible < invisibility)//if src is invisible to M
|
||||
msg = blind_message
|
||||
msg_type = MSG_AUDIBLE
|
||||
@@ -993,7 +993,7 @@
|
||||
if(isAdminGhostAI(src) || Adjacent(A))
|
||||
return TRUE
|
||||
var/datum/dna/mob_dna = has_dna()
|
||||
if(mob_dna?.check_mutation(TK) && tkMaxRangeCheck(src, A))
|
||||
if(mob_dna?.check_mutation(/datum/mutation/human/telekinesis) && tkMaxRangeCheck(src, A))
|
||||
return TRUE
|
||||
|
||||
//range check
|
||||
@@ -1062,7 +1062,7 @@
|
||||
if(!istext(newname) && !isnull(newname))
|
||||
stack_trace("[src] attempted to change its name from [oldname] to the non string value [newname]")
|
||||
return FALSE
|
||||
|
||||
|
||||
log_message("[src] name changed from [oldname] to [newname]", LOG_OWNERSHIP)
|
||||
|
||||
log_played_names(ckey, newname)
|
||||
@@ -1356,7 +1356,7 @@
|
||||
/mob/proc/become_uncliented()
|
||||
if(!canon_client)
|
||||
return
|
||||
|
||||
|
||||
for(var/foo in canon_client.player_details.post_logout_callbacks)
|
||||
var/datum/callback/CB = foo
|
||||
CB.Invoke()
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
|
||||
/obj/effect/mob_spawn/corpse/human/legioninfested/dwarf/special(mob/living/carbon/human/spawned_human)
|
||||
. = ..()
|
||||
spawned_human.dna.add_mutation(DWARFISM)
|
||||
spawned_human.dna.add_mutation(/datum/mutation/human/dwarfism)
|
||||
|
||||
//main type, rolls a pool of legion victims
|
||||
/obj/effect/mob_spawn/corpse/human/legioninfested
|
||||
|
||||
@@ -103,7 +103,7 @@
|
||||
. = ..()
|
||||
if(visualsOnly)
|
||||
return
|
||||
bum.dna.add_mutation(STONER)
|
||||
bum.dna.add_mutation(/datum/mutation/human/stoner)
|
||||
|
||||
/datum/outfit/beachbum/lifeguard
|
||||
name = "Beach Lifeguard"
|
||||
|
||||
@@ -516,7 +516,7 @@
|
||||
|
||||
if(protection_amount > 0 || HAS_TRAIT(user, TRAIT_RESISTHEAT) || HAS_TRAIT(user, TRAIT_RESISTHEATHANDS))
|
||||
to_chat(user, span_notice("You remove the light [fitting]."))
|
||||
else if(istype(user) && user.dna.check_mutation(TK))
|
||||
else if(istype(user) && user.dna.check_mutation(/datum/mutation/human/telekinesis))
|
||||
to_chat(user, span_notice("You telekinetically remove the light [fitting]."))
|
||||
else
|
||||
var/obj/item/bodypart/affecting = electrician.get_bodypart("[(user.active_hand_index % 2 == 0) ? "r" : "l" ]_arm")
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
C.set_confusion(max(C.get_confusion(), confused_amount)) //SKYRAT EDIT ADDITION
|
||||
SEND_SIGNAL(C, COMSIG_ADD_MOOD_EVENT, "tased", /datum/mood_event/tased)
|
||||
SEND_SIGNAL(C, COMSIG_LIVING_MINOR_SHOCK)
|
||||
if(C.dna && C.dna.check_mutation(HULK))
|
||||
if(C.dna && C.dna.check_mutation(/datum/mutation/human/hulk))
|
||||
C.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" ), forced = "hulk")
|
||||
else if((C.status_flags & CANKNOCKDOWN) && !HAS_TRAIT(C, TRAIT_STUNIMMUNE))
|
||||
addtimer(CALLBACK(C, /mob/living/carbon.proc/do_jitter_animation, jitter), 5)
|
||||
|
||||
@@ -168,7 +168,7 @@
|
||||
/obj/projectile/hallucination/taser/hal_apply_effect()
|
||||
hal_target.Paralyze(100)
|
||||
hal_target.stuttering += 20
|
||||
if(hal_target.dna && hal_target.dna.check_mutation(HULK))
|
||||
if(hal_target.dna && hal_target.dna.check_mutation(/datum/mutation/human/hulk))
|
||||
hal_target.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" ), forced = "hulk")
|
||||
else if((hal_target.status_flags & CANKNOCKDOWN) && !HAS_TRAIT(hal_target, TRAIT_STUNIMMUNE))
|
||||
addtimer(CALLBACK(hal_target, /mob/living/carbon.proc/do_jitter_animation, 20), 5)
|
||||
|
||||
+10
-1
@@ -597,7 +597,16 @@ Basically, we fill the time between now and 2s from now with hands based off the
|
||||
var/mob/living/carbon/carbon = owner
|
||||
if(!carbon.dna)
|
||||
return
|
||||
var/list/speech_options = list(SWEDISH, UNINTELLIGIBLE, STONER, MEDIEVAL, WACKY, PIGLATIN, NERVOUS, MUT_MUTE)
|
||||
var/list/speech_options = list(
|
||||
/datum/mutation/human/swedish,
|
||||
/datum/mutation/human/unintelligible,
|
||||
/datum/mutation/human/stoner,
|
||||
/datum/mutation/human/medieval,
|
||||
/datum/mutation/human/wacky,
|
||||
/datum/mutation/human/piglatin,
|
||||
/datum/mutation/human/nervousness,
|
||||
/datum/mutation/human/mute,
|
||||
)
|
||||
speech_options = shuffle(speech_options)
|
||||
for(var/option in speech_options)
|
||||
if(carbon.dna.get_mutation(option))
|
||||
|
||||
@@ -305,7 +305,7 @@
|
||||
to_chat(new_convert, span_warning("[GLOB.deity] has deemed your species as one that could never show honor."))
|
||||
return FALSE
|
||||
var/datum/dna/holy_dna = new_convert.dna
|
||||
holy_dna.add_mutation(HONORBOUND)
|
||||
holy_dna.add_mutation(/datum/mutation/human/honorbound)
|
||||
|
||||
/datum/religion_sect/burden
|
||||
name = "Punished God"
|
||||
|
||||
@@ -369,7 +369,7 @@
|
||||
playsound(get_turf(religious_tool), 'sound/effects/pray.ogg', 50, TRUE)
|
||||
joining_now.gib(TRUE)
|
||||
return FALSE
|
||||
var/datum/mutation/human/honorbound/honormut = user.dna.check_mutation(HONORBOUND)
|
||||
var/datum/mutation/human/honorbound/honormut = user.dna.check_mutation(/datum/mutation/human/honorbound)
|
||||
if(joining_now in honormut.guilty)
|
||||
honormut.guilty -= joining_now
|
||||
GLOB.religious_sect.adjust_favor(200, user)
|
||||
@@ -389,7 +389,7 @@
|
||||
/datum/religion_rites/forgive/perform_rite(mob/living/carbon/human/user, atom/religious_tool)
|
||||
if(!ishuman(user))
|
||||
return FALSE
|
||||
var/datum/mutation/human/honorbound/honormut = user.dna.check_mutation(HONORBOUND)
|
||||
var/datum/mutation/human/honorbound/honormut = user.dna.check_mutation(/datum/mutation/human/honorbound)
|
||||
if(!honormut)
|
||||
return FALSE
|
||||
if(!length(honormut.guilty))
|
||||
@@ -405,7 +405,7 @@
|
||||
..()
|
||||
if(in_range(user, religious_tool))
|
||||
return FALSE
|
||||
var/datum/mutation/human/honorbound/honormut = user.dna.check_mutation(HONORBOUND)
|
||||
var/datum/mutation/human/honorbound/honormut = user.dna.check_mutation(/datum/mutation/human/honorbound)
|
||||
if(!honormut) //edge case
|
||||
return FALSE
|
||||
honormut.guilty -= who
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
sound = 'sound/magic/blind.ogg'
|
||||
|
||||
/obj/effect/proc_holder/spell/targeted/genetic/blind
|
||||
mutations = list(BLINDMUT)
|
||||
mutations = list(/datum/mutation/human/blind)
|
||||
duration = 300
|
||||
charge_max = 400 // needs to be higher than the duration or it'll be permanent
|
||||
sound = 'sound/magic/blind.ogg'
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
range = -1
|
||||
include_user = TRUE
|
||||
|
||||
mutations = list(LASEREYES, HULK)
|
||||
mutations = list(/datum/mutation/human/laser_eyes, /datum/mutation/human/hulk)
|
||||
duration = 300
|
||||
cooldown_min = 300 //25 deciseconds reduction per rank
|
||||
|
||||
|
||||
@@ -845,7 +845,7 @@
|
||||
else
|
||||
species_color = ""
|
||||
|
||||
if(!dropping_limb && human_owner.dna.check_mutation(HULK))
|
||||
if(!dropping_limb && human_owner.dna.check_mutation(/datum/mutation/human/hulk))
|
||||
mutation_color = "#00aa00"
|
||||
else
|
||||
mutation_color = ""
|
||||
|
||||
@@ -118,6 +118,6 @@
|
||||
return UI_CLOSE
|
||||
|
||||
/mob/living/carbon/human/shared_living_ui_distance(atom/movable/src_object, viewcheck = TRUE, allow_tk = TRUE)
|
||||
if(allow_tk && dna.check_mutation(TK) && tkMaxRangeCheck(src, src_object))
|
||||
if(allow_tk && dna.check_mutation(/datum/mutation/human/telekinesis) && tkMaxRangeCheck(src, src_object))
|
||||
return UI_INTERACTIVE
|
||||
return ..()
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
if(!(hit_mob.mobility_flags & MOBILITY_USE)) //NO UNABLE TO USE
|
||||
return BULLET_ACT_HIT
|
||||
var/datum/dna/dna = hit_mob.has_dna()
|
||||
if(dna?.check_mutation(HULK)) //NO HULK
|
||||
if(dna?.check_mutation(/datum/mutation/human/hulk)) //NO HULK
|
||||
return BULLET_ACT_HIT
|
||||
if(!isturf(hit_mob.loc)) //NO MOTHERFLIPPIN MECHS!
|
||||
return BULLET_ACT_HIT
|
||||
|
||||
@@ -480,7 +480,7 @@
|
||||
|
||||
// Species and body temperature
|
||||
var/datum/species/targetspecies = humantarget.dna.species
|
||||
var/mutant = humantarget.dna.check_mutation(HULK) \
|
||||
var/mutant = humantarget.dna.check_mutation(/datum/mutation/human/hulk) \
|
||||
|| targetspecies.mutantlungs != initial(targetspecies.mutantlungs) \
|
||||
|| targetspecies.mutantbrain != initial(targetspecies.mutantbrain) \
|
||||
|| targetspecies.mutantheart != initial(targetspecies.mutantheart) \
|
||||
|
||||
Reference in New Issue
Block a user