From 862acf2f06434ca6b6609da4eb4dbf4dc0a73bec Mon Sep 17 00:00:00 2001 From: Seris02 Date: Sat, 28 Dec 2019 21:33:15 +0800 Subject: [PATCH 01/27] ports hyper's genetics --- code/__DEFINES/DNA.dm | 85 ++- code/__DEFINES/status_effects.dm | 1 + code/__DEFINES/traits.dm | 2 + code/__HELPERS/dna.dm | 12 + code/_globalvars/genetics.dm | 7 +- code/controllers/subsystem/atoms.dm | 23 +- code/datums/datacore.dm | 1 - .../diseases/advance/symptoms/genetics.dm | 6 +- code/datums/dna.dm | 296 +++++++-- code/datums/mutations.dm | 136 ++-- code/datums/mutations/actions.dm | 169 +++++ code/datums/mutations/antenna.dm | 107 +++ code/datums/mutations/body.dm | 135 +++- code/datums/mutations/chameleon.dm | 5 +- code/datums/mutations/cold_resistance.dm | 31 +- code/datums/mutations/combined.dm | 24 + code/datums/mutations/hulk.dm | 15 +- code/datums/mutations/radioactive.dm | 19 + code/datums/mutations/sight.dm | 41 +- code/datums/mutations/speech.dm | 21 +- code/datums/mutations/telekinesis.dm | 14 +- code/datums/status_effects/debuffs.dm | 23 + code/game/machinery/cloning.dm | 8 +- code/game/machinery/computer/cloning.dm | 2 +- code/game/machinery/computer/dna_console.dm | 620 ++++++++++++++---- code/game/machinery/exp_cloner.dm | 26 +- .../game/mecha/equipment/tools/other_tools.dm | 4 +- code/game/objects/items/chromosome.dm | 92 +++ .../circuitboards/machine_circuitboards.dm | 2 +- code/game/objects/items/devices/scanners.dm | 64 +- code/game/objects/items/dna_injector.dm | 244 ++++--- .../changeling/powers/chameleon_skin.dm | 11 +- .../antagonists/wishgranter/wishgranter.dm | 2 +- .../awaymissions/mission_code/wildwest.dm | 2 +- code/modules/client/asset_cache.dm | 7 + code/modules/events/disease_outbreak.dm | 2 +- code/modules/jobs/job_types/geneticist.dm | 1 + .../mining/lavaland/necropolis_chests.dm | 54 +- code/modules/mob/living/carbon/carbon.dm | 8 +- .../mob/living/carbon/human/species.dm | 11 +- .../human/species_types/lizardpeople.dm | 1 + .../carbon/human/species_types/podpeople.dm | 4 +- code/modules/mob/living/carbon/life.dm | 7 +- code/modules/mob/living/carbon/monkey/life.dm | 2 +- code/modules/mob/transform_procs.dm | 10 +- .../chemistry/reagents/medicine_reagents.dm | 2 +- .../chemistry/reagents/toxin_reagents.dm | 4 +- .../research/designs/medical_designs.dm | 10 + code/modules/research/techweb/_techweb.dm | 1 + code/modules/research/techweb/all_nodes.dm | 2 +- .../spells/spell_types/touch_attacks.dm | 6 +- .../surgery/bodyparts/dismemberment.dm | 2 +- html/browser/scannernew.css | 21 + html/dna_discovered.gif | Bin 0 -> 48972 bytes html/dna_extra.gif | Bin 0 -> 48105 bytes html/dna_undiscovered.gif | Bin 0 -> 48198 bytes icons/effects/genetics.dmi | Bin 20768 -> 22667 bytes icons/mob/actions/actions_genetic.dmi | Bin 0 -> 413 bytes icons/mob/actions/actions_spells.dmi | Bin 22665 -> 25476 bytes icons/obj/chromosomes.dmi | Bin 0 -> 1090 bytes icons/obj/device.dmi | Bin 46156 -> 48627 bytes .../code/game/machinery/wishgranter.dm | 2 +- tgstation.dme | 7 + 63 files changed, 1931 insertions(+), 483 deletions(-) create mode 100644 code/__HELPERS/dna.dm create mode 100644 code/datums/mutations/actions.dm create mode 100644 code/datums/mutations/antenna.dm create mode 100644 code/datums/mutations/combined.dm create mode 100644 code/datums/mutations/radioactive.dm create mode 100644 code/game/objects/items/chromosome.dm create mode 100644 html/dna_discovered.gif create mode 100644 html/dna_extra.gif create mode 100644 html/dna_undiscovered.gif create mode 100644 icons/mob/actions/actions_genetic.dmi create mode 100644 icons/obj/chromosomes.dmi diff --git a/code/__DEFINES/DNA.dm b/code/__DEFINES/DNA.dm index 4052dce40d..e931f87b8d 100644 --- a/code/__DEFINES/DNA.dm +++ b/code/__DEFINES/DNA.dm @@ -2,32 +2,45 @@ #define CHECK_DNA_AND_SPECIES(C) if((!(C.dna)) || (!(C.dna.species))) return -//Defines copying names of mutations in all cases, make sure to change this if you change mutation's name -#define HULK "Hulk" -#define XRAY "X Ray Vision" -#define COLDRES "Cold Resistance" -#define TK "Telekinesis" -#define NERVOUS "Nervousness" -#define EPILEPSY "Epilepsy" -#define MUTATE "Unstable DNA" -#define COUGH "Cough" -#define DWARFISM "Dwarfism" -#define CLOWNMUT "Clumsiness" -#define TOURETTES "Tourettes Syndrome" -#define DEAFMUT "Deafness" -#define BLINDMUT "Blindness" -#define RACEMUT "Monkified" -#define BADSIGHT "Near Sightness" -#define LASEREYES "Laser Eyes" -#define CHAMELEON "Chameleon" -#define WACKY "Wacky" -#define MUT_MUTE "Mute" -#define SMILE "Smile" -#define STONER "Stoner" -#define UNINTELLIGIBLE "Unintelligible" -#define SWEDISH "Swedish" -#define CHAV "Chav" -#define ELVIS "Elvis" +//Defines copying names of mutations in all cases, make sure to change this if you change mutation's type +#define HULK /datum/mutation/human/hulk +#define XRAY /datum/mutation/human/thermal/x_ray +#define SPACEMUT /datum/mutation/human/space_adaptation +#define TK /datum/mutation/human/telekinesis +#define NERVOUS /datum/mutation/human/nervousness +#define EPILEPSY /datum/mutation/human/epilepsy +#define MUTATE /datum/mutation/human/bad_dna +#define COUGH /datum/mutation/human/cough +#define DWARFISM /datum/mutation/human/dwarfism +#define CLOWNMUT /datum/mutation/human/clumsy +#define TOURETTES /datum/mutation/human/tourettes +#define DEAFMUT /datum/mutation/human/deaf +#define BLINDMUT /datum/mutation/human/blind +#define RACEMUT /datum/mutation/human/race +#define BADSIGHT /datum/mutation/human/nearsight +#define LASEREYES /datum/mutation/human/laser_eyes +#define CHAMELEON /datum/mutation/human/chameleon +#define WACKY /datum/mutation/human/wacky +#define MUT_MUTE /datum/mutation/human/mute +#define SMILE /datum/mutation/human/smile +#define STONER /datum/mutation/human/stoner +#define UNINTELLIGIBLE /datum/mutation/human/unintelligible +#define SWEDISH /datum/mutation/human/swedish +#define CHAV /datum/mutation/human/chav +#define ELVIS /datum/mutation/human/elvis +#define RADIOACTIVE /datum/mutation/human/radioactive +#define GLOWY /datum/mutation/human/glow +#define TELEPATHY /datum/mutation/human/telepathy +#define FIREBREATH /datum/mutation/human/firebreath +#define VOID /datum/mutation/human/void +#define STRONG /datum/mutation/human/strong +#define FIRESWEAT /datum/mutation/human/fire +#define THERMAL /datum/mutation/human/thermal +#define INSULATED /datum/mutation/human/insulated +#define SHOCKTOUCH /datum/mutation/human/shock +#define ANTENNA /datum/mutation/human/antenna +#define PARANOIA /datum/mutation/human/paranoia +#define MINDREAD /datum/mutation/human/mindreader #define UI_CHANGED "ui changed" #define UE_CHANGED "ue changed" @@ -39,10 +52,12 @@ //Types of usual mutations #define POSITIVE 1 #define NEGATIVE 2 -#define MINOR_NEGATIVE 3 +#define MINOR_NEGATIVE 4 -//Mutations that cant be taken from genetics and are not in SE -#define NON_SCANNABLE -1 +//Mutation classes. Normal being on them, extra being additional mutations with instability and other being stuff you dont want people to fuck with like wizard mutate +#define MUT_NORMAL 1 +#define MUT_EXTRA 2 +#define MUT_OTHER 3 //DNA - Because fuck you and your magic numbers being all over the codebase. #define DNA_BLOCK_SIZE 3 @@ -63,7 +78,8 @@ #define DNA_MUTANTMARKING_BLOCK 13 #define DNA_TAUR_BLOCK 14 -#define DNA_STRUC_ENZYMES_BLOCKS 18 +#define DNA_SEQUENCE_LENGTH 4 +#define DNA_MUTATION_BLOCKS 8 #define DNA_UNIQUE_ENZYMES_LEN 32 //Transformation proc stuff @@ -140,4 +156,11 @@ ////organ defines #define STANDARD_ORGAN_THRESHOLD 100 #define STANDARD_ORGAN_HEALING 0.001 -#define STANDARD_ORGAN_DECAY 0.00222 //designed to fail organs when left to decay for ~15 minutes \ No newline at end of file +#define STANDARD_ORGAN_DECAY 0.00222 //designed to fail organs when left to decay for ~15 minutes + + + +//used for the can_chromosome var on mutations +#define CHROMOSOME_NEVER 0 +#define CHROMOSOME_NONE 1 +#define CHROMOSOME_USED 2 \ No newline at end of file diff --git a/code/__DEFINES/status_effects.dm b/code/__DEFINES/status_effects.dm index 6d52f4640c..c107bc32df 100644 --- a/code/__DEFINES/status_effects.dm +++ b/code/__DEFINES/status_effects.dm @@ -106,3 +106,4 @@ #define STATUS_EFFECT_RAINBOWPROTECTION /datum/status_effect/rainbow_protection //Invulnerable and pacifistic #define STATUS_EFFECT_SLIMESKIN /datum/status_effect/slimeskin //Increased armor +#define STATUS_EFFECT_DNA_MELT /datum/status_effect/dna_melt //usually does something horrible to you when you hit 100 genetic instability diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index 439b3d1493..78cc7def60 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -172,6 +172,8 @@ #define TRAIT_ASSBLASTUSA "assblastusa" #define TRAIT_CULT_EYES "cult_eyes" #define TRAIT_FREESPRINT "free_sprinting" +#define TRAIT_XRAY_VISION "xray_vision" +#define TRAIT_THERMAL_VISION "thermal_vision" // common trait sources diff --git a/code/__HELPERS/dna.dm b/code/__HELPERS/dna.dm new file mode 100644 index 0000000000..bb0c89d1f3 --- /dev/null +++ b/code/__HELPERS/dna.dm @@ -0,0 +1,12 @@ +////////////////////////////////////////////////////////// +//A bunch of helpers to make genetics less of a headache// +////////////////////////////////////////////////////////// + +#define GET_INITIALIZED_MUTATION(A) GLOB.all_mutations[A] +#define GET_GENE_STRING(A, B) (B.mutation_index[A]) +#define GET_SEQUENCE(A) (GLOB.full_sequences[A]) + +#define GET_MUTATION_STABILIZER(A) ((A.stabilizer_coeff < 0) ? 1 : A.stabilizer_coeff) +#define GET_MUTATION_SYNCHRONIZER(A) ((A.synchronizer_coeff < 0) ? 1 : A.synchronizer_coeff) +#define GET_MUTATION_POWER(A) ((A.power_coeff < 0) ? 1 : A.power_coeff) +#define GET_MUTATION_ENERGY(A) ((A.energy_coeff < 0) ? 1 : A.energy_coeff) \ No newline at end of file diff --git a/code/_globalvars/genetics.dm b/code/_globalvars/genetics.dm index a0557e8e1b..8b567313d8 100644 --- a/code/_globalvars/genetics.dm +++ b/code/_globalvars/genetics.dm @@ -21,8 +21,11 @@ GLOBAL_LIST(op_se_blocks) GLOBAL_VAR(NULLED_SE) GLOBAL_VAR(NULLED_UI) -GLOBAL_LIST_EMPTY(global_mutations) // list of hidden mutation things +GLOBAL_LIST_EMPTY(all_mutations) +GLOBAL_LIST_EMPTY(full_sequences) GLOBAL_LIST_EMPTY(bad_mutations) GLOBAL_LIST_EMPTY(good_mutations) -GLOBAL_LIST_EMPTY(not_good_mutations) \ No newline at end of file +GLOBAL_LIST_EMPTY(not_good_mutations) + +GLOBAL_LIST_EMPTY(mutation_recipes) \ No newline at end of file diff --git a/code/controllers/subsystem/atoms.dm b/code/controllers/subsystem/atoms.dm index ebd8d3801f..f4fc0be458 100644 --- a/code/controllers/subsystem/atoms.dm +++ b/code/controllers/subsystem/atoms.dm @@ -16,7 +16,7 @@ SUBSYSTEM_DEF(atoms) /datum/controller/subsystem/atoms/Initialize(timeofday) GLOB.fire_overlay.appearance_flags = RESET_COLOR - setupGenetics() //to set the mutations' place in structural enzymes, so monkey.initialize() knows where to put the monkey mutation. + setupGenetics() //to set the mutations' sequence. initialized = INITIALIZATION_INNEW_MAPLOAD InitializeAtoms() return ..() @@ -108,16 +108,19 @@ SUBSYSTEM_DEF(atoms) BadInitializeCalls = SSatoms.BadInitializeCalls /datum/controller/subsystem/atoms/proc/setupGenetics() - var/list/avnums = new /list(DNA_STRUC_ENZYMES_BLOCKS) - for(var/i=1, i<=DNA_STRUC_ENZYMES_BLOCKS, i++) - avnums[i] = i - CHECK_TICK - - for(var/A in subtypesof(/datum/mutation/human)) - var/datum/mutation/human/B = new A() - if(B.dna_block == NON_SCANNABLE) + var/list/mutations = subtypesof(/datum/mutation/human) + shuffle_inplace(mutations) + for(var/A in subtypesof(/datum/generecipe)) + var/datum/generecipe/GR = A + GLOB.mutation_recipes[initial(GR.required)] = initial(GR.result) + for(var/i in 1 to LAZYLEN(mutations)) + var/path = mutations[i] //byond gets pissy when we do it in one line + var/datum/mutation/human/B = new path () + B.alias = "Mutation #[i]" + GLOB.all_mutations[B.type] = B + GLOB.full_sequences[B.type] = generate_gene_sequence(B.blocks) + if(B.locked) continue - B.dna_block = pick_n_take(avnums) if(B.quality == POSITIVE) GLOB.good_mutations |= B else if(B.quality == NEGATIVE) diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm index cf33fa3633..d0c71701ef 100644 --- a/code/datums/datacore.dm +++ b/code/datums/datacore.dm @@ -277,7 +277,6 @@ L.fields["sex"] = H.gender L.fields["blood_type"] = H.dna.blood_type L.fields["b_dna"] = H.dna.unique_enzymes - L.fields["enzymes"] = H.dna.struc_enzymes L.fields["identity"] = H.dna.uni_identity L.fields["species"] = H.dna.species.type L.fields["features"] = H.dna.features diff --git a/code/datums/diseases/advance/symptoms/genetics.dm b/code/datums/diseases/advance/symptoms/genetics.dm index c01fccee13..527fb522cd 100644 --- a/code/datums/diseases/advance/symptoms/genetics.dm +++ b/code/datums/diseases/advance/symptoms/genetics.dm @@ -58,12 +58,12 @@ Bonus symptom_delay_max = 60 if(A.properties["resistance"] >= 8) //mutate twice power = 2 - possible_mutations = (GLOB.bad_mutations | GLOB.not_good_mutations) - GLOB.mutations_list[RACEMUT] + possible_mutations = (GLOB.bad_mutations | GLOB.not_good_mutations) - GLOB.all_mutations[RACEMUT] var/mob/living/carbon/M = A.affected_mob if(M) if(!M.has_dna()) return - archived_dna = M.dna.struc_enzymes + archived_dna = M.dna.mutation_index // Give them back their old DNA when cured. /datum/symptom/genetic_mutation/End(datum/disease/advance/A) @@ -74,5 +74,5 @@ Bonus if(M && archived_dna) if(!M.has_dna()) return - M.dna.struc_enzymes = archived_dna + M.dna.mutation_index = archived_dna M.domutcheck() diff --git a/code/datums/dna.dm b/code/datums/dna.dm index ccc5d97cf8..b585cc0e15 100644 --- a/code/datums/dna.dm +++ b/code/datums/dna.dm @@ -2,7 +2,6 @@ /////////////////////////// DNA DATUM /datum/dna var/unique_enzymes - var/struc_enzymes var/uni_identity var/blood_type var/datum/species/species = new /datum/species/human //The type of mutant race the player is if applicable (i.e. potato-man) @@ -11,10 +10,13 @@ var/nameless = FALSE var/custom_species //siiiiigh I guess this is important var/list/mutations = list() //All mutations are from now on here - var/list/temporary_mutations = list() //Timers for temporary mutations + var/list/temporary_mutations = list() //Temporary changes to the UE var/list/previous = list() //For temporary name/ui/ue/blood_type modifications var/mob/living/holder var/delete_species = TRUE //Set to FALSE when a body is scanned by a cloner to fix #38875 + var/mutation_index[DNA_MUTATION_BLOCKS] //List of which mutations this carbon has and its assigned block + var/stability = 100 + var/scrambled = FALSE //Did we take something like mutagen? In that case we cant get our genes scanned to instantly cheese all the powers. /datum/dna/New(mob/living/new_holder) if(istype(new_holder)) @@ -42,8 +44,8 @@ destination.dna.unique_enzymes = unique_enzymes destination.dna.uni_identity = uni_identity destination.dna.blood_type = blood_type - destination.dna.features = features.Copy() destination.set_species(species.type, icon_update=0) + destination.dna.features = features.Copy() destination.dna.real_name = real_name destination.dna.nameless = nameless destination.dna.custom_species = custom_species @@ -53,11 +55,11 @@ H.give_genitals(TRUE)//This gives the body the genitals of this DNA. Used for any transformations based on DNA destination.flavor_text = destination.dna.features["flavor_text"] //Update the flavor_text to use new dna text if(transfer_SE) - destination.dna.struc_enzymes = struc_enzymes + destination.dna.mutation_index = mutation_index /datum/dna/proc/copy_dna(datum/dna/new_dna) new_dna.unique_enzymes = unique_enzymes - new_dna.struc_enzymes = struc_enzymes + new_dna.mutation_index = mutation_index new_dna.uni_identity = uni_identity new_dna.blood_type = blood_type new_dna.features = features.Copy() @@ -67,26 +69,32 @@ new_dna.custom_species = custom_species new_dna.mutations = mutations.Copy() -/datum/dna/proc/add_mutation(mutation_name) - var/datum/mutation/human/HM = GLOB.mutations_list[mutation_name] - HM.on_acquiring(holder) +//See mutation.dm for what 'class' does. 'time' is time till it removes itself in decimals. 0 for no timer +/datum/dna/proc/add_mutation(mutation, class = MUT_OTHER, time) + var/mutation_type = mutation + if(istype(mutation, /datum/mutation/human)) + var/datum/mutation/human/HM = mutation + mutation_type = HM.type + if(get_mutation(mutation_type)) + return + return force_give(new mutation_type (class, time, copymut = mutation)) -/datum/dna/proc/remove_mutation(mutation_name) - var/datum/mutation/human/HM = GLOB.mutations_list[mutation_name] - HM.on_losing(holder) +/datum/dna/proc/remove_mutation(mutation_type) + return force_lose(get_mutation(mutation_type)) -/datum/dna/proc/check_mutation(mutation_name) - var/datum/mutation/human/HM = GLOB.mutations_list[mutation_name] - return mutations.Find(HM) +/datum/dna/proc/check_mutation(mutation_type) + return get_mutation(mutation_type) -/datum/dna/proc/remove_all_mutations() - remove_mutation_group(mutations) +/datum/dna/proc/remove_all_mutations(list/classes = list(MUT_NORMAL, MUT_EXTRA, MUT_OTHER), mutadone = FALSE) + remove_mutation_group(mutations, classes, mutadone) + scrambled = FALSE -/datum/dna/proc/remove_mutation_group(list/group) +/datum/dna/proc/remove_mutation_group(list/group, list/classes = list(MUT_NORMAL, MUT_EXTRA, MUT_OTHER), mutadone = FALSE) if(!group) return for(var/datum/mutation/human/HM in group) - HM.force_lose(holder) + if((HM.class in classes) && !(HM.mutadone_proof && mutadone)) + force_lose(HM) /datum/dna/proc/generate_uni_identity() . = "" @@ -128,19 +136,49 @@ . += random_string(DNA_BLOCK_SIZE,GLOB.hex_characters) return . -/datum/dna/proc/generate_struc_enzymes() - var/list/sorting = new /list(DNA_STRUC_ENZYMES_BLOCKS) - var/result = "" - for(var/datum/mutation/human/A in GLOB.good_mutations + GLOB.bad_mutations + GLOB.not_good_mutations) - if(A.name == RACEMUT && ismonkey(holder)) - sorting[A.dna_block] = num2hex(A.lowest_value + rand(0, 256 * 6), DNA_BLOCK_SIZE) - mutations |= A - else - sorting[A.dna_block] = random_string(DNA_BLOCK_SIZE, list("0","1","2","3","4","5","6")) +/datum/dna/proc/generate_dna_blocks() + var/bonus + if(species && species.inert_mutation) + bonus = GET_INITIALIZED_MUTATION(species.inert_mutation) + var/list/mutations_temp = GLOB.good_mutations + GLOB.bad_mutations + GLOB.not_good_mutations + bonus + if(!LAZYLEN(mutations_temp)) + return + mutation_index.Cut() + shuffle_inplace(mutations_temp) + if(ismonkey(holder)) + mutations |= new RACEMUT(MUT_NORMAL) + mutation_index[RACEMUT] = GET_SEQUENCE(RACEMUT) + else + mutation_index[RACEMUT] = create_sequence(RACEMUT, FALSE) + 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) + shuffle_inplace(mutation_index) - for(var/B in sorting) - result += B - return result +//Used to generate original gene sequences for every mutation +/proc/generate_gene_sequence(length=4) + var/static/list/active_sequences = list("AT","TA","GC","CG") + var/sequence + for(var/i in 1 to length*DNA_SEQUENCE_LENGTH) + sequence += pick(active_sequences) + return sequence + +//Used to create a chipped gene sequence +/proc/create_sequence(mutation, active, difficulty) + if(!difficulty) + var/datum/mutation/human/A = GET_INITIALIZED_MUTATION(mutation) //leaves the possibility to change difficulty mid-round + if(!A) + return + difficulty = A.difficulty + difficulty += rand(-2,4) + var/sequence = GET_SEQUENCE(mutation) + if(active) + return sequence + while(difficulty) + var/randnum = rand(1, length(sequence)) + sequence = copytext(sequence, 1, randnum) + "X" + copytext(sequence, randnum+1, length(sequence)+1) + difficulty-- + return sequence /datum/dna/proc/generate_unique_enzymes() . = "" @@ -185,12 +223,57 @@ if(DNA_TAUR_BLOCK) construct_block(GLOB.taur_list.Find(features["taur"]), GLOB.taur_list.len) +//Please use add_mutation or activate_mutation instead +/datum/dna/proc/force_give(datum/mutation/human/HM) + if(holder && HM) + if(HM.class == MUT_NORMAL) + set_se(1, HM) + . = HM.on_acquiring(holder) + if(.) + qdel(HM) + update_instability() + +//Use remove_mutation instead +/datum/dna/proc/force_lose(datum/mutation/human/HM) + if(holder && (HM in mutations)) + set_se(0, HM) + . = HM.on_losing(holder) + update_instability(FALSE) + return + /datum/dna/proc/is_same_as(datum/dna/D) - if(uni_identity == D.uni_identity && struc_enzymes == D.struc_enzymes && real_name == D.real_name && nameless == D.nameless && custom_species == D.custom_species) + if(uni_identity == D.uni_identity && mutation_index == D.mutation_index && real_name == D.real_name && nameless == D.nameless && custom_species == D.custom_species) if(species.type == D.species.type && features == D.features && blood_type == D.blood_type) return 1 return 0 +/datum/dna/proc/update_instability(alert=TRUE) + stability = 100 + for(var/datum/mutation/human/M in mutations) + if(M.class == MUT_EXTRA) + stability -= M.instability * GET_MUTATION_STABILIZER(M) + if(holder) + var/message + if(alert) + switch(stability) + if(70 to 90) + message = "You shiver." + if(60 to 69) + message = "You feel cold." + if(40 to 59) + message = "You feel sick." + if(20 to 39) + message = "It feels like your skin is moving." + if(1 to 19) + message = "You can feel your cells burning." + if(-INFINITY to 0) + message = "You can feel your DNA exploding, we need to do something fast!" + if(stability <= 0) + holder.apply_status_effect(STATUS_EFFECT_DNA_MELT) + if(message) + to_chat(holder, message) + + //used to update dna UI, UE, and dna.real_name. /datum/dna/proc/update_dna_identity() uni_identity = generate_uni_identity() @@ -201,7 +284,7 @@ blood_type = newblood_type unique_enzymes = generate_unique_enzymes() uni_identity = generate_uni_identity() - struc_enzymes = generate_struc_enzymes() + generate_dna_blocks() features = random_features() @@ -254,6 +337,7 @@ if(icon_update) update_body() update_hair() + update_body_parts() update_mutations_overlay()// no lizard with human hulk overlay please. @@ -264,7 +348,7 @@ return dna -/mob/living/carbon/human/proc/hardset_dna(ui, se, newreal_name, newblood_type, datum/species/mrace, newfeatures) +/mob/living/carbon/human/proc/hardset_dna(ui, list/mutation_index, newreal_name, newblood_type, datum/species/mrace, newfeatures) if(newfeatures) dna.features = newfeatures @@ -286,8 +370,8 @@ dna.uni_identity = ui updateappearance(icon_update=0) - if(se) - dna.struc_enzymes = se + if(LAZYLEN(mutation_index)) + dna.mutation_index = mutation_index.Copy() domutcheck() if(mrace || newfeatures || ui) @@ -330,19 +414,63 @@ /mob/proc/domutcheck() return -/mob/living/carbon/domutcheck(force_powers=0) //Set force_powers to 1 to bypass the power chance +/mob/living/carbon/domutcheck() if(!has_dna()) return - for(var/datum/mutation/human/A in GLOB.good_mutations | GLOB.bad_mutations | GLOB.not_good_mutations) - if(ismob(A.check_block(src, force_powers))) + for(var/mutation in dna.mutation_index) + if(ismob(dna.check_block(mutation))) return //we got monkeyized/humanized, this mob will be deleted, no need to continue. update_mutations_overlay() +/datum/dna/proc/check_block(mutation) + var/datum/mutation/human/HM = get_mutation(mutation) + if(check_block_string(mutation)) + if(!HM) + . = add_mutation(mutation, MUT_NORMAL) + return + return force_lose(HM) + +//Return the active mutation of a type if there is one +/datum/dna/proc/get_mutation(A) + for(var/datum/mutation/human/HM in mutations) + if(HM.type == A) + return HM + +/datum/dna/proc/check_block_string(mutation) + if((LAZYLEN(mutation_index) > DNA_MUTATION_BLOCKS) || !(mutation in mutation_index)) + return 0 + return is_gene_active(mutation) + +/datum/dna/proc/is_gene_active(mutation) + return (mutation_index[mutation] == GET_SEQUENCE(mutation)) + +/datum/dna/proc/set_se(on=TRUE, datum/mutation/human/HM) + if(!HM || !(HM.type in mutation_index) || (LAZYLEN(mutation_index) < DNA_MUTATION_BLOCKS)) + return + . = TRUE + if(on) + mutation_index[HM.type] = GET_SEQUENCE(HM.type) + else if(GET_SEQUENCE(HM.type) == mutation_index[HM.type]) + mutation_index[HM.type] = create_sequence(HM.type, FALSE, HM.difficulty) + +/datum/dna/proc/activate_mutation(mutation) //note that this returns a boolean and not a new mob + if(!mutation) + return FALSE + var/mutation_type = mutation + if(istype(mutation, /datum/mutation/human)) + var/datum/mutation/human/M = mutation + mutation_type = M.type + if(!mutation_in_sequence(mutation_type)) //cant activate what we dont have, use add_mutation + return FALSE + add_mutation(mutation, MUT_NORMAL) + return TRUE + /////////////////////////// DNA HELPER-PROCS ////////////////////////////// + /proc/getleftblocks(input,blocknumber,blocksize) if(blocknumber > 1) return copytext(input,1,((blocksize*blocknumber)-(blocksize-1))) @@ -359,29 +487,47 @@ return 0 return getleftblocks(istring, blocknumber, blocksize) + replacement + getrightblocks(istring, blocknumber, blocksize) +/datum/dna/proc/mutation_in_sequence(mutation) + if(!mutation) + return + if(istype(mutation, /datum/mutation/human)) + var/datum/mutation/human/HM = mutation + if(HM.type in mutation_index) + return TRUE + else if(mutation in mutation_index) + return TRUE + /mob/living/carbon/proc/randmut(list/candidates, difficulty = 2) if(!has_dna()) return - var/datum/mutation/human/num = pick(candidates) - . = num.force_give(src) + var/mutation = pick(candidates) + . = dna.add_mutation(mutation) -/mob/living/carbon/proc/randmutb() +/mob/living/carbon/proc/easy_randmut(quality = POSITIVE + NEGATIVE + MINOR_NEGATIVE, scrambled = TRUE, sequence = TRUE, exclude_monkey = TRUE) if(!has_dna()) return - var/datum/mutation/human/HM = pick((GLOB.bad_mutations | GLOB.not_good_mutations) - GLOB.mutations_list[RACEMUT]) - . = HM.force_give(src) + var/list/mutations = list() + if(quality & POSITIVE) + mutations += GLOB.good_mutations + if(quality & NEGATIVE) + mutations += GLOB.bad_mutations + if(quality & MINOR_NEGATIVE) + mutations += GLOB.not_good_mutations + var/list/possible = list() + for(var/datum/mutation/human/A in mutations) + if((!sequence || dna.mutation_in_sequence(A.type)) && !dna.get_mutation(A.type)) + possible += A.type + if(exclude_monkey) + possible.Remove(RACEMUT) + if(LAZYLEN(possible)) + var/mutation = pick(possible) + . = dna.activate_mutation(mutation) + if(scrambled) + var/datum/mutation/human/HM = dna.get_mutation(mutation) + if(HM) + HM.scrambled = TRUE + return TRUE -/mob/living/carbon/proc/randmutg() - if(!has_dna()) - return - var/datum/mutation/human/HM = pick(GLOB.good_mutations) - . = HM.force_give(src) - -/mob/living/carbon/proc/randmutvg() - if(!has_dna()) - return - var/datum/mutation/human/HM = pick((GLOB.good_mutations) - GLOB.mutations_list[HULK] - GLOB.mutations_list[DWARFISM]) - . = HM.force_give(src) /mob/living/carbon/proc/randmuti() if(!has_dna()) @@ -404,9 +550,9 @@ if(!M.has_dna()) return 0 if(se) - for(var/i=1, i<=DNA_STRUC_ENZYMES_BLOCKS, i++) + for(var/i=1, i<=DNA_MUTATION_BLOCKS, i++) if(prob(probability)) - M.dna.struc_enzymes = setblock(M.dna.struc_enzymes, i, random_string(DNA_BLOCK_SIZE, GLOB.hex_characters)) + M.dna.generate_dna_blocks() M.domutcheck() if(ui) for(var/i=1, i<=DNA_UNI_IDENTITY_BLOCKS, i++) @@ -433,3 +579,41 @@ return value /////////////////////////// DNA HELPER-PROCS + +/mob/living/carbon/human/proc/something_horrible() + if(!has_dna()) //shouldn't ever happen anyway so it's just in really weird cases + return + if(dna.stability > 0) + return + var/instability = -dna.stability + dna.remove_all_mutations() + dna.stability = 100 + if(prob(max(70-instability,0))) + switch(rand(0,3)) //not complete and utter death + if(0) + monkeyize() + if(1) + gain_trauma(/datum/brain_trauma/severe/paralysis) + if(2) + corgize() + if(3) + to_chat(src, "Oh, we actually feel quite alright!") + else + switch(rand(0,3)) + if(0) + gib() + if(1) + dust() + + if(2) + death() + petrify(INFINITY) + if(3) + if(prob(90)) + var/obj/item/bodypart/BP = get_bodypart(pick(BODY_ZONE_CHEST,BODY_ZONE_HEAD)) + if(BP) + BP.dismember() + else + gib() + else + set_species(/datum/species/dullahan) diff --git a/code/datums/mutations.dm b/code/datums/mutations.dm index f689ff903e..9234e124c5 100644 --- a/code/datums/mutations.dm +++ b/code/datums/mutations.dm @@ -1,58 +1,55 @@ -GLOBAL_LIST_EMPTY(mutations_list) - /datum/mutation var/name -/datum/mutation/New() - GLOB.mutations_list[name] = src - /datum/mutation/human - var/dna_block + name = "mutation" + var/desc = "A mutation." + var/locked var/quality var/get_chance = 100 var/lowest_value = 256 * 8 var/text_gain_indication = "" var/text_lose_indication = "" var/list/mutable_appearance/visual_indicators = list() + var/obj/effect/proc_holder/spell/power var/layer_used = MUTATIONS_LAYER //which mutation layer to use var/list/species_allowed = list() //to restrict mutation to only certain species var/health_req //minimum health required to acquire the mutation var/limb_req //required limbs to acquire this mutation var/time_coeff = 1 //coefficient for timed mutations + var/datum/dna/dna + var/mob/living/carbon/human/owner + var/instability = 0 //instability the holder gets when the mutation is not native + var/blocks = 4 //Amount of those big blocks with gene sequences + var/difficulty = 8 //Amount of missing sequences. Sometimes it removes an entire pair for 2 points + var/timed = FALSE //Boolean to easily check if we're going to self destruct + var/alias //'Mutation #49', decided every round to get some form of distinction between undiscovered mutations + var/scrambled = FALSE //Wheter we can read it if it's active. To avoid cheesing with mutagen + var/class //Decides player accesibility, sorta + //MUT_NORMAL - A mutation that can be activated and deactived by completing a sequence + //MUT_EXTRA - A mutation that is in the mutations tab, and can be given and taken away through though the DNA console. Has a 0 before it's name in the mutation section of the dna console + //MUT_OTHER Cannot be interacted with by players through normal means. I.E. wizards mutate -/datum/mutation/human/proc/force_give(mob/living/carbon/human/owner) - set_block(owner) - . = on_acquiring(owner) + var/can_chromosome = CHROMOSOME_NONE //can we take chromosomes? 0: CHROMOSOME_NEVER never, 1:CHROMOSOME_NONE yeah, 2: CHROMOSOME_USED no, already have one + var/chromosome_name //purely cosmetic + var/modified = FALSE //ugly but we really don't want chromosomes and on_acquiring to overlap and apply double the powers + var/mutadone_proof = FALSE -/datum/mutation/human/proc/force_lose(mob/living/carbon/human/owner) - set_block(owner, 0) - . = on_losing(owner) + //Chromosome stuff - set to -1 to prevent people from changing it. Example: It'd be a waste to decrease cooldown on mutism + var/stabilizer_coeff = 1 //genetic stability coeff + var/synchronizer_coeff = -1 //makes the mutation hurt the user less + var/power_coeff = -1 //boosts mutation strength + var/energy_coeff = -1 //lowers mutation cooldown -/datum/mutation/human/proc/set_se(se_string, on = 1) - if(!se_string || length(se_string) < DNA_STRUC_ENZYMES_BLOCKS * DNA_BLOCK_SIZE) - return - var/before = copytext(se_string, 1, ((dna_block - 1) * DNA_BLOCK_SIZE) + 1) - var/injection = num2hex(on ? rand(lowest_value, (256 * 16) - 1) : rand(0, lowest_value - 1), DNA_BLOCK_SIZE) - var/after = copytext(se_string, (dna_block * DNA_BLOCK_SIZE) + 1, 0) - return before + injection + after - -/datum/mutation/human/proc/set_block(mob/living/carbon/owner, on = 1) - if(owner && owner.has_dna()) - owner.dna.struc_enzymes = set_se(owner.dna.struc_enzymes, on) - -/datum/mutation/human/proc/check_block_string(se_string) - if(!se_string || length(se_string) < DNA_STRUC_ENZYMES_BLOCKS * DNA_BLOCK_SIZE) - return 0 - if(hex2num(getblock(se_string, dna_block)) >= lowest_value) - return 1 - -/datum/mutation/human/proc/check_block(mob/living/carbon/human/owner, force_powers=0) - if(check_block_string(owner.dna.struc_enzymes)) - if(prob(get_chance)||force_powers) - . = on_acquiring(owner) - else - . = on_losing(owner) +/datum/mutation/human/New(class_ = MUT_OTHER, timer, datum/mutation/human/copymut) + . = ..() + class = class_ + if(timer) + addtimer(CALLBACK(src, .proc/remove), timer) + timed = TRUE + if(copymut && istype(copymut, /datum/mutation/human)) + copy_mutation(copymut) /datum/mutation/human/proc/on_acquiring(mob/living/carbon/human/owner) if(!owner || !istype(owner) || owner.stat == DEAD || (src in owner.dna.mutations)) @@ -63,7 +60,8 @@ GLOBAL_LIST_EMPTY(mutations_list) return TRUE if(limb_req && !owner.get_bodypart(limb_req)) return TRUE - owner.dna.mutations.Add(src) + dna = owner.dna + dna.mutations += src if(text_gain_indication) to_chat(owner, text_gain_indication) if(visual_indicators.len) @@ -75,6 +73,10 @@ GLOBAL_LIST_EMPTY(mutations_list) owner.overlays_standing[layer_used] = mut_overlay owner.apply_overlay(layer_used) + grant_spell(owner) + if(!modified) + addtimer(CALLBACK(src, .proc/modify, 5)) //gonna want children calling ..() to run first + /datum/mutation/human/proc/get_visual_indicator(mob/living/carbon/human/owner) return @@ -102,26 +104,80 @@ GLOBAL_LIST_EMPTY(mutations_list) mut_overlay.Remove(get_visual_indicator(owner)) owner.overlays_standing[layer_used] = mut_overlay owner.apply_overlay(layer_used) + if(power) + owner.RemoveSpell(power) + qdel(src) return 0 return 1 +/datum/mutation/human/proc/say_mod(message) + if(message) + return message + +/datum/mutation/human/proc/get_spans() + return list() + /mob/living/carbon/proc/update_mutations_overlay() return /mob/living/carbon/human/update_mutations_overlay() for(var/datum/mutation/human/CM in dna.mutations) if(CM.species_allowed.len && !CM.species_allowed.Find(dna.species.id)) - CM.force_lose(src) //shouldn't have that mutation at all + dna.force_lose(CM) //shouldn't have that mutation at all continue if(CM.visual_indicators.len) var/list/mut_overlay = list() if(overlays_standing[CM.layer_used]) mut_overlay = overlays_standing[CM.layer_used] - var/mutable_appearance/V = CM.get_visual_indicator(src) + var/mutable_appearance/V = CM.get_visual_indicator() if(!mut_overlay.Find(V)) //either we lack the visual indicator or we have the wrong one remove_overlay(CM.layer_used) - for(var/mutable_appearance/MA in CM.visual_indicators) + for(var/mutable_appearance/MA in CM.visual_indicators[CM.type]) mut_overlay.Remove(MA) mut_overlay |= V overlays_standing[CM.layer_used] = mut_overlay apply_overlay(CM.layer_used) + + +/datum/mutation/human/proc/modify() //called when a genome is applied so we can properly update some stats without having to remove and reapply the mutation from someone + if(modified || !power || !owner) + return + power.charge_max *= GET_MUTATION_ENERGY(src) + power.charge_counter *= GET_MUTATION_ENERGY(src) + modified = TRUE + +/datum/mutation/human/proc/copy_mutation(datum/mutation/human/HM) + if(!HM) + return + chromosome_name = HM.chromosome_name + stabilizer_coeff = HM.stabilizer_coeff + synchronizer_coeff = HM.synchronizer_coeff + power_coeff = HM.power_coeff + energy_coeff = HM.energy_coeff + mutadone_proof = HM.mutadone_proof + can_chromosome = HM.can_chromosome + +/datum/mutation/human/proc/remove_chromosome() + stabilizer_coeff = initial(stabilizer_coeff) + synchronizer_coeff = initial(synchronizer_coeff) + power_coeff = initial(power_coeff) + energy_coeff = initial(energy_coeff) + mutadone_proof = initial(mutadone_proof) + can_chromosome = initial(can_chromosome) + chromosome_name = null + +/datum/mutation/human/proc/remove() + if(dna) + dna.force_lose(src) + else + qdel(src) + +/datum/mutation/human/proc/grant_spell(mob/living/carbon/human/owner) + if(!ispath(power) || !owner) + return FALSE + + power = new power() + power.action_background_icon_state = "bg_tech_blue_on" + power.panel = "Genetic" + owner.AddSpell(power) + return TRUE \ No newline at end of file diff --git a/code/datums/mutations/actions.dm b/code/datums/mutations/actions.dm new file mode 100644 index 0000000000..44187cc964 --- /dev/null +++ b/code/datums/mutations/actions.dm @@ -0,0 +1,169 @@ +/datum/mutation/human/telepathy + name = "Telepathy" + desc = "A rare mutation that allows the user to telepathically communicate to others." + quality = POSITIVE + text_gain_indication = "You can hear your own voice echoing in your mind!" + text_lose_indication = "You don't hear your mind echo anymore." + difficulty = 12 + power = /obj/effect/proc_holder/spell/targeted/telepathy/genetic + instability = 10 + energy_coeff = 1 + +/datum/mutation/human/telepathy/on_acquiring(mob/living/carbon/human/owner) + . = ..() + +/datum/mutation/human/telepathy/on_losing(mob/living/carbon/human/owner) + . = ..() + +/obj/effect/proc_holder/spell/targeted/telepathy/genetic + magic_check = FALSE + +/datum/mutation/human/firebreath + name = "Fire Breath" + desc = "An ancient mutation that gives lizards breath of fire." + quality = POSITIVE + difficulty = 12 + locked = TRUE + text_gain_indication = "Your throat is burning!" + text_lose_indication = "Your throat is cooling down." + power = /obj/effect/proc_holder/spell/aimed/firebreath + instability = 30 + energy_coeff = 1 + power_coeff = 1 + +/datum/mutation/human/firebreath/modify() + if(power) + var/obj/effect/proc_holder/spell/aimed/firebreath/S = power + S.strength = GET_MUTATION_POWER(src) + +/obj/effect/proc_holder/spell/aimed/firebreath + name = "Fire Breath" + desc = "You can breathe fire at a target." + school = "evocation" + charge_max = 1200 + clothes_req = FALSE + range = 20 + projectile_type = /obj/item/projectile/magic/aoe/fireball/firebreath + base_icon_state = "fireball" + action_icon_state = "fireball0" + sound = 'sound/magic/demon_dies.ogg' //horrifying lizard noises + active_msg = "You built up heat in your mouth." + deactive_msg = "You swallow the flame." + var/strength = 1 + +/obj/effect/proc_holder/spell/aimed/firebreath/before_cast(list/targets) + . = ..() + if(iscarbon(usr)) + var/mob/living/carbon/C = usr + if(C.is_mouth_covered()) + C.adjust_fire_stacks(2) + C.IgniteMob() + to_chat(C,"Something in front of your mouth caught fire!") + return FALSE + +/obj/effect/proc_holder/spell/aimed/firebreath/ready_projectile(obj/item/projectile/P, atom/target, mob/user, iteration) + if(!istype(P, /obj/item/projectile/magic/aoe/fireball)) + return + var/obj/item/projectile/magic/aoe/fireball/F = P + switch(strength) + if(1 to 3) + F.exp_light = strength-1 + if(4 to INFINITY) + F.exp_heavy = strength-3 + F.exp_fire += strength + + +/obj/item/projectile/magic/aoe/fireball/firebreath + name = "fire breath" + exp_heavy = 0 + exp_light = 0 + exp_flash = 0 + exp_fire= 4 + +/datum/mutation/human/void + name = "Void Magnet" + desc = "A rare genome that attracts odd forces not usually observed." + quality = MINOR_NEGATIVE //upsides and downsides + text_gain_indication = "You feel a heavy, dull force just beyond the walls watching you." + instability = 30 + power = /obj/effect/proc_holder/spell/self/void + energy_coeff = 1 + synchronizer_coeff = 1 + +/datum/mutation/human/void/on_life(mob/living/carbon/human/owner) + if(!isturf(owner.loc)) + return + if(prob((0.5+((100-dna.stability)/20))) * GET_MUTATION_SYNCHRONIZER(src)) //very rare, but enough to annoy you hopefully. +0.5 probability for every 10 points lost in stability + new /obj/effect/immortality_talisman/void(get_turf(owner), owner) + +/obj/effect/proc_holder/spell/self/void + name = "Convoke Void" //magic the gathering joke here + desc = "A rare genome that attracts odd forces not usually observed. May sometimes pull you in randomly." + school = "evocation" + clothes_req = FALSE + charge_max = 600 + invocation = "DOOOOOOOOOOOOOOOOOOOOM!!!" + invocation_type = "shout" + action_icon_state = "void_magnet" + var/in_use = FALSE //so it doesnt cast while you are already deep innit + +/obj/effect/proc_holder/spell/self/void/can_cast(mob/user = usr) + . = ..() + if(!isturf(user.loc)) + return FALSE + +/obj/effect/proc_holder/spell/self/void/cast(mob/user = usr) + . = ..() + new /obj/effect/immortality_talisman/void(get_turf(user), user) + +/datum/mutation/human/shock + name = "Shock Touch" + desc = "The affected can channel excess electricity through their hands without shocking themselves, allowing them to shock others." + quality = POSITIVE + locked = TRUE + difficulty = 16 + text_gain_indication = "You feel power flow through your hands." + text_lose_indication = "The energy in your hands subsides." + power = /obj/effect/proc_holder/spell/targeted/touch/shock + instability = 30 + +/obj/effect/proc_holder/spell/targeted/touch/shock + name = "Shock Touch" + desc = "Channel electricity to your hand to shock people with." + drawmessage = "You channel electricity into your hand." + dropmessage = "You let the electricity from your hand dissipate." + hand_path = /obj/item/melee/touch_attack/shock + charge_max = 400 + clothes_req = FALSE + action_icon_state = "zap" + +/obj/item/melee/touch_attack/shock + name = "\improper shock touch" + desc = "This is kind of like when you rub your feet on a shag rug so you can zap your friends, only a lot less safe." + catchphrase = null + on_use_sound = 'sound/weapons/zapbang.ogg' + icon_state = "zapper" + item_state = "zapper" + +/obj/item/melee/touch_attack/shock/afterattack(atom/target, mob/living/carbon/user, proximity) + if(!proximity || !isliving(target)) + return + if(iscarbon(target)) + var/mob/living/carbon/C = target + if(C.electrocute_act(15, user, 1, stun = 0))//doesnt stun. never let this stun + C.dropItemToGround(C.get_active_held_item()) + C.dropItemToGround(C.get_inactive_held_item()) + C.confused += 10 + C.visible_message("[user] electrocutes [target]!","[user] electrocutes you!") + return ..() + else + user.visible_message("[user] fails to electrocute [target]!") + return ..() + else if(isliving(target)) + var/mob/living/L = target + L.electrocute_act(15, user, 1, stun = 0) + L.visible_message("[user] electrocutes [target]!","[user] electrocutes you!") + return ..() + else + to_chat(user,"The electricity doesn't seem to affect [target]...") + return ..() \ No newline at end of file diff --git a/code/datums/mutations/antenna.dm b/code/datums/mutations/antenna.dm new file mode 100644 index 0000000000..7e06a91726 --- /dev/null +++ b/code/datums/mutations/antenna.dm @@ -0,0 +1,107 @@ +/datum/mutation/human/antenna + name = "Antenna" + desc = "The affected person sprouts an antenna. This is known to allow them to access common radio channels passively." + quality = POSITIVE + text_gain_indication = "You feel an antenna sprout from your forehead." + text_lose_indication = "Your antenna shrinks back down." + instability = 5 + difficulty = 8 + var/obj/item/implant/radio/antenna/linked_radio + +/obj/item/implant/radio/antenna + name = "internal antenna organ" + desc = "The internal organ part of the antenna. Science has not yet given it a good name." + icon = 'icons/obj/radio.dmi'//maybe make a unique sprite later. not important + icon_state = "walkietalkie" + +/obj/item/implant/radio/antenna/Initialize(mapload) + ..() + radio.name = "internal antenna" + +/datum/mutation/human/antenna/on_acquiring(mob/living/carbon/human/owner) + if(..()) + return + linked_radio = new(owner) + linked_radio.implant(owner, null, TRUE, TRUE) + +/datum/mutation/human/antenna/on_losing(mob/living/carbon/human/owner) + if(..()) + return + if(linked_radio) + linked_radio.Destroy() + +/datum/mutation/human/antenna/New(class_ = MUT_OTHER, timer, datum/mutation/human/copymut) + ..() + if(!(type in visual_indicators)) + visual_indicators[type] = list(mutable_appearance('icons/effects/genetics.dmi', "antenna", -FRONT_MUTATIONS_LAYER+1))//-MUTATIONS_LAYER+1 + +/datum/mutation/human/antenna/get_visual_indicator(mob/living/carbon/human/owner) + return visual_indicators[type][1] + +/datum/mutation/human/mindreader + name = "Mind Reader" + desc = "The affected person can look into the recent memories of others." + quality = POSITIVE + text_gain_indication = "You hear distant voices at the corners of your mind." + text_lose_indication = "The distant voices fade." + power = /obj/effect/proc_holder/spell/targeted/mindread + instability = 40 + difficulty = 8 + locked = TRUE + +/obj/effect/proc_holder/spell/targeted/mindread + name = "Mindread" + desc = "Read the target's mind." + charge_max = 300 + range = 7 + clothes_req = FALSE + action_icon_state = "mindread" + +/obj/effect/proc_holder/spell/targeted/mindread/cast(list/targets, mob/living/carbon/human/user = usr) + for(var/mob/living/M in targets) + if(usr.anti_magic_check(FALSE, FALSE, TRUE, 0) || M.anti_magic_check(FALSE, FALSE, TRUE, 0)) + to_chat(usr, "As you reach out with your mind, you're suddenly stopped by a vision of a massive tinfoil wall that streches beyond visible range. It seems you've been foiled.") + return + if(M.stat == DEAD) + to_chat(user, "[M] is dead!") + return + if(M.mind) + to_chat(user, "You plunge into [M]'s mind...") + if(prob(20)) + to_chat(M, "You feel something foreign enter your mind.")//chance to alert the read-ee + var/list/recent_speech = list() + var/list/say_log = list() + var/log_source = M.logging + for(var/log_type in log_source)//this whole loop puts the read-ee's say logs into say_log in an easy to access way + var/nlog_type = text2num(log_type) + if(nlog_type & LOG_SAY) + var/list/reversed = log_source[log_type] + if(islist(reversed)) + say_log = reverseRange(reversed.Copy()) + break + if(LAZYLEN(say_log)) + for(var/spoken_memory in say_log) + if(recent_speech.len >= 3)//up to 3 random lines of speech, favoring more recent speech + break + if(prob(50)) + recent_speech[spoken_memory] = say_log[spoken_memory] + if(recent_speech.len) + to_chat(user, "You catch some drifting memories of their past conversations...") + for(var/spoken_memory in recent_speech) + to_chat(user, "[recent_speech[spoken_memory]]") + if(iscarbon(M)) + var/mob/living/carbon/human/H = M + to_chat(user, "You find that their intent is to [H.a_intent]...") + var/datum/dna/the_dna = H.has_dna() + if(the_dna) + to_chat(user, "You uncover that [H.p_their()] true identity is [the_dna.real_name].") + else + to_chat(user, "You can't find a mind to read inside of [M]!") + +/datum/mutation/human/mindreader/New(class_ = MUT_OTHER, timer, datum/mutation/human/copymut) + ..() + if(!(type in visual_indicators)) + visual_indicators[type] = list(mutable_appearance('icons/effects/genetics.dmi', "antenna", -FRONT_MUTATIONS_LAYER+1)) + +/datum/mutation/human/mindreader/get_visual_indicator(mob/living/carbon/human/owner) + return visual_indicators[type][1] \ No newline at end of file diff --git a/code/datums/mutations/body.dm b/code/datums/mutations/body.dm index a32220aa43..399b822dce 100644 --- a/code/datums/mutations/body.dm +++ b/code/datums/mutations/body.dm @@ -3,16 +3,19 @@ //Epilepsy gives a very small chance to have a seizure every life tick, knocking you unconscious. /datum/mutation/human/epilepsy name = "Epilepsy" + desc = "A genetic defect that sporadically causes seizures." quality = NEGATIVE text_gain_indication = "You get a headache." + synchronizer_coeff = 1 + power_coeff = 1 /datum/mutation/human/epilepsy/on_life(mob/living/carbon/human/owner) - if(prob(1) && owner.stat == CONSCIOUS) + if(prob(1 * GET_MUTATION_SYNCHRONIZER(src)) && owner.stat == CONSCIOUS) owner.visible_message("[owner] starts having a seizure!", "You have a seizure!") - owner.Unconscious(200) - owner.Jitter(1000) + owner.Unconscious(200 * GET_MUTATION_POWER(src)) + owner.Jitter(1000 * GET_MUTATION_POWER(src)) SEND_SIGNAL(owner, COMSIG_ADD_MOOD_EVENT, "epilepsy", /datum/mood_event/epilepsy) - addtimer(CALLBACK(src, .proc/jitter_less, owner), 90) + addtimer(CALLBACK(src, .proc/jitter_less), 90) /datum/mutation/human/epilepsy/proc/jitter_less(mob/living/carbon/human/owner) if(owner) @@ -22,19 +25,23 @@ //Unstable DNA induces random mutations! /datum/mutation/human/bad_dna name = "Unstable DNA" + desc = "Strange mutation that causes the holder to randomly mutate." quality = NEGATIVE text_gain_indication = "You feel strange." + locked = TRUE /datum/mutation/human/bad_dna/on_acquiring(mob/living/carbon/human/owner) + if(..()) + return to_chat(owner, text_gain_indication) var/mob/new_mob if(prob(95)) if(prob(50)) - new_mob = owner.randmutb() + new_mob = owner.easy_randmut(NEGATIVE + MINOR_NEGATIVE) else new_mob = owner.randmuti() else - new_mob = owner.randmutg() + new_mob = owner.easy_randmut(POSITIVE) if(new_mob && ismob(new_mob)) owner = new_mob . = owner @@ -44,21 +51,31 @@ //Cough gives you a chronic cough that causes you to drop items. /datum/mutation/human/cough name = "Cough" + desc = "A chronic cough." quality = MINOR_NEGATIVE text_gain_indication = "You start coughing." + synchronizer_coeff = 1 + power_coeff = 1 /datum/mutation/human/cough/on_life(mob/living/carbon/human/owner) - if(prob(5) && owner.stat == CONSCIOUS) + if(prob(5 * GET_MUTATION_SYNCHRONIZER(src)) && owner.stat == CONSCIOUS) owner.drop_all_held_items() owner.emote("cough") + if(GET_MUTATION_POWER(src) > 1) + var/cough_range = GET_MUTATION_POWER(src) * 4 + var/turf/target = get_ranged_target_turf(owner, turn(owner.dir, 180), cough_range) + owner.throw_at(target, cough_range, GET_MUTATION_POWER(src)) + //Dwarfism shrinks your body and lets you pass tables. /datum/mutation/human/dwarfism name = "Dwarfism" + desc = "A mutation believed to be the cause of dwarfism." quality = POSITIVE - get_chance = 15 - lowest_value = 256 * 12 + difficulty = 16 + instability = 5 + locked = TRUE // Default intert species for now, so locked from regular pool. /datum/mutation/human/dwarfism/on_acquiring(mob/living/carbon/human/owner) if(..()) @@ -78,6 +95,7 @@ //Clumsiness has a very large amount of small drawbacks depending on item. /datum/mutation/human/clumsy name = "Clumsiness" + desc = "A genome that inhibits certain brain functions, causing the holder to appear clumsy. Honk" quality = MINOR_NEGATIVE text_gain_indication = "You feel lightheaded." @@ -95,11 +113,13 @@ //Tourettes causes you to randomly stand in place and shout. /datum/mutation/human/tourettes name = "Tourette's Syndrome" + desc = "A chronic twitch that forces the user to use colorful language." quality = NEGATIVE text_gain_indication = "You twitch." + synchronizer_coeff = 1 /datum/mutation/human/tourettes/on_life(mob/living/carbon/human/owner) - if(prob(10) && owner.stat == CONSCIOUS && !owner.IsStun()) + if(prob(10 * GET_MUTATION_SYNCHRONIZER(src)) && owner.stat == CONSCIOUS && !owner.IsStun()) owner.Stun(200) switch(rand(1, 3)) if(1) @@ -117,6 +137,7 @@ //Deafness makes you deaf. /datum/mutation/human/deaf name = "Deafness" + desc = "The holder of this genome is completely deaf." quality = NEGATIVE text_gain_indication = "You can't seem to hear anything." @@ -134,8 +155,10 @@ //Monified turns you into a monkey. /datum/mutation/human/race name = "Monkified" + desc = "A strange genome, believing to be what differentiates monkeys from humans." quality = NEGATIVE time_coeff = 2 + locked = TRUE //Species specific, keep out of actual gene pool /datum/mutation/human/race/on_acquiring(mob/living/carbon/human/owner) if(..()) @@ -145,3 +168,95 @@ /datum/mutation/human/race/on_losing(mob/living/carbon/monkey/owner) if(owner && istype(owner) && owner.stat != DEAD && (owner.dna.mutations.Remove(src))) . = owner.humanize(TR_KEEPITEMS | TR_KEEPIMPLANTS | TR_KEEPORGANS | TR_KEEPDAMAGE | TR_KEEPVIRUS | TR_KEEPSE) + + +/datum/mutation/human/glow + name = "Glowy" + desc = "You permanently emit a light with a random color and intensity." + quality = POSITIVE + text_gain_indication = "Your skin begins to glow softly." + instability = 5 + var/obj/effect/dummy/luminescent_glow/glowth //shamelessly copied from luminescents + var/glow = 1.5 + power_coeff = 1 + +/datum/mutation/human/glow/on_acquiring(mob/living/carbon/human/owner) + if(..()) + return + glowth = new(owner) + glowth.set_light(glow, glow, dna.features["mcolor"]) + +/datum/mutation/human/glow/modify(mob/living/carbon/human/owner) + if(glowth) + glowth.set_light(glow + GET_MUTATION_POWER(src) , glow + GET_MUTATION_POWER(src), dna.features["mcolor"]) + +/datum/mutation/human/glow/on_losing(mob/living/carbon/human/owner) + if(..()) + return + qdel(glowth) + +/datum/mutation/human/strong + name = "Strength" + desc = "The user's muscles slightly expand." + quality = POSITIVE + text_gain_indication = "You feel strong." + difficulty = 16 + +/datum/mutation/human/fire + name = "Fiery Sweat" + desc = "The user's skin will randomly combust, but is generally alot more resilient to burning." + quality = NEGATIVE + text_gain_indication = "You feel hot." + text_lose_indication = "You feel a lot cooler." + difficulty = 14 + synchronizer_coeff = 1 + power_coeff = 1 + +/datum/mutation/human/fire/on_life(mob/living/carbon/human/owner) + if(prob((1+(100-dna.stability)/10)) * GET_MUTATION_SYNCHRONIZER(src)) + owner.adjust_fire_stacks(2 * GET_MUTATION_POWER(src)) + owner.IgniteMob() + +/datum/mutation/human/fire/on_acquiring(mob/living/carbon/human/owner) + if(..()) + return + owner.physiology.burn_mod *= 0.5 + +/datum/mutation/human/fire/on_losing(mob/living/carbon/human/owner) + if(..()) + return + owner.physiology.burn_mod *= 2 + +/datum/mutation/human/insulated + name = "Insulated" + desc = "The affected person does not conduct electricity." + quality = POSITIVE + text_gain_indication = "Your fingertips go numb." + text_lose_indication = "Your fingertips regain feeling." + difficulty = 16 + instability = 25 + +/datum/mutation/human/insulated/on_acquiring(mob/living/carbon/human/owner) + if(..()) + return + ADD_TRAIT(owner, TRAIT_SHOCKIMMUNE, "genetics") + +/datum/mutation/human/insulated/on_losing(mob/living/carbon/human/owner) + if(..()) + return + REMOVE_TRAIT(owner, TRAIT_SHOCKIMMUNE, "genetics") + +/datum/mutation/human/paranoia + name = "Paranoia" + desc = "Subject is easily terrified, and may suffer from hallucinations." + quality = NEGATIVE + text_gain_indication = "You feel screams echo through your mind..." + text_lose_indication = "The screaming in your mind fades." + +/datum/mutation/human/paranoia/on_life(mob/living/carbon/human/owner) + if(prob(5) && owner.stat == CONSCIOUS) + owner.emote("scream") + owner.jitteriness = min(max(0, owner.jitteriness + 5), 30) + if(prob(25)) + to_chat(owner,"You feel someone creeping in on you...") + owner.hallucination += 20 \ No newline at end of file diff --git a/code/datums/mutations/chameleon.dm b/code/datums/mutations/chameleon.dm index da10510970..7682351ebf 100644 --- a/code/datums/mutations/chameleon.dm +++ b/code/datums/mutations/chameleon.dm @@ -1,12 +1,13 @@ //Chameleon causes the owner to slowly become transparent when not moving. /datum/mutation/human/chameleon name = "Chameleon" + desc = "A genome that causes the holder's skin to become transparent over time." quality = POSITIVE - get_chance = 20 - lowest_value = 256 * 12 + difficulty = 16 text_gain_indication = "You feel one with your surroundings." text_lose_indication = "You feel oddly exposed." time_coeff = 5 + instability = 25 /datum/mutation/human/chameleon/on_acquiring(mob/living/carbon/human/owner) if(..()) diff --git a/code/datums/mutations/cold_resistance.dm b/code/datums/mutations/cold_resistance.dm index 3d8fbababa..4b6beb7b00 100644 --- a/code/datums/mutations/cold_resistance.dm +++ b/code/datums/mutations/cold_resistance.dm @@ -1,32 +1,29 @@ //Cold Resistance gives your entire body an orange halo, and makes you immune to the effects of vacuum and cold. -/datum/mutation/human/cold_resistance - name = "Cold Resistance" +/datum/mutation/human/space_adaptation + name = "Space Adaptation" + desc = "A strange mutation that renders the host immune to the vacuum if space. Will still need an oxygen supply." quality = POSITIVE - get_chance = 25 - lowest_value = 256 * 12 + difficulty = 16 text_gain_indication = "Your body feels warm!" time_coeff = 5 + instability = 30 -/datum/mutation/human/cold_resistance/New() +/datum/mutation/human/space_adaptation/New(class_ = MUT_OTHER, timer, datum/mutation/human/copymut) ..() - visual_indicators |= mutable_appearance('icons/effects/genetics.dmi', "fire", -MUTATIONS_LAYER) + if(!(type in visual_indicators)) + visual_indicators[type] = list(mutable_appearance('icons/effects/genetics.dmi', "fire", -MUTATIONS_LAYER)) -/datum/mutation/human/cold_resistance/get_visual_indicator(mob/living/carbon/human/owner) - return visual_indicators[1] +/datum/mutation/human/space_adaptation/get_visual_indicator(mob/living/carbon/human/owner) + return visual_indicators[type][1] -/datum/mutation/human/cold_resistance/on_acquiring(mob/living/carbon/human/owner) +/datum/mutation/human/space_adaptation/on_acquiring(mob/living/carbon/human/owner) if(..()) return ADD_TRAIT(owner, TRAIT_RESISTCOLD, "cold_resistance") -// ADD_TRAIT(owner, TRAIT_RESISTLOWPRESSURE, "cold_resistance") CITADEL CHANGE + ADD_TRAIT(owner, TRAIT_RESISTLOWPRESSURE, "cold_resistance") -/datum/mutation/human/cold_resistance/on_losing(mob/living/carbon/human/owner) +/datum/mutation/human/space_adaptation/on_losing(mob/living/carbon/human/owner) if(..()) return REMOVE_TRAIT(owner, TRAIT_RESISTCOLD, "cold_resistance") -// REMOVE_TRAIT(owner, TRAIT_RESISTLOWPRESSURE, "cold_resistance") CITADEL CHANGE - -/datum/mutation/human/cold_resistance/on_life(mob/living/carbon/human/owner) - if(owner.getFireLoss()) - if(prob(1)) - owner.heal_bodypart_damage(0,1) //Is this really needed? + REMOVE_TRAIT(owner, TRAIT_RESISTLOWPRESSURE, "cold_resistance") diff --git a/code/datums/mutations/combined.dm b/code/datums/mutations/combined.dm new file mode 100644 index 0000000000..c166b01393 --- /dev/null +++ b/code/datums/mutations/combined.dm @@ -0,0 +1,24 @@ +/datum/generecipe + var/required = "" //it hurts so bad but initial is not compatible with lists + var/result = null + +/proc/get_mixed_mutation(mutation1, mutation2) + if(!mutation1 || !mutation2) + return FALSE + if(mutation1 == mutation2) //this could otherwise be bad + return FALSE + for(var/A in GLOB.mutation_recipes) + if(findtext(A, "[mutation1]") && findtext(A, "[mutation2]")) + return GLOB.mutation_recipes[A] + +/datum/generecipe/x_ray + required = "/datum/mutation/human/thermal; /datum/mutation/human/radioactive" + result = /datum/mutation/human/thermal/x_ray + +/datum/generecipe/shock + required = "/datum/mutation/human/insulated; /datum/mutation/human/radioactive" + result = SHOCKTOUCH + +/datum/generecipe/mindread + required = "/datum/mutation/human/antenna; /datum/mutation/human/paranoia" + result = MINDREAD \ No newline at end of file diff --git a/code/datums/mutations/hulk.dm b/code/datums/mutations/hulk.dm index c536196e95..b6987959c2 100644 --- a/code/datums/mutations/hulk.dm +++ b/code/datums/mutations/hulk.dm @@ -1,28 +1,30 @@ //Hulk turns your skin green, and allows you to punch through walls. /datum/mutation/human/hulk name = "Hulk" + desc = "A poorly understood genome that causes the holder's muscles to expand, inhibit speech and gives the person a bad skin condition." quality = POSITIVE - get_chance = 15 - lowest_value = 256 * 12 + locked = TRUE + difficulty = 16 text_gain_indication = "Your muscles hurt!" - species_allowed = list("fly") //no skeleton/lizard hulk + species_allowed = list("human") //no skeleton/lizard hulk health_req = 25 + instability = 40 + locked = TRUE /datum/mutation/human/hulk/on_acquiring(mob/living/carbon/human/owner) if(..()) return ADD_TRAIT(owner, TRAIT_STUNIMMUNE, TRAIT_HULK) ADD_TRAIT(owner, TRAIT_PUSHIMMUNE, TRAIT_HULK) - ADD_TRAIT(owner, TRAIT_CHUNKYFINGERS, TRAIT_HULK) owner.update_body_parts() SEND_SIGNAL(owner, COMSIG_ADD_MOOD_EVENT, "hulk", /datum/mood_event/hulk) RegisterSignal(owner, COMSIG_MOB_SAY, .proc/handle_speech) -/datum/mutation/human/hulk/on_attack_hand(mob/living/carbon/human/owner, atom/target, proximity) +/datum/mutation/human/hulk/on_attack_hand(atom/target, proximity) if(proximity) //no telekinetic hulk attack return target.attack_hulk(owner) -/datum/mutation/human/hulk/on_life(mob/living/carbon/human/owner) +/datum/mutation/human/hulk/on_life() if(owner.health < 0) on_losing(owner) to_chat(owner, "You suddenly feel very weak.") @@ -32,7 +34,6 @@ return REMOVE_TRAIT(owner, TRAIT_STUNIMMUNE, TRAIT_HULK) REMOVE_TRAIT(owner, TRAIT_PUSHIMMUNE, TRAIT_HULK) - ADD_TRAIT(owner, TRAIT_CHUNKYFINGERS, TRAIT_HULK) owner.update_body_parts() SEND_SIGNAL(owner, COMSIG_CLEAR_MOOD_EVENT, "hulk") UnregisterSignal(owner, COMSIG_MOB_SAY) diff --git a/code/datums/mutations/radioactive.dm b/code/datums/mutations/radioactive.dm new file mode 100644 index 0000000000..f76e6885d0 --- /dev/null +++ b/code/datums/mutations/radioactive.dm @@ -0,0 +1,19 @@ +/datum/mutation/human/radioactive + name = "Radioactivity" + desc = "A volatile mutation that causes the host to sent out deadly beta radiation. This affects both the hosts and their surroundings." + quality = NEGATIVE + text_gain_indication = "You can feel it in your bones!" + time_coeff = 5 + instability = 5 + difficulty = 8 + +/datum/mutation/human/radioactive/on_life(mob/living/carbon/human/owner) + radiation_pulse(owner, 20) + +/datum/mutation/human/radioactive/New(class_ = MUT_OTHER, timer, datum/mutation/human/copymut) + ..() + if(!(type in visual_indicators)) + visual_indicators[type] = list(mutable_appearance('icons/effects/genetics.dmi', "radiation", -MUTATIONS_LAYER)) + +/datum/mutation/human/radioactive/get_visual_indicator() + return visual_indicators[type][1] \ No newline at end of file diff --git a/code/datums/mutations/sight.dm b/code/datums/mutations/sight.dm index 1f23a92906..c8bc1a1597 100644 --- a/code/datums/mutations/sight.dm +++ b/code/datums/mutations/sight.dm @@ -1,6 +1,7 @@ //Nearsightedness restricts your vision by several tiles. /datum/mutation/human/nearsight name = "Near Sightness" + desc = "The holder of this mutation has poor eyesight." quality = MINOR_NEGATIVE text_gain_indication = "You can't see very well." @@ -18,6 +19,7 @@ //Blind makes you blind. Who knew? /datum/mutation/human/blind name = "Blindness" + desc = "Renders the subject completely blind." quality = NEGATIVE text_gain_indication = "You can't seem to see anything." @@ -32,43 +34,58 @@ owner.cure_blind(GENETIC_MUTATION) -//X-ray Vision lets you see through walls. -/datum/mutation/human/x_ray - name = "X Ray Vision" +///Thermal Vision lets you see mobs through walls +/datum/mutation/human/thermal + name = "Thermal Vision" + desc = "The user of this genome can visually percieve the unique human thermal signature." quality = POSITIVE - get_chance = 25 - lowest_value = 256 * 12 - text_gain_indication = "The walls suddenly disappear!" + difficulty = 18 + text_gain_indication = "You can see the heat rising off of your skin..." time_coeff = 2 + instability = 25 + var/visionflag = TRAIT_THERMAL_VISION -/datum/mutation/human/x_ray/on_acquiring(mob/living/carbon/human/owner) +/datum/mutation/human/thermal/on_acquiring(mob/living/carbon/human/owner) if(..()) return + ADD_TRAIT(owner, visionflag, GENETIC_MUTATION) owner.update_sight() -/datum/mutation/human/x_ray/on_losing(mob/living/carbon/human/owner) +/datum/mutation/human/thermal/on_losing(mob/living/carbon/human/owner) if(..()) return + REMOVE_TRAIT(owner, visionflag, GENETIC_MUTATION) owner.update_sight() +///X-ray Vision lets you see through walls. +/datum/mutation/human/thermal/x_ray + name = "X Ray Vision" + desc = "A strange genome that allows the user to see between the spaces of walls." //actual x-ray would mean you'd constantly be blasting rads, wich might be fun for later //hmb + text_gain_indication = "The walls suddenly disappear!" + instability = 35 + locked = TRUE + visionflag = TRAIT_XRAY_VISION + //Laser Eyes lets you shoot lasers from your eyes! /datum/mutation/human/laser_eyes name = "Laser Eyes" + desc = "Reflects concentrated light back from the eyes." quality = POSITIVE - dna_block = NON_SCANNABLE + locked = TRUE + difficulty = 16 text_gain_indication = "You feel pressure building up behind your eyes." layer_used = FRONT_MUTATIONS_LAYER limb_req = BODY_ZONE_HEAD -/datum/mutation/human/laser_eyes/New() +/datum/mutation/human/laser_eyes/New(class_ = MUT_OTHER, timer, datum/mutation/human/copymut) ..() visual_indicators |= mutable_appearance('icons/effects/genetics.dmi', "lasereyes", -FRONT_MUTATIONS_LAYER) -/datum/mutation/human/laser_eyes/get_visual_indicator(mob/living/carbon/human/owner) +/datum/mutation/human/laser_eyes/get_visual_indicator() return visual_indicators[1] -/datum/mutation/human/laser_eyes/on_ranged_attack(mob/living/carbon/human/owner, atom/target, mouseparams) +/datum/mutation/human/laser_eyes/on_ranged_attack(atom/target, mouseparams) if(owner.a_intent == INTENT_HARM) owner.LaserEyes(target, mouseparams) diff --git a/code/datums/mutations/speech.dm b/code/datums/mutations/speech.dm index 82138e6e34..5716b2595b 100644 --- a/code/datums/mutations/speech.dm +++ b/code/datums/mutations/speech.dm @@ -3,6 +3,7 @@ /datum/mutation/human/nervousness name = "Nervousness" + desc = "Causes the holder to stutter." quality = MINOR_NEGATIVE text_gain_indication = "You feel nervous." @@ -13,6 +14,7 @@ /datum/mutation/human/wacky name = "Wacky" + desc = "Unknown." quality = MINOR_NEGATIVE text_gain_indication = "You feel an off sensation in your voicebox." text_lose_indication = "The off sensation passes." @@ -34,6 +36,7 @@ /datum/mutation/human/mute name = "Mute" + desc = "Completely inhibits the vocal section of the brain." quality = NEGATIVE text_gain_indication = "You feel unable to express yourself at all." text_lose_indication = "You feel able to speak freely again." @@ -53,8 +56,8 @@ /datum/mutation/human/smile name = "Smile" + desc = "Causes the user to be in constant mania." quality = MINOR_NEGATIVE - dna_block = NON_SCANNABLE text_gain_indication = "You feel so happy. Nothing can be wrong with anything. :)" text_lose_indication = "Everything is terrible again. :(" @@ -95,7 +98,6 @@ message = replacetext(message," ugly "," beautiful ") message = replacetext(message," douchbag "," nice guy ") message = replacetext(message," whore "," lady ") - message = replacetext(message," gamer "," intellectual ") message = replacetext(message," nerd "," smarty pants ") message = replacetext(message," moron "," fun person ") message = replacetext(message," IT'S LOOSE "," EVERYTHING IS FINE ") @@ -121,8 +123,8 @@ /datum/mutation/human/unintelligible name = "Unintelligible" + desc = "Partially inhibits the vocal center of the brain, severely distorting speech." quality = NEGATIVE - dna_block = NON_SCANNABLE text_gain_indication = "You can't seem to form any coherent thoughts!" text_lose_indication = "Your mind feels more clear." @@ -141,8 +143,9 @@ /datum/mutation/human/swedish name = "Swedish" + desc = "A horrible mutation originating from the distant past. Thought to be eradicated after the incident in 2037." quality = MINOR_NEGATIVE - dna_block = NON_SCANNABLE + locked = TRUE text_gain_indication = "You feel Swedish, however that works." text_lose_indication = "The feeling of Swedishness passes." @@ -173,8 +176,8 @@ /datum/mutation/human/chav name = "Chav" + desc = "Unknown" quality = MINOR_NEGATIVE - dna_block = NON_SCANNABLE text_gain_indication = "Ye feel like a reet prat like, innit?" text_lose_indication = "You no longer feel like being rude and sassy." @@ -220,12 +223,13 @@ /datum/mutation/human/elvis name = "Elvis" + desc = "A terrifying mutation named after its 'patient-zero'." quality = MINOR_NEGATIVE - dna_block = NON_SCANNABLE + locked = TRUE text_gain_indication = "You feel pretty good, honeydoll." text_lose_indication = "You feel a little less conversation would be great." -/datum/mutation/human/elvis/on_life(mob/living/carbon/human/owner) +/datum/mutation/human/elvis/on_life() switch(pick(1,2)) if(1) if(prob(15)) @@ -266,8 +270,9 @@ /datum/mutation/human/stoner name = "Stoner" + desc = "A common mutation that severely decreases intelligence." quality = NEGATIVE - dna_block = NON_SCANNABLE + locked = TRUE text_gain_indication = "You feel...totally chill, man!" text_lose_indication = "You feel like you have a better sense of time." diff --git a/code/datums/mutations/telekinesis.dm b/code/datums/mutations/telekinesis.dm index a5b15eacb8..b03ac04027 100644 --- a/code/datums/mutations/telekinesis.dm +++ b/code/datums/mutations/telekinesis.dm @@ -1,18 +1,20 @@ //Telekinesis lets you interact with objects from range, and gives you a light blue halo around your head. /datum/mutation/human/telekinesis name = "Telekinesis" + desc = "A strange mutation that allows the holder to interact with objects through thought." quality = POSITIVE - get_chance = 20 - lowest_value = 256 * 12 + difficulty = 18 text_gain_indication = "You feel smarter!" limb_req = BODY_ZONE_HEAD + instability = 30 -/datum/mutation/human/telekinesis/New() +/datum/mutation/human/telekinesis/New(class_ = MUT_OTHER, timer, datum/mutation/human/copymut) ..() - visual_indicators |= mutable_appearance('icons/effects/genetics.dmi', "telekinesishead", -MUTATIONS_LAYER) + if(!(type in visual_indicators)) + visual_indicators[type] = list(mutable_appearance('icons/effects/genetics.dmi', "telekinesishead", -MUTATIONS_LAYER)) /datum/mutation/human/telekinesis/get_visual_indicator(mob/living/carbon/human/owner) - return visual_indicators[1] + return visual_indicators[type][1] /datum/mutation/human/telekinesis/on_ranged_attack(mob/living/carbon/human/owner, atom/target) - target.attack_tk(owner) + target.attack_tk(owner) \ No newline at end of file diff --git a/code/datums/status_effects/debuffs.dm b/code/datums/status_effects/debuffs.dm index f5f012e7f9..156d527763 100644 --- a/code/datums/status_effects/debuffs.dm +++ b/code/datums/status_effects/debuffs.dm @@ -737,3 +737,26 @@ datum/status_effect/pacify to_chat(owner, "Your arm spasms!") owner.log_message("threw [I] due to a Muscle Spasm", LOG_ATTACK) owner.throw_item(pick(targets)) + +/datum/status_effect/dna_melt + id = "dna_melt" + duration = 600 + status_type = STATUS_EFFECT_REPLACE + alert_type = /obj/screen/alert/status_effect/dna_melt + var/kill_either_way = FALSE //no amount of removing mutations is gonna save you now + +/datum/status_effect/dna_melt/on_creation(mob/living/new_owner, set_duration, updating_canmove) + . = ..() + to_chat(new_owner, "My body can't handle the mutations! I need to get my mutations removed fast!") + +/datum/status_effect/dna_melt/on_remove() + if(!ishuman(owner)) + owner.gib() //fuck you in particular + return + var/mob/living/carbon/human/H = owner + H.something_horrible(kill_either_way) + +/obj/screen/alert/status_effect/dna_melt + name = "Genetic Breakdown" + desc = "I don't feel so good. Your body can't handle the mutations! You have one minute to remove your mutations, or you will be met with a horrible fate." + icon_state = "dna_melt" \ No newline at end of file diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index e683d67be2..3181086caf 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -80,6 +80,8 @@ name = "cloning data disk" icon_state = "datadisk0" //Gosh I hope syndies don't mistake them for the nuke disk. var/list/fields = list() + var/list/mutations = list() + var/max_mutations = 6 var/read_only = 0 //Well,it's still a floppy disk //Disk stuff. @@ -127,7 +129,7 @@ return examine(user) //Start growing a human clone in the pod! -/obj/machinery/clonepod/proc/growclone(ckey, clonename, ui, se, mindref, datum/species/mrace, list/features, factions, list/quirks) +/obj/machinery/clonepod/proc/growclone(ckey, clonename, ui, mutation_index, mindref, datum/species/mrace, list/features, factions, list/quirks) if(panel_open) return FALSE if(mess || attempting) @@ -161,10 +163,10 @@ var/mob/living/carbon/human/H = new /mob/living/carbon/human(src) - H.hardset_dna(ui, se, H.real_name, null, mrace, features) + H.hardset_dna(ui, mutation_index, H.real_name, null, mrace, features) if(prob(50 - efficiency*10)) //Chance to give a bad mutation. - H.randmutb() //100% bad mutation. Can be cured with mutadone. + H.easy_randmut(NEGATIVE+MINOR_NEGATIVE) //100% bad mutation. Can be cured with mutadone. H.silent = 20 //Prevents an extreme edge case where clones could speak if they said something at exactly the right moment. occupant = H diff --git a/code/game/machinery/computer/cloning.dm b/code/game/machinery/computer/cloning.dm index 43cfbdb33b..06aff3e730 100644 --- a/code/game/machinery/computer/cloning.dm +++ b/code/game/machinery/computer/cloning.dm @@ -485,7 +485,7 @@ R.fields["id"] = copytext(md5(mob_occupant.real_name), 2, 6) R.fields["UE"] = dna.unique_enzymes R.fields["UI"] = dna.uni_identity - R.fields["SE"] = dna.struc_enzymes + R.fields["SE"] = dna.mutation_index R.fields["blood_type"] = dna.blood_type R.fields["features"] = dna.features R.fields["factions"] = mob_occupant.faction diff --git a/code/game/machinery/computer/dna_console.dm b/code/game/machinery/computer/dna_console.dm index 394cc4593d..59c962994e 100644 --- a/code/game/machinery/computer/dna_console.dm +++ b/code/game/machinery/computer/dna_console.dm @@ -1,14 +1,16 @@ #define INJECTOR_TIMEOUT 100 -#define REJUVENATORS_INJECT 15 -#define REJUVENATORS_MAX 90 #define NUMBER_OF_BUFFERS 3 +#define SCRAMBLE_TIMEOUT 600 +#define JOKER_TIMEOUT 12000 //20 minutes +#define JOKER_UPGRADE 1800 #define RADIATION_STRENGTH_MAX 15 -#define RADIATION_STRENGTH_MULTIPLIER 1 //larger has a more range +#define RADIATION_STRENGTH_MULTIPLIER 1 //larger has more range #define RADIATION_DURATION_MAX 30 #define RADIATION_ACCURACY_MULTIPLIER 3 //larger is less accurate + #define RADIATION_IRRADIATION_MULTIPLIER 1 //multiplier for how much radiation a test subject receives #define SCANNER_ACTION_SE 1 @@ -23,22 +25,33 @@ icon_keyboard = "med_key" density = TRUE circuit = /obj/item/circuitboard/computer/scan_consolenew - var/radduration = 2 - var/radstrength = 1 - var/list/buffer[NUMBER_OF_BUFFERS] - - var/injectorready = 0 //world timer cooldown var - var/current_screen = "mainmenu" - var/obj/machinery/dna_scannernew/connected = null - var/obj/item/disk/data/diskette = null - var/list/delayed_action = null use_power = IDLE_POWER_USE idle_power_usage = 10 active_power_usage = 400 - light_color = LIGHT_COLOR_BLUE + var/datum/techweb/stored_research + var/max_storage = 6 + var/combine + var/radduration = 2 + var/radstrength = 1 + var/max_chromosomes = 6 + + var/list/buffer[NUMBER_OF_BUFFERS] + var/list/stored_mutations = list() + var/list/stored_chromosomes = list() + + var/injectorready = 0 //world timer cooldown var + var/jokerready = 0 + var/scrambleready = 0 + var/current_screen = "mainmenu" + var/current_mutation //what block are we inspecting? only used when screen = "info" + var/current_storage //what storage block are we looking at? + var/obj/machinery/dna_scannernew/connected = null + var/obj/item/disk/data/diskette = null + var/list/delayed_action = null + /obj/machinery/computer/scan_consolenew/attackby(obj/item/I, mob/user, params) if (istype(I, /obj/item/disk/data)) //INSERT SOME DISKETTES if (!src.diskette) @@ -48,6 +61,28 @@ to_chat(user, "You insert [I].") src.updateUsrDialog() return + if (istype(I, /obj/item/chromosome)) + if(LAZYLEN(stored_chromosomes) < max_chromosomes) + I.forceMove(src) + stored_chromosomes += I + to_chat(user, "You insert [I].") + else + to_chat(user, "You cannot store any more chromosomes!") + return + if(istype(I, /obj/item/dnainjector/activator)) + var/obj/item/dnainjector/activator/A = I + if(A.used) + to_chat(user,"Recycled [I].") + if(A.research) + var/c_typepath = generate_chromosome() + var/obj/item/chromosome/CM = new c_typepath (drop_location()) + to_chat(user,"Recycled [I].") + if((LAZYLEN(stored_chromosomes) < max_chromosomes) && prob(60)) + CM.forceMove(src) + stored_chromosomes += CM + to_chat(user,"[capitalize(CM.name)] added to storage.") + qdel(I) + return else return ..() @@ -58,12 +93,26 @@ if(!isnull(connected)) break injectorready = world.time + INJECTOR_TIMEOUT + scrambleready = world.time + SCRAMBLE_TIMEOUT + jokerready = world.time + JOKER_TIMEOUT + + stored_research = SSresearch.science_tech + +/obj/machinery/computer/scan_consolenew/examine(mob/user) + ..() + if(jokerready < world.time) + to_chat(user, "JOKER algorithm available.") + else + to_chat(user, "JOKER algorithm available in about [round(0.00166666667 * (jokerready - world.time))] minutes.") /obj/machinery/computer/scan_consolenew/ui_interact(mob/user, last_change) . = ..() if(!user) return var/datum/browser/popup = new(user, "scannernew", "DNA Modifier Console", 800, 630) // Set up the popup browser window + if(user.client) + var/datum/asset/simple/assets = get_asset_datum(/datum/asset/simple/genetics) + assets.send(user.client) if(!(in_range(src, user) || issilicon(user))) popup.close() return @@ -88,8 +137,6 @@ occupant_status += "" occupant_status += "
Health:
[viable_occupant.health] %
" occupant_status += "
Radiation Level:
[viable_occupant.radiation/(RAD_MOB_SAFE/100)] %
" - var/rejuvenators = viable_occupant.reagents.get_reagent_amount("potass_iodide") - occupant_status += "
Rejuvenators:
[rejuvenators] units
" occupant_status += "
Unique Enzymes :
[viable_occupant.dna.unique_enzymes]
" occupant_status += "
Last Operation:
[last_change ? last_change : "----"]
" else @@ -147,28 +194,53 @@ buttons += "[connected.locked ? "Unlock" : "Lock"] Scanner" else buttons += "Open Scanner Lock Scanner" - if(viable_occupant) - buttons += "Inject Rejuvenators" + if(viable_occupant && (scrambleready < world.time)) + buttons += "Scramble DNA" else - buttons += "Inject Rejuvenators" + buttons += "Scramble DNA" if(diskette) - buttons += "Eject Disk" + buttons += "Disk" else - buttons += "Eject Disk" - if(current_screen == "buffer") - buttons += "Radiation Emitter Menu" + buttons += "Disk" + if(current_screen == "mutations") + buttons += "Mutations" else - buttons += "Buffer Menu" + buttons += "Mutations" + if((current_screen == "mainmenu") || !current_screen) + buttons += "Genetic Sequencer" + else + buttons += "Genetic Sequencer" + if(current_screen == "ui") + buttons += "Unique Identifiers" + else + buttons += "Unique Identifiers" switch(current_screen) if("working") temp_html += status temp_html += "

System Busy

" temp_html += "Working ... Please wait ([DisplayTimeText(radduration*10)])" - if("buffer") + if("ui") temp_html += status temp_html += buttons - temp_html += "

Buffer Menu

" + temp_html += "

Unique Identifiers

" + temp_html += "-- Output Level ++" + temp_html += "
-- Pulse Duration ++" + temp_html += "

Irradiate Subject

" + temp_html += "
Unique Identifier:
" + var/max_line_len = 7*DNA_BLOCK_SIZE + if(viable_occupant) + temp_html += "
1
" + var/len = length(viable_occupant.dna.uni_identity) + for(var/i=1, i<=len, i++) + temp_html += "[copytext(viable_occupant.dna.uni_identity,i,i+1)]" + if ((i % max_line_len) == 0) + temp_html += "
" + if((i % DNA_BLOCK_SIZE) == 0 && i < len) + temp_html += "
[(i / DNA_BLOCK_SIZE) + 1]
" + else + temp_html += "---------" + temp_html += "

Buffer Menu

" if(istype(buffer)) for(var/i=1, i<=buffer.len, i++) @@ -188,7 +260,6 @@ temp_html += "Save to Disk" else var/ui = buffer_slot["UI"] - var/se = buffer_slot["SE"] var/ue = buffer_slot["UE"] var/name = buffer_slot["name"] var/label = buffer_slot["label"] @@ -234,19 +305,6 @@ temp_html += "UI+UE Injector" else temp_html += "UI+UE Injector" - if(se) - temp_html += "
\tSE: [se] " - if(viable_occupant) - temp_html += "Occupant" - else - temp_html += "Occupant" - temp_html += "Occupant:Delayed" - if(injectorready < world.time ) - temp_html += "Injector" - else - temp_html += "Injector" - else - temp_html += "
\tSE: No Data" if(viable_occupant) temp_html += "
Save to Buffer" else @@ -260,48 +318,197 @@ temp_html += "Save to Disk" else temp_html += "Save to Disk" + if("disk") + temp_html += status + temp_html += buttons + if(diskette) + temp_html += "

[diskette.name]


" + temp_html += "Eject Disk
" + if(LAZYLEN(diskette.mutations)) + temp_html += "" + for(var/datum/mutation/human/A in diskette.mutations) + temp_html += "" + temp_html += "" + if(LAZYLEN(stored_mutations) < max_storage) + temp_html += "" + else + temp_html += "" + temp_html += "" + temp_html += "
[A.name]DeleteImportImport
" + else + temp_html += "
Load diskette to start ----------" + if("info") + if(LAZYLEN(stored_mutations)) + if(LAZYLEN(stored_mutations) >= current_storage) + var/datum/mutation/human/HM = stored_mutations[current_storage] + if(HM) + temp_html += display_sequence(HM.type, current_storage) + else + current_screen = "mainmenu" + if("mutations") + temp_html += status + temp_html += buttons + temp_html += "

Mutation Storage:

" + temp_html += "" + for(var/datum/mutation/human/HM in stored_mutations) + var/i = stored_mutations.Find(HM) + temp_html += "" + temp_html += "" + temp_html += "" + if(combine == HM.type) + temp_html += "" + else + temp_html += "" + temp_html += "
[HM.name]ExportDeleteCombine
Combine

" + temp_html += "

Chromosome Storage:

" + temp_html += "" + for(var/i in 1 to stored_chromosomes.len) + var/obj/item/chromosome/CM = stored_chromosomes[i] + temp_html += "
" + temp_html += "
[CM.name]
" else temp_html += status temp_html += buttons - temp_html += "

Radiation Emitter Menu

" - - temp_html += "-- Output Level ++" - temp_html += "
-- Pulse Duration ++" - - temp_html += "

Irradiate Subject

" - temp_html += "
Unique Identifier:
" - - var/max_line_len = 7*DNA_BLOCK_SIZE + temp_html += "
Genetic Sequence:

" if(viable_occupant) - temp_html += "
1
" - var/len = length(viable_occupant.dna.uni_identity) - for(var/i=1, i<=len, i++) - temp_html += "[copytext(viable_occupant.dna.uni_identity,i,i+1)]" - if ((i % max_line_len) == 0) - temp_html += "
" - if((i % DNA_BLOCK_SIZE) == 0 && i < len) - temp_html += "
[(i / DNA_BLOCK_SIZE) + 1]
" + if(viable_occupant) + for(var/A in get_mutation_list()) + temp_html += display_inactive_sequence(A) + temp_html += "
" + else + temp_html += "----" + if(viable_occupant && (current_mutation in get_mutation_list(viable_occupant))) + temp_html += display_sequence(current_mutation) + temp_html += "

" else - temp_html += "----" - temp_html += "

" - - temp_html += "
Structural Enzymes:
" - if(viable_occupant) - temp_html += "
1
" - var/len = length(viable_occupant.dna.struc_enzymes) - for(var/i=1, i<=len, i++) - temp_html += "[copytext(viable_occupant.dna.struc_enzymes,i,i+1)]" - if ((i % max_line_len) == 0) - temp_html += "
" - if((i % DNA_BLOCK_SIZE) == 0 && i < len) - temp_html += "
[(i / DNA_BLOCK_SIZE) + 1]
" - else - temp_html += "----" - temp_html += "
" + temp_html += "----------" popup.set_content(temp_html.Join()) popup.open() +/obj/machinery/computer/scan_consolenew/proc/display_inactive_sequence(mutation) + var/temp_html = "" + var/class = "unselected" + var/mob/living/carbon/viable_occupant = get_viable_occupant() + if(!viable_occupant) + return + + var/location = viable_occupant.dna.mutation_index.Find(mutation) //We do this because we dont want people using sysexp or similair tools to just read the mutations. + + if(!location) //Do this only when needed, dont make a list with mutations for every iteration if you dont need to + var/list/mutations = get_mutation_list(TRUE) + if(mutation in mutations) + location = mutations.Find(mutation) + if(mutation == current_mutation) + class = "selected" + if(location > DNA_MUTATION_BLOCKS) + temp_html += "Extra Mutation" + else if(mutation in stored_research.discovered_mutations) + temp_html += "Discovered Mutation" + else + temp_html += "Undiscovered" + return temp_html + +/obj/machinery/computer/scan_consolenew/proc/display_sequence(mutation, storage_slot) //Storage slot is for when viewing from the stored mutations + var/temp_html = "" + if(!mutation) + temp_html += "ERR-" + return + var/mut_name = "Unknown gene" + var/mut_desc = "No information available." + var/alias + var/discovered = FALSE + var/active = FALSE + var/scrambled = FALSE + var/instability + var/mob/living/carbon/viable_occupant = get_viable_occupant() + var/datum/mutation/human/HM = get_valid_mutation(mutation) + + if(viable_occupant) + var/datum/mutation/human/M = viable_occupant.dna.get_mutation(mutation) + if(M) + scrambled = M.scrambled + active = TRUE + var/datum/mutation/human/A = GET_INITIALIZED_MUTATION(mutation) + alias = A.alias + if(active && !scrambled) + discover(mutation) + if(stored_research && (mutation in stored_research.discovered_mutations)) + mut_name = A.name + mut_desc = A.desc + discovered = TRUE + instability = A.instability + var/extra + if(viable_occupant && !(storage_slot || viable_occupant.dna.mutation_in_sequence(mutation))) + extra = TRUE + + if(discovered && !scrambled) + var/mutcolor + switch(A.quality) + if(POSITIVE) + mutcolor = "good" + if(MINOR_NEGATIVE) + mutcolor = "average" + if(NEGATIVE) + mutcolor = "bad" + if(HM) + instability *= GET_MUTATION_STABILIZER(HM) + temp_html += "
[mut_name] ([alias])
" + temp_html += "
Instability : [round(instability)]
" + else + temp_html += "
[alias]
" + temp_html += "
[mut_desc]
" + if(active && !storage_slot) + if(HM?.can_chromosome && (HM in viable_occupant.dna.mutations)) + var/i = viable_occupant.dna.mutations.Find(HM) + var/chromosome_name = "----" + if(HM.chromosome_name) + chromosome_name = HM.chromosome_name + temp_html += "
Chromosome status: [chromosome_name]
" + temp_html += "
Sequence:

" + if(!scrambled) + for(var/block in 1 to A.blocks) + var/whole_sequence = get_valid_gene_string(mutation) + var/sequence = copytext(whole_sequence, 1+(block-1)*(DNA_SEQUENCE_LENGTH*2),(DNA_SEQUENCE_LENGTH*2*block+1)) + temp_html += "
" + for(var/i in 1 to DNA_SEQUENCE_LENGTH) + var/num = 1+(i-1)*2 + var/genenum = num+(DNA_SEQUENCE_LENGTH*2*(block-1)) + temp_html += "" + temp_html += "" + for(var/i in 1 to DNA_SEQUENCE_LENGTH) + temp_html += "" + temp_html += "" + for(var/i in 1 to DNA_SEQUENCE_LENGTH) + var/num = i*2 + var/genenum = num+(DNA_SEQUENCE_LENGTH*2*(block-1)) + temp_html += "" + temp_html += "
|
" + temp_html += "




" + else + temp_html = "
Sequence unreadable due to unpredictable mutation.
" + if((active || storage_slot) && (injectorready < world.time) && !scrambled) + temp_html += "Print Activator" + temp_html += "Print Mutator" + else + temp_html += "Print Activator" + temp_html += "Print Mutator" + temp_html += "
" + if(storage_slot) + temp_html += "Delete" + if((LAZYLEN(stored_mutations) < max_storage) && diskette && !diskette.read_only) + temp_html += "Export" + else + temp_html += "Export" + temp_html += "Back" + else if(active && !scrambled) + temp_html += "Store" + if(extra || scrambled) + temp_html += "Nullify" + else + temp_html += "Nullify" + temp_html += "
" + return temp_html /obj/machinery/computer/scan_consolenew/Topic(href, href_list) if(..()) @@ -340,13 +547,16 @@ radstrength = WRAP(num, 1, RADIATION_STRENGTH_MAX+1) if("screen") current_screen = href_list["text"] - if("rejuv") - if(viable_occupant && viable_occupant.reagents) - var/potassiodide_amount = viable_occupant.reagents.get_reagent_amount("potass_iodide") - var/can_add = max(min(REJUVENATORS_MAX - potassiodide_amount, REJUVENATORS_INJECT), 0) - viable_occupant.reagents.add_reagent("potass_iodide", can_add) + if("scramble") + if(viable_occupant && (scrambleready < world.time)) + viable_occupant.dna.remove_all_mutations(list(MUT_NORMAL, MUT_EXTRA)) + viable_occupant.dna.generate_dna_blocks() + scrambleready = world.time + SCRAMBLE_TIMEOUT + to_chat(usr,"DNA scrambled.") + viable_occupant.radiation += RADIATION_STRENGTH_MULTIPLIER*50/(connected.damage_coeff ** 2) + if("setbufferlabel") - var/text = sanitize(input(usr, "Input a new label:", "Input an Text", null) as text|null) + var/text = sanitize(input(usr, "Input a new label:", "Input a Text", null) as text|null) if(num && text) num = CLAMP(num, 1, NUMBER_OF_BUFFERS) var/list/buffer_slot = buffer[num] @@ -358,7 +568,6 @@ buffer[num] = list( "label"="Buffer[num]:[viable_occupant.real_name]", "UI"=viable_occupant.dna.uni_identity, - "SE"=viable_occupant.dna.struc_enzymes, "UE"=viable_occupant.dna.unique_enzymes, "name"=viable_occupant.real_name, "blood_type"=viable_occupant.dna.blood_type @@ -372,8 +581,6 @@ if("transferbuffer") if(num && viable_occupant) switch(href_list["text"]) //Numbers are this high because other way upgrading laser is just not worth the hassle, and i cant think of anything better to inmrove - if("se") - apply_buffer(SCANNER_ACTION_SE,num) if("ui") apply_buffer(SCANNER_ACTION_UI,num) if("ue") @@ -387,28 +594,6 @@ if(istype(buffer_slot)) var/obj/item/dnainjector/timed/I switch(href_list["text"]) - if("se") - if(buffer_slot["SE"]) - I = new /obj/item/dnainjector/timed(loc) - var/powers = 0 - for(var/datum/mutation/human/HM in GLOB.good_mutations + GLOB.bad_mutations + GLOB.not_good_mutations) - if(HM.check_block_string(buffer_slot["SE"])) - I.add_mutations.Add(HM) - if(HM in GLOB.good_mutations) - powers += 1 - if(HM in GLOB.bad_mutations + GLOB.not_good_mutations) - powers -= 1 //To prevent just unlocking everything to get all powers to a syringe for max tech - else - I.remove_mutations.Add(HM) - var/time_coeff - for(var/datum/mutation/human/HM in I.add_mutations) - if(!time_coeff) - time_coeff = HM.time_coeff - continue - time_coeff = min(time_coeff,HM.time_coeff) - if(connected) - I.duration = I.duration * time_coeff * connected.damage_coeff - I.damage_coeff = connected.damage_coeff if("ui") if(buffer_slot["UI"]) I = new /obj/item/dnainjector/timed(loc) @@ -447,7 +632,7 @@ if("setdelayed") if(num) delayed_action = list("action"=text2num(href_list["delayaction"]),"buffer"=num) - if("pulseui","pulsese") + if("pulseui") if(num && viable_occupant && connected) radduration = WRAP(radduration, 1, RADIATION_DURATION_MAX+1) radstrength = WRAP(radstrength, 1, RADIATION_STRENGTH_MAX+1) @@ -459,7 +644,7 @@ ui_interact(usr) sleep(radduration*10) - current_screen = "mainmenu" + current_screen = "ui" if(viable_occupant && connected && connected.occupant==viable_occupant) viable_occupant.radiation += (RADIATION_IRRADIATION_MULTIPLIER*radduration*radstrength)/(connected.damage_coeff ** 2) //Read comment in "transferbuffer" section above for explanation @@ -468,7 +653,7 @@ var/len = length(viable_occupant.dna.uni_identity) num = WRAP(num, 1, len+1) num = randomize_radiation_accuracy(num, radduration + (connected.precision_coeff ** 2), len) //Each manipulator level above 1 makes randomization as accurate as selected time + manipulator lvl^2 - //Value is this high for the same reason as with laser - not worth the hassle of upgrading if the bonus is low + //Value is this high for the same reason as with laser - not worth the hassle of upgrading if the bonus is low var/block = round((num-1)/DNA_BLOCK_SIZE)+1 var/subblock = num - block*DNA_BLOCK_SIZE last_change = "UI #[block]-[subblock]; " @@ -480,35 +665,173 @@ viable_occupant.dna.uni_identity = copytext(viable_occupant.dna.uni_identity, 1, num) + hex + copytext(viable_occupant.dna.uni_identity, num+1, 0) viable_occupant.updateappearance(mutations_overlay_update=1) - if("pulsese") - var/len = length(viable_occupant.dna.struc_enzymes) - num = WRAP(num, 1, len+1) - num = randomize_radiation_accuracy(num, radduration + (connected.precision_coeff ** 2), len) - - var/block = round((num-1)/DNA_BLOCK_SIZE)+1 - var/subblock = num - block*DNA_BLOCK_SIZE - last_change = "SE #[block]-[subblock]; " - - var/hex = copytext(viable_occupant.dna.struc_enzymes, num, num+1) - last_change += "[hex]" - hex = scramble(hex, radstrength, radduration) - last_change += "->[hex]" - - viable_occupant.dna.struc_enzymes = copytext(viable_occupant.dna.struc_enzymes, 1, num) + hex + copytext(viable_occupant.dna.struc_enzymes, num+1, 0) - viable_occupant.domutcheck() else current_screen = "mainmenu" if(connected) connected.locked = locked_state + if("inspect") + if(viable_occupant) + var/list/mutations = get_mutation_list(TRUE) + if(current_mutation == mutations[num]) + current_mutation = null + else + current_mutation = mutations[num] + + if("inspectstorage") + current_storage = num + current_screen = "info" + if("savemut") + if(viable_occupant) + var/succes + if(LAZYLEN(stored_mutations) < max_storage) + var/mutation = text2path(href_list["path"]) + if(ispath(mutation, /datum/mutation/human)) //sanity checks + var/datum/mutation/human/HM = viable_occupant.dna.get_mutation(mutation) + if(HM) + var/datum/mutation/human/A = new HM.type() + A.copy_mutation(HM) + succes = TRUE + stored_mutations += A + to_chat(usr,"Mutation succesfully stored.") + if(!succes) //we can exactly return here + to_chat(usr,"Mutation storage is full.") + if("deletemut") + var/datum/mutation/human/HM = stored_mutations[num] + if(HM) + stored_mutations.Remove(HM) + qdel(HM) + current_screen = "mutations" + if("activator") + if(injectorready < world.time) + var/mutation = text2path(href_list["path"]) + if(ispath(mutation, /datum/mutation/human)) + var/datum/mutation/human/HM = get_valid_mutation(mutation) + if(HM) + var/obj/item/dnainjector/activator/I = new /obj/item/dnainjector/activator(loc) + I.add_mutations += new HM.type (copymut = HM) + I.name = "[HM.name] activator" + I.research = TRUE + if(connected) + I.damage_coeff = connected.damage_coeff*4 + injectorready = world.time + INJECTOR_TIMEOUT * (1 - 0.1 * connected.precision_coeff) //precision_coeff being the matter bin rating + else + injectorready = world.time + INJECTOR_TIMEOUT + if("mutator") + if(injectorready < world.time) + var/mutation = text2path(href_list["path"]) + if(ispath(mutation, /datum/mutation/human)) + var/datum/mutation/human/HM = get_valid_mutation(mutation) + if(HM) + var/obj/item/dnainjector/activator/I = new /obj/item/dnainjector/activator(loc) + I.add_mutations += new HM.type (copymut = HM) + I.doitanyway = TRUE + I.name = "[HM.name] injector" + if(connected) + I.damage_coeff = connected.damage_coeff + injectorready = world.time + INJECTOR_TIMEOUT * 5 * (1 - 0.1 * connected.precision_coeff) + else + injectorready = world.time + INJECTOR_TIMEOUT * 5 + if("nullify") + if(viable_occupant) + var/datum/mutation/human/A = viable_occupant.dna.get_mutation(current_mutation) + if(A && (!viable_occupant.dna.mutation_in_sequence(current_mutation) || A.scrambled)) + viable_occupant.dna.remove_mutation(current_mutation) + current_screen = "mainmenu" + current_mutation = null + if("pulsegene") + if(current_screen != "info") + var/path = text2path(href_list["path"]) + if(viable_occupant && num && (path in viable_occupant.dna.mutation_index)) + var/list/genes = list("A","T","G","C","X") + if(jokerready < world.time) + genes += "JOKER" + var/sequence = GET_GENE_STRING(path, viable_occupant.dna) + var/original = sequence[num] + var/new_gene = input("From [original] to-", "New block", original) as null|anything in genes + if(!new_gene) + new_gene = original + if(viable_occupant == get_viable_occupant()) //No cheesing + if((new_gene == "JOKER") && (jokerready < world.time)) + var/true_genes = GET_SEQUENCE(current_mutation) + new_gene = true_genes[num] + jokerready = world.time + JOKER_TIMEOUT - (JOKER_UPGRADE * (connected.precision_coeff-1)) + sequence = copytext(sequence, 1, num) + new_gene + copytext(sequence, num+1, length(sequence)+1) + viable_occupant.dna.mutation_index[path] = sequence + viable_occupant.radiation += RADIATION_STRENGTH_MULTIPLIER/connected.damage_coeff + viable_occupant.domutcheck() + if("exportdiskmut") + if(diskette && !diskette.read_only) + var/path = text2path(href_list["path"]) + if(ispath(path, /datum/mutation/human)) + var/datum/mutation/human/A = get_valid_mutation(path) + if(A && diskette && (LAZYLEN(diskette.mutations) < diskette.max_mutations)) + var/datum/mutation/human/HM = new A.type() + diskette.mutations += HM + HM.copy_mutation(A) + to_chat(usr, "Succesfully written [A.name] to [diskette.name].") + if("deletediskmut") + if(diskette && !diskette.read_only) + if(num && (LAZYLEN(diskette.mutations) >= num)) + var/datum/mutation/human/A = diskette.mutations[num] + diskette.mutations.Remove(A) + qdel(A) + if("importdiskmut") + if(diskette && (LAZYLEN(diskette.mutations) >= num)) + if(LAZYLEN(stored_mutations) < max_storage) + var/datum/mutation/human/A = diskette.mutations[num] + var/datum/mutation/human/HM = new A.type() + HM.copy_mutation(A) + stored_mutations += HM + to_chat(usr,"Succesfully written [A.name] to storage.") + if("combine") + if(num && (LAZYLEN(stored_mutations) >= num)) + if(LAZYLEN(stored_mutations) < max_storage) + var/datum/mutation/human/A = stored_mutations[num] + var/path = A.type + if(combine) + var/result_path = get_mixed_mutation(combine, path) + if(result_path) + stored_mutations += new result_path() + to_chat(usr, "Succes! New mutation has been added to storage") + discover(result_path) + combine = null + else + to_chat(usr, "Failed. No mutation could be created.") + combine = null + else + combine = path + to_chat(usr,"Selected [A.name] for combining") + else + to_chat(usr, "Not enough space to store potential mutation.") + if("ejectchromosome") + if(LAZYLEN(stored_chromosomes) <= num) + var/obj/item/chromosome/CM = stored_chromosomes[num] + CM.forceMove(drop_location()) + adjust_item_drop_location(CM) + stored_chromosomes -= CM + if("applychromosome") + if(viable_occupant && (LAZYLEN(viable_occupant.dna.mutations) <= num)) + var/datum/mutation/human/HM = viable_occupant.dna.mutations[num] + var/list/chromosomes = list() + for(var/obj/item/chromosome/CM in stored_chromosomes) + if(CM.can_apply(HM)) + chromosomes += CM + if(chromosomes.len) + var/obj/item/chromosome/CM = input("Select a chromosome to apply", "Apply Chromosome") as null|anything in sortNames(chromosomes) + if(CM) + to_chat(usr, "You apply [CM] to [HM.name].") + stored_chromosomes -= CM + CM.apply(HM) + ui_interact(usr,last_change) -/obj/machinery/computer/scan_consolenew/proc/scramble(input,rs,rd) +/obj/machinery/computer/scan_consolenew/proc/scramble(input,rs,rd) //hexadecimal genetics. dont confuse with scramble button var/length = length(input) var/ran = gaussian(0, rs*RADIATION_STRENGTH_MULTIPLIER) if(ran == 0) - ran = pick(-1,1) //hacky, statistically should almost never happen. 0-change makes people mad though + ran = pick(-1,1) //hacky, statistically should almost never happen. 0-chance makes people mad though else if(ran < 0) ran = round(ran) //negative, so floor it else @@ -537,10 +860,6 @@ //Each laser level reduces damage by lvl^2, so no effect on 1 lvl, 4 times less damage on 2 and 9 times less damage on 3 //Numbers are this high because other way upgrading laser is just not worth the hassle, and i cant think of anything better to inmrove switch(action) - if(SCANNER_ACTION_SE) - if(buffer_slot["SE"]) - viable_occupant.dna.struc_enzymes = buffer_slot["SE"] - viable_occupant.domutcheck() if(SCANNER_ACTION_UI) if(buffer_slot["UI"]) viable_occupant.dna.uni_identity = buffer_slot["UI"] @@ -562,15 +881,54 @@ viable_occupant.dna.blood_type = buffer_slot["blood_type"] /obj/machinery/computer/scan_consolenew/proc/on_scanner_close() - if(delayed_action && connected) + if(delayed_action && get_viable_occupant()) to_chat(connected.occupant, "[src] activates!") apply_buffer(delayed_action["action"],delayed_action["buffer"]) delayed_action = null //or make it stick + reset button ? +/obj/machinery/computer/scan_consolenew/proc/get_valid_mutation(mutation) + var/mob/living/carbon/C = get_viable_occupant() + if(C) + var/datum/mutation/human/HM = C.dna.get_mutation(mutation) + if(HM) + return HM + for(var/datum/mutation/human/A in stored_mutations) + if(A.type == mutation) + return A + + +/obj/machinery/computer/scan_consolenew/proc/get_mutation_list(include_storage) //Returns a list of the mutation index types and any extra mutations + var/mob/living/carbon/viable_occupant = get_viable_occupant() + var/list/paths = list() + if(viable_occupant) + for(var/A in viable_occupant.dna.mutation_index) + paths += A + for(var/datum/mutation/human/A in viable_occupant.dna.mutations) + if(A.class == MUT_EXTRA) + paths += A.type + if(include_storage) + for(var/datum/mutation/human/A in stored_mutations) + paths += A.type + return paths + +/obj/machinery/computer/scan_consolenew/proc/get_valid_gene_string(mutation) + var/mob/living/carbon/C = get_viable_occupant() + if(C && (mutation in C.dna.mutation_index)) + return GET_GENE_STRING(mutation, C.dna) + else if(C && (LAZYLEN(C.dna.mutations))) + for(var/datum/mutation/human/A in C.dna.mutations) + if(A.type == mutation) + return GET_SEQUENCE(mutation) + for(var/datum/mutation/human/A in stored_mutations) + if(A.type == mutation) + return GET_SEQUENCE(mutation) + +/obj/machinery/computer/scan_consolenew/proc/discover(mutation) + if(stored_research && !(mutation in stored_research.discovered_mutations)) + stored_research.discovered_mutations += mutation + return TRUE /////////////////////////// DNA MACHINES #undef INJECTOR_TIMEOUT -#undef REJUVENATORS_INJECT -#undef REJUVENATORS_MAX #undef NUMBER_OF_BUFFERS #undef RADIATION_STRENGTH_MAX diff --git a/code/game/machinery/exp_cloner.dm b/code/game/machinery/exp_cloner.dm index 25e5948b51..d5388035bb 100644 --- a/code/game/machinery/exp_cloner.dm +++ b/code/game/machinery/exp_cloner.dm @@ -9,7 +9,7 @@ internal_radio = FALSE //Start growing a human clone in the pod! -/obj/machinery/clonepod/experimental/growclone(ckey, clonename, ui, se, datum/species/mrace, list/features, factions) +/obj/machinery/clonepod/experimental/growclone(clonename, ui, mutation_index, mindref, last_death, blood_type, datum/species/mrace, list/features, factions, list/quirks, datum/bank_account/insurance) if(panel_open) return FALSE if(mess || attempting) @@ -20,15 +20,15 @@ var/mob/living/carbon/human/H = new /mob/living/carbon/human(src) - H.hardset_dna(ui, se, H.real_name, null, mrace, features) + H.hardset_dna(ui, mutation_index, H.real_name, blood_type, mrace, features) if(efficiency > 2) var/list/unclean_mutations = (GLOB.not_good_mutations|GLOB.bad_mutations) H.dna.remove_mutation_group(unclean_mutations) if(efficiency > 5 && prob(20)) - H.randmutvg() + H.easy_randmut(POSITIVE) if(efficiency < 3 && prob(50)) - var/mob/M = H.randmutb() + var/mob/M = H.easy_randmut(NEGATIVE+MINOR_NEGATIVE) if(ismob(M)) H = M @@ -42,18 +42,17 @@ icon_state = "pod_1" //Get the clone body ready maim_clone(H) - ADD_TRAIT(H, TRAIT_STABLEHEART, CLONING_POD_TRAIT) - ADD_TRAIT(H, TRAIT_STABLELIVER, CLONING_POD_TRAIT) - ADD_TRAIT(H, TRAIT_EMOTEMUTE, CLONING_POD_TRAIT) - ADD_TRAIT(H, TRAIT_MUTE, CLONING_POD_TRAIT) - ADD_TRAIT(H, TRAIT_NOBREATH, CLONING_POD_TRAIT) - ADD_TRAIT(H, TRAIT_NOCRITDAMAGE, CLONING_POD_TRAIT) + ADD_TRAIT(H, TRAIT_STABLEHEART, "cloning") + ADD_TRAIT(H, TRAIT_EMOTEMUTE, "cloning") + ADD_TRAIT(H, TRAIT_MUTE, "cloning") + ADD_TRAIT(H, TRAIT_NOBREATH, "cloning") + ADD_TRAIT(H, TRAIT_NOCRITDAMAGE, "cloning") H.Unconscious(80) - var/list/candidates = pollCandidatesForMob("Do you want and agree to play as a [clonename]'s defective clone, respect their character and not engage in ERP without permission from the original?", null, null, null, 100, H, POLL_IGNORE_CLONE) + var/list/candidates = pollCandidatesForMob("Do you want to play as [clonename]'s defective clone?", null, null, null, 100, H) if(LAZYLEN(candidates)) var/mob/dead/observer/C = pick(candidates) - C.transfer_ckey(H) + H.key = C.key if(grab_ghost_when == CLONER_FRESH_CLONE) H.grab_ghost() @@ -293,6 +292,7 @@ temp = "Cloning cycle already in progress." playsound(src, 'sound/machines/terminal_prompt_deny.ogg', 50, 0) else - pod.growclone(null, mob_occupant.real_name, dna.uni_identity, dna.struc_enzymes, clone_species, dna.features, mob_occupant.faction) + pod.growclone(mob_occupant.real_name, dna.uni_identity, dna.mutation_index, null, null, dna.blood_type, clone_species, dna.features, mob_occupant.faction) temp = "[mob_occupant.real_name] => Cloning data sent to pod." playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0) + diff --git a/code/game/mecha/equipment/tools/other_tools.dm b/code/game/mecha/equipment/tools/other_tools.dm index a8ba9850ff..9632943c19 100644 --- a/code/game/mecha/equipment/tools/other_tools.dm +++ b/code/game/mecha/equipment/tools/other_tools.dm @@ -284,12 +284,12 @@ if(equip_ready) //disabled return var/area/A = get_area(chassis) - var/pow_chan = get_power_channel(A) + var/pow_chan = get_MUTATION_POWER_channel(A) if(pow_chan) return 1000 //making magic -/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay/proc/get_power_channel(var/area/A) +/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay/proc/get_MUTATION_POWER_channel(var/area/A) var/pow_chan if(A) for(var/c in use_channels) diff --git a/code/game/objects/items/chromosome.dm b/code/game/objects/items/chromosome.dm new file mode 100644 index 0000000000..1340e7f35b --- /dev/null +++ b/code/game/objects/items/chromosome.dm @@ -0,0 +1,92 @@ +/obj/item/chromosome + name = "blank chromosome" + icon = 'icons/obj/chromosomes.dmi' + icon_state = "" + desc = "A tube holding chromosomic data." + force = 0 + w_class = WEIGHT_CLASS_SMALL + + var/stabilizer_coeff = 1 //lower is better, affects genetic stability + var/synchronizer_coeff = 1 //lower is better, affects chance to backfire + var/power_coeff = 1 //higher is better, affects "strength" + var/energy_coeff = 1 //lower is better. affects recharge time + + var/weight = 5 + +/obj/item/chromosome/proc/can_apply(datum/mutation/human/HM) + if(!HM || !(HM.can_chromosome == CHROMOSOME_NONE)) + return FALSE + if((stabilizer_coeff != 1) && (HM.stabilizer_coeff != -1)) //if the chromosome is 1, we dont change anything. If the mutation is -1, we cant change it. sorry + return TRUE + if((synchronizer_coeff != 1) && (HM.synchronizer_coeff != -1)) + return TRUE + if((power_coeff != 1) && (HM.power_coeff != -1)) + return TRUE + if((energy_coeff != 1) && (HM.energy_coeff != -1)) + return TRUE + +/obj/item/chromosome/proc/apply(datum/mutation/human/HM) + if(HM.stabilizer_coeff != -1) + HM.stabilizer_coeff = stabilizer_coeff + if(HM.synchronizer_coeff != -1) + HM.synchronizer_coeff = synchronizer_coeff + if(HM.power_coeff != -1) + HM.power_coeff = power_coeff + if(HM.energy_coeff != -1) + HM.energy_coeff = energy_coeff + HM.can_chromosome = 2 + HM.chromosome_name = name + HM.modify() + qdel(src) + +/proc/generate_chromosome() + var/static/list/chromosomes + if(!chromosomes) + chromosomes = list() + for(var/A in subtypesof(/obj/item/chromosome)) + var/obj/item/chromosome/CM = A + if(!initial(CM.weight)) + break + chromosomes[A] = initial(CM.weight) + return pickweight(chromosomes) + + +/obj/item/chromosome/stabilizer + name = "stabilizer chromosome" + desc = "A chromosome that adjusts to the body to reduce genetic damage by 20%." + icon_state = "stabilizer" + stabilizer_coeff = 0.8 + weight = 1 + +/obj/item/chromosome/synchronizer + name = "synchronizer chromosome" + desc = "A chromosome that gives the mind more controle over the mutation, reducing knockback and downsides by 50%." + icon_state = "synchronizer" + synchronizer_coeff = 0.5 + +/obj/item/chromosome/power + name = "power chromosome" + desc = "A power chromosome for boosting certain mutation's power by 50%." + icon_state = "power" + power_coeff = 1.5 + +/obj/item/chromosome/energy + name = "energetic chromosome" + desc = "A chromosome that reduces cooldown on action based mutations by 50%." + icon_state = "energy" + energy_coeff = 0.5 + +/obj/item/chromosome/reinforcer + name = "reinforcement chromosome" + desc = "Renders the mutation immune to mutadone." + icon_state = "reinforcer" + weight = 3 + +/obj/item/chromosome/reinforcer/can_apply(datum/mutation/human/HM) + if(!HM || !(HM.can_chromosome == CHROMOSOME_NONE)) + return FALSE + return !HM.mutadone_proof + +/obj/item/chromosome/reinforcer/apply(datum/mutation/human/HM) + HM.mutadone_proof = TRUE + ..() \ No newline at end of file diff --git a/code/game/objects/items/circuitboards/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machine_circuitboards.dm index 10a2b2c807..2b942b36ec 100644 --- a/code/game/objects/items/circuitboards/machine_circuitboards.dm +++ b/code/game/objects/items/circuitboards/machine_circuitboards.dm @@ -66,7 +66,7 @@ build_path = /obj/machinery/dna_scannernew req_components = list( /obj/item/stock_parts/scanning_module = 1, - /obj/item/stock_parts/manipulator = 1, + /obj/item/stock_parts/matter_bin = 1, /obj/item/stock_parts/micro_laser = 1, /obj/item/stack/sheet/glass = 1, /obj/item/stack/cable_coil = 2) diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index 00381b9838..29009a88f7 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -150,7 +150,10 @@ SLIME SCANNER msg += "\n\tSubject appears to have [M.getCloneLoss() > 30 ? "Severe" : "Minor"] cellular damage." if(advanced) msg += "\n\tCellular Damage Level: [M.getCloneLoss()]." - + if(ishuman(M)) + var/mob/living/carbon/human/H = M + if(advanced && H.has_dna()) + to_chat(user, "\tGenetic Stability: [H.dna.stability]%.") to_chat(user, msg) msg = "" @@ -777,3 +780,62 @@ SLIME SCANNER var/response = SEND_SIGNAL(M, COMSIG_NANITE_SCAN, user, TRUE) if(!response) to_chat(user, "No nanites detected in the subject.") + +/obj/item/sequence_scanner + name = "genetic sequence scanner" + icon = 'icons/obj/device.dmi' + icon_state = "gene" + item_state = "healthanalyzer" + lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' + desc = "A hand-held scanner able to swiftly scan someone for potential mutations. Hold near a DNA console to update from their database." + flags_1 = CONDUCT_1 + item_flags = NOBLUDGEON + slot_flags = ITEM_SLOT_BELT + throwforce = 3 + w_class = WEIGHT_CLASS_TINY + throw_speed = 3 + throw_range = 7 + materials = list(MAT_METAL=200) + var/list/discovered = list() //hit a dna console to update the scanners database + +/obj/item/sequence_scanner/attack(mob/living/M, mob/living/carbon/human/user) + user.visible_message("[user] has analyzed [M]'s genetic sequence.") + + add_fingerprint(user) + + gene_scan(M, user, src) + +/obj/item/sequence_scanner/afterattack(obj/O, mob/user, proximity) + . = ..() + if(!istype(O) || !proximity) + return + + if(istype(O, /obj/machinery/computer/scan_consolenew)) + var/obj/machinery/computer/scan_consolenew/C = O + if(C.stored_research) + to_chat(user, "[name] database updated.") + discovered = C.stored_research.discovered_mutations + else + to_chat(user,"No database to update from.") + +/proc/gene_scan(mob/living/carbon/C, mob/living/user, obj/item/sequence_scanner/G) + if(!iscarbon(C) || !C.has_dna()) + return + to_chat(user, "[C.name]'s potential mutations.") + for(var/A in C.dna.mutation_index) + var/datum/mutation/human/HM = GET_INITIALIZED_MUTATION(A) + var/mut_name + if(G && (A in G.discovered)) + mut_name = "[HM.name] ([HM.alias])" + else + mut_name = HM.alias + var/temp = GET_GENE_STRING(HM.type, C.dna) + var/display + for(var/i in 0 to length(temp) / DNA_MUTATION_BLOCKS-1) + if(i) + display += "-" + display += copytext(temp, 1 + i*DNA_MUTATION_BLOCKS, DNA_MUTATION_BLOCKS*(1+i) + 1) + + + to_chat(user, "- [mut_name] > [display]") \ No newline at end of file diff --git a/code/game/objects/items/dna_injector.dm b/code/game/objects/items/dna_injector.dm index 10c81e9dbb..125c356a7f 100644 --- a/code/game/objects/items/dna_injector.dm +++ b/code/game/objects/items/dna_injector.dm @@ -14,33 +14,25 @@ var/list/add_mutations = list() var/list/remove_mutations = list() - var/list/add_mutations_static = list() - var/list/remove_mutations_static = list() - var/used = 0 /obj/item/dnainjector/attack_paw(mob/user) return attack_hand(user) -/obj/item/dnainjector/proc/prepare() - for(var/mut_key in add_mutations_static) - add_mutations.Add(GLOB.mutations_list[mut_key]) - for(var/mut_key in remove_mutations_static) - remove_mutations.Add(GLOB.mutations_list[mut_key]) - /obj/item/dnainjector/proc/inject(mob/living/carbon/M, mob/user) - prepare() - if(M.has_dna() && !HAS_TRAIT(M, TRAIT_RADIMMUNE) && !HAS_TRAIT(M, TRAIT_NOCLONE)) M.radiation += rand(20/(damage_coeff ** 2),50/(damage_coeff ** 2)) var/log_msg = "[key_name(user)] injected [key_name(M)] with the [name]" - for(var/datum/mutation/human/HM in remove_mutations) - HM.force_lose(M) - for(var/datum/mutation/human/HM in add_mutations) - if(HM.name == RACEMUT) + for(var/HM in remove_mutations) + M.dna.remove_mutation(HM) + for(var/HM in add_mutations) + if(HM == RACEMUT) message_admins("[ADMIN_LOOKUPFLW(user)] injected [key_name_admin(M)] with the [name] (MONKEY)") log_msg += " (MONKEY)" - HM.force_give(M) + if(M.dna.mutation_in_sequence(HM)) + M.dna.activate_mutation(HM) + else + M.dna.add_mutation(HM, MUT_EXTRA) if(fields) if(fields["name"] && fields["UE"] && fields["blood_type"]) M.real_name = fields["name"] @@ -90,123 +82,123 @@ /obj/item/dnainjector/antihulk name = "\improper DNA injector (Anti-Hulk)" desc = "Cures green skin." - remove_mutations_static = list(HULK) + remove_mutations = list(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_static = list(HULK) + add_mutations = list(HULK) /obj/item/dnainjector/xraymut name = "\improper DNA injector (X-ray)" desc = "Finally you can see what the Captain does." - add_mutations_static = list(XRAY) + add_mutations = list(XRAY) /obj/item/dnainjector/antixray name = "\improper DNA injector (Anti-X-ray)" desc = "It will make you see harder." - remove_mutations_static = list(XRAY) + remove_mutations = list(XRAY) ///////////////////////////////////// /obj/item/dnainjector/antiglasses name = "\improper DNA injector (Anti-Glasses)" desc = "Toss away those glasses!" - remove_mutations_static = list(BADSIGHT) + remove_mutations = list(BADSIGHT) /obj/item/dnainjector/glassesmut name = "\improper DNA injector (Glasses)" desc = "Will make you need dorkish glasses." - add_mutations_static = list(BADSIGHT) + add_mutations = list(BADSIGHT) /obj/item/dnainjector/epimut name = "\improper DNA injector (Epi.)" desc = "Shake shake shake the room!" - add_mutations_static = list(EPILEPSY) + add_mutations = list(EPILEPSY) /obj/item/dnainjector/antiepi name = "\improper DNA injector (Anti-Epi.)" desc = "Will fix you up from shaking the room." - remove_mutations_static = list(EPILEPSY) + remove_mutations = list(EPILEPSY) //////////////////////////////////// /obj/item/dnainjector/anticough name = "\improper DNA injector (Anti-Cough)" desc = "Will stop that awful noise." - remove_mutations_static = list(COUGH) + remove_mutations = list(COUGH) /obj/item/dnainjector/coughmut name = "\improper DNA injector (Cough)" desc = "Will bring forth a sound of horror from your throat." - add_mutations_static = list(COUGH) + add_mutations = list(COUGH) /obj/item/dnainjector/antidwarf name = "\improper DNA injector (Anti-Dwarfism)" desc = "Helps you grow big and strong." - remove_mutations_static = list(DWARFISM) + remove_mutations = list(DWARFISM) /obj/item/dnainjector/dwarf name = "\improper DNA injector (Dwarfism)" desc = "It's a small world after all." - add_mutations_static = list(DWARFISM) + add_mutations = list(DWARFISM) /obj/item/dnainjector/clumsymut name = "\improper DNA injector (Clumsy)" desc = "Makes clown minions." - add_mutations_static = list(CLOWNMUT) + add_mutations = list(CLOWNMUT) /obj/item/dnainjector/anticlumsy name = "\improper DNA injector (Anti-Clumsy)" desc = "Apply this for Security Clown." - remove_mutations_static = list(CLOWNMUT) + remove_mutations = list(CLOWNMUT) /obj/item/dnainjector/antitour name = "\improper DNA injector (Anti-Tour.)" desc = "Will cure Tourette's." - remove_mutations_static = list(TOURETTES) + remove_mutations = list(TOURETTES) /obj/item/dnainjector/tourmut name = "\improper DNA injector (Tour.)" desc = "Gives you a nasty case of Tourette's." - add_mutations_static = list(TOURETTES) + add_mutations = list(TOURETTES) /obj/item/dnainjector/stuttmut name = "\improper DNA injector (Stutt.)" desc = "Makes you s-s-stuttterrr." - add_mutations_static = list(NERVOUS) + add_mutations = list(NERVOUS) /obj/item/dnainjector/antistutt name = "\improper DNA injector (Anti-Stutt.)" desc = "Fixes that speaking impairment." - remove_mutations_static = list(NERVOUS) + remove_mutations = list(NERVOUS) /obj/item/dnainjector/antifire name = "\improper DNA injector (Anti-Fire)" desc = "Cures fire." - remove_mutations_static = list(COLDRES) + remove_mutations = list(SPACEMUT) /obj/item/dnainjector/firemut name = "\improper DNA injector (Fire)" desc = "Gives you fire." - add_mutations_static = list(COLDRES) + add_mutations = list(SPACEMUT) /obj/item/dnainjector/blindmut name = "\improper DNA injector (Blind)" desc = "Makes you not see anything." - add_mutations_static = list(BLINDMUT) + add_mutations = list(BLINDMUT) /obj/item/dnainjector/antiblind name = "\improper DNA injector (Anti-Blind)" desc = "IT'S A MIRACLE!!!" - remove_mutations_static = list(BLINDMUT) + remove_mutations = list(BLINDMUT) /obj/item/dnainjector/antitele name = "\improper DNA injector (Anti-Tele.)" desc = "Will make you not able to control your mind." - remove_mutations_static = list(TK) + remove_mutations = list(TK) /obj/item/dnainjector/telemut name = "\improper DNA injector (Tele.)" desc = "Super brain man!" - add_mutations_static = list(TK) + add_mutations = list(TK) /obj/item/dnainjector/telemut/darkbundle name = "\improper DNA injector" @@ -215,100 +207,171 @@ /obj/item/dnainjector/deafmut name = "\improper DNA injector (Deaf)" desc = "Sorry, what did you say?" - add_mutations_static = list(DEAFMUT) + add_mutations = list(DEAFMUT) /obj/item/dnainjector/antideaf name = "\improper DNA injector (Anti-Deaf)" desc = "Will make you hear once more." - remove_mutations_static = list(DEAFMUT) + remove_mutations = list(DEAFMUT) /obj/item/dnainjector/h2m name = "\improper DNA injector (Human > Monkey)" desc = "Will make you a flea bag." - add_mutations_static = list(RACEMUT) + add_mutations = list(RACEMUT) /obj/item/dnainjector/m2h name = "\improper DNA injector (Monkey > Human)" desc = "Will make you...less hairy." - remove_mutations_static = list(RACEMUT) + remove_mutations = list(RACEMUT) /obj/item/dnainjector/antichameleon name = "\improper DNA injector (Anti-Chameleon)" - remove_mutations_static = list(CHAMELEON) + remove_mutations = list(CHAMELEON) /obj/item/dnainjector/chameleonmut name = "\improper DNA injector (Chameleon)" - add_mutations_static = list(CHAMELEON) + add_mutations = list(CHAMELEON) /obj/item/dnainjector/antiwacky name = "\improper DNA injector (Anti-Wacky)" - remove_mutations_static = list(WACKY) + remove_mutations = list(WACKY) /obj/item/dnainjector/wackymut name = "\improper DNA injector (Wacky)" - add_mutations_static = list(WACKY) + add_mutations = list(WACKY) /obj/item/dnainjector/antimute name = "\improper DNA injector (Anti-Mute)" - remove_mutations_static = list(MUT_MUTE) + remove_mutations = list(MUT_MUTE) /obj/item/dnainjector/mutemut name = "\improper DNA injector (Mute)" - add_mutations_static = list(MUT_MUTE) + add_mutations = list(MUT_MUTE) /obj/item/dnainjector/antismile name = "\improper DNA injector (Anti-Smile)" - remove_mutations_static = list(SMILE) + remove_mutations = list(SMILE) /obj/item/dnainjector/smilemut name = "\improper DNA injector (Smile)" - add_mutations_static = list(SMILE) + add_mutations = list(SMILE) /obj/item/dnainjector/unintelligiblemut name = "\improper DNA injector (Unintelligible)" - add_mutations_static = list(UNINTELLIGIBLE) + add_mutations = list(UNINTELLIGIBLE) /obj/item/dnainjector/antiunintelligible name = "\improper DNA injector (Anti-Unintelligible)" - remove_mutations_static = list(UNINTELLIGIBLE) + remove_mutations = list(UNINTELLIGIBLE) /obj/item/dnainjector/swedishmut name = "\improper DNA injector (Swedish)" - add_mutations_static = list(SWEDISH) + add_mutations = list(SWEDISH) /obj/item/dnainjector/antiswedish name = "\improper DNA injector (Anti-Swedish)" - remove_mutations_static = list(SWEDISH) + remove_mutations = list(SWEDISH) /obj/item/dnainjector/chavmut name = "\improper DNA injector (Chav)" - add_mutations_static = list(CHAV) + add_mutations = list(CHAV) /obj/item/dnainjector/antichav name = "\improper DNA injector (Anti-Chav)" - remove_mutations_static = list(CHAV) + remove_mutations = list(CHAV) /obj/item/dnainjector/elvismut name = "\improper DNA injector (Elvis)" - add_mutations_static = list(ELVIS) + add_mutations = list(ELVIS) /obj/item/dnainjector/antielvis name = "\improper DNA injector (Anti-Elvis)" - remove_mutations_static = list(ELVIS) + remove_mutations = list(ELVIS) /obj/item/dnainjector/lasereyesmut name = "\improper DNA injector (Laser Eyes)" - add_mutations_static = list(LASEREYES) + add_mutations = list(LASEREYES) /obj/item/dnainjector/antilasereyes name = "\improper DNA injector (Anti-Laser Eyes)" - remove_mutations_static = list(LASEREYES) + remove_mutations = list(LASEREYES) + +/obj/item/dnainjector/thermalmut + name = "\improper DNA injector (Thermal Vision)" + add_mutations = list(THERMAL) + +/obj/item/dnainjector/antithermal + name = "\improper DNA injector (Anti-Thermal Vision)" + remove_mutations = list(THERMAL) + +/obj/item/dnainjector/telepathymut + name = "\improper DNA injector (Telepathy)" + add_mutations = list(TELEPATHY) + +/obj/item/dnainjector/antitelepathy + name = "\improper DNA injector (Anti-Telepathy)" + remove_mutations = list(TELEPATHY) + +/obj/item/dnainjector/voidmut + name = "\improper DNA injector (Void Magnet)" + add_mutations = list(VOID) + +/obj/item/dnainjector/antivoid + name = "\improper DNA injector (Anti-Void Magnet)" + remove_mutations = list(VOID) + +/obj/item/dnainjector/firebreathmut + name = "\improper DNA injector (Firebreath)" + add_mutations = list(FIREBREATH) + +/obj/item/dnainjector/antifirebreath + name = "\improper DNA injector (Anti-Firebreath)" + remove_mutations = list(FIREBREATH) + +/obj/item/dnainjector/insulatedmut + name = "\improper DNA injector (Insulated)" + add_mutations = list(INSULATED) + +/obj/item/dnainjector/antiinsulated + name = "\improper DNA injector (Anti-Insulated)" + remove_mutations = list(INSULATED) + +/obj/item/dnainjector/shocktouchmut + name = "\improper DNA injector (Shock Touch)" + add_mutations = list(SHOCKTOUCH) + +/obj/item/dnainjector/antishocktouch + name = "\improper DNA injector (Anti-Shock Touch)" + remove_mutations = list(SHOCKTOUCH) + +/obj/item/dnainjector/antenna + name = "\improper DNA injector (Antenna)" + add_mutations = list(ANTENNA) + +/obj/item/dnainjector/antiantenna + name = "\improper DNA injector (Anti-Antenna)" + remove_mutations = list(ANTENNA) + +/obj/item/dnainjector/paranoia + name = "\improper DNA injector (Paranoia)" + add_mutations = list(PARANOIA) + +/obj/item/dnainjector/antiparanoia + name = "\improper DNA injector (Anti-Paranoia)" + remove_mutations = list(PARANOIA) + +/obj/item/dnainjector/mindread + name = "\improper DNA injector (Mindread)" + add_mutations = list(MINDREAD) + +/obj/item/dnainjector/antimindread + name = "\improper DNA injector (Anti-Mindread)" + remove_mutations = list(MINDREAD) /obj/item/dnainjector/timed var/duration = 600 /obj/item/dnainjector/timed/inject(mob/living/carbon/M, mob/user) - prepare() if(M.stat == DEAD) //prevents dead people from having their DNA changed to_chat(user, "You can't modify [M]'s DNA while [M.p_theyre()] dead.") return FALSE @@ -317,23 +380,22 @@ M.radiation += rand(20/(damage_coeff ** 2),50/(damage_coeff ** 2)) var/log_msg = "[key_name(user)] injected [key_name(M)] with the [name]" var/endtime = world.time+duration - for(var/datum/mutation/human/HM in remove_mutations) - if(HM.name == RACEMUT) + for(var/mutation in remove_mutations) + if(mutation == RACEMUT) if(ishuman(M)) continue - M = HM.force_lose(M) + M = M.dna.remove_mutation(mutation) else - HM.force_lose(M) - for(var/datum/mutation/human/HM in add_mutations) - if((HM in M.dna.mutations) && !(M.dna.temporary_mutations[HM.name])) + M.dna.remove_mutation(mutation) + for(var/mutation in add_mutations) + if(M.dna.get_mutation(mutation)) continue //Skip permanent mutations we already have. - if(HM.name == RACEMUT && ishuman(M)) + if(mutation == RACEMUT && ishuman(M)) message_admins("[ADMIN_LOOKUPFLW(user)] injected [key_name_admin(M)] with the [name] (MONKEY)") log_msg += " (MONKEY)" - M = HM.force_give(M) + M = M.dna.add_mutation(mutation, MUT_OTHER, endtime) else - HM.force_give(M) - M.dna.temporary_mutations[HM.name] = endtime + M.dna.add_mutation(mutation, MUT_OTHER, endtime) if(fields) if(fields["name"] && fields["UE"] && fields["blood_type"]) if(!M.dna.previous["name"]) @@ -361,9 +423,41 @@ /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_static = list(HULK) + add_mutations = list(HULK) /obj/item/dnainjector/timed/h2m name = "\improper DNA injector (Human > Monkey)" desc = "Will make you a flea bag." - add_mutations_static = list(RACEMUT) + add_mutations = list(RACEMUT) + +/obj/item/dnainjector/activator + name = "\improper DNA activator" + desc = "Activates the current mutation on injection, if the subject has it." + var/doitanyway = FALSE + var/research = FALSE //Set to true to get expended and filled injectors for chromosomes + var/filled = FALSE + +/obj/item/dnainjector/activator/inject(mob/living/carbon/M, mob/user) + if(M.has_dna() && !HAS_TRAIT(M, TRAIT_RADIMMUNE) && !HAS_TRAIT(M,TRAIT_NOCLONE)) + M.radiation += rand(20/(damage_coeff ** 2),50/(damage_coeff ** 2)) + var/log_msg = "[key_name(user)] injected [key_name(M)] with the [name]" + for(var/mutation in add_mutations) + var/datum/mutation/human/HM = mutation + if(istype(HM, /datum/mutation/human)) + mutation = HM.type + if(!M.dna.activate_mutation(HM)) + if(!doitanyway) + log_msg += "(FAILED)" + else + M.dna.add_mutation(HM, MUT_EXTRA) + name = "expended [name]" + else if(research && M.client) + filled = TRUE + name = "filled [name]" + else + name = "expended [name]" + log_msg += "([mutation])" + log_attack("[log_msg] [loc_name(user)]") + return TRUE + return FALSE + diff --git a/code/modules/antagonists/changeling/powers/chameleon_skin.dm b/code/modules/antagonists/changeling/powers/chameleon_skin.dm index b7545353b2..03f3aab473 100644 --- a/code/modules/antagonists/changeling/powers/chameleon_skin.dm +++ b/code/modules/antagonists/changeling/powers/chameleon_skin.dm @@ -13,17 +13,14 @@ var/mob/living/carbon/human/H = user //SHOULD always be human, because req_human = 1 if(!istype(H)) // req_human could be done in can_sting stuff. return - var/datum/mutation/human/HM = GLOB.mutations_list[CHAMELEON] - if(HM in H.dna.mutations) - HM.force_lose(H) + if(H.dna.get_mutation(CHAMELEON)) + H.dna.remove_mutation(CHAMELEON) else - HM.force_give(H) + H.dna.add_mutation(CHAMELEON) return TRUE /obj/effect/proc_holder/changeling/chameleon_skin/on_refund(mob/user) action.Remove(user) if(user.has_dna()) var/mob/living/carbon/C = user - var/datum/mutation/human/HM = GLOB.mutations_list[CHAMELEON] - if(HM in C.dna.mutations) - HM.force_lose(C) \ No newline at end of file + C.dna.remove_mutation(CHAMELEON) \ No newline at end of file diff --git a/code/modules/antagonists/wishgranter/wishgranter.dm b/code/modules/antagonists/wishgranter/wishgranter.dm index 21cab26d1e..67359b28d3 100644 --- a/code/modules/antagonists/wishgranter/wishgranter.dm +++ b/code/modules/antagonists/wishgranter/wishgranter.dm @@ -25,5 +25,5 @@ return H.dna.add_mutation(HULK) H.dna.add_mutation(XRAY) - H.dna.add_mutation(COLDRES) + H.dna.add_mutation(SPACEMUT) H.dna.add_mutation(TK) \ No newline at end of file diff --git a/code/modules/awaymissions/mission_code/wildwest.dm b/code/modules/awaymissions/mission_code/wildwest.dm index 4971d82053..af0ddd3357 100644 --- a/code/modules/awaymissions/mission_code/wildwest.dm +++ b/code/modules/awaymissions/mission_code/wildwest.dm @@ -94,7 +94,7 @@ to_chat(user, "Your wish is granted, but at a terrible cost...") 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(COLDRES) + user.dna.add_mutation(SPACEMUT) user.dna.add_mutation(XRAY) user.set_species(/datum/species/shadow) if("Wealth") diff --git a/code/modules/client/asset_cache.dm b/code/modules/client/asset_cache.dm index 643d072469..88db23e05c 100644 --- a/code/modules/client/asset_cache.dm +++ b/code/modules/client/asset_cache.dm @@ -679,3 +679,10 @@ GLOBAL_LIST_EMPTY(asset_datums) Insert(initial(D.id), I) return ..() + +/datum/asset/simple/genetics + assets = list( + "dna_discovered.gif" = 'html/dna_discovered.gif', + "dna_undiscovered.gif" = 'html/dna_undiscovered.gif', + "dna_extra.gif" = 'html/dna_extra.gif' +) \ No newline at end of file diff --git a/code/modules/events/disease_outbreak.dm b/code/modules/events/disease_outbreak.dm index 07a399a1b6..9573bcf519 100644 --- a/code/modules/events/disease_outbreak.dm +++ b/code/modules/events/disease_outbreak.dm @@ -57,7 +57,7 @@ var/datum/disease/dnaspread/DS = D DS.strain_data["name"] = H.real_name DS.strain_data["UI"] = H.dna.uni_identity - DS.strain_data["SE"] = H.dna.struc_enzymes + DS.strain_data["SE"] = H.dna.mutation_index else D = new virus_type() else diff --git a/code/modules/jobs/job_types/geneticist.dm b/code/modules/jobs/job_types/geneticist.dm index d7f59ff883..6efa95cd91 100644 --- a/code/modules/jobs/job_types/geneticist.dm +++ b/code/modules/jobs/job_types/geneticist.dm @@ -32,4 +32,5 @@ backpack = /obj/item/storage/backpack/genetics satchel = /obj/item/storage/backpack/satchel/gen duffelbag = /obj/item/storage/backpack/duffelbag/med + l_pocket = /obj/item/sequence_scanner diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm index ab3b20ac9f..b79cbd846a 100644 --- a/code/modules/mining/lavaland/necropolis_chests.dm +++ b/code/modules/mining/lavaland/necropolis_chests.dm @@ -463,30 +463,45 @@ if(cooldown < world.time) SSblackbox.record_feedback("amount", "immortality_talisman_uses", 1) cooldown = world.time + 600 - user.visible_message("[user] vanishes from reality, leaving a hole in [user.p_their()] place!") - var/obj/effect/immortality_talisman/Z = new(get_turf(src.loc)) - Z.name = "hole in reality" - Z.desc = "It's shaped an awful lot like [user.name]." - Z.setDir(user.dir) - user.forceMove(Z) - user.notransform = 1 - user.status_flags |= GODMODE - addtimer(CALLBACK(src, .proc/return_to_reality, user, Z), 100) + new /obj/effect/immortality_talisman(get_turf(user), user) else to_chat(user, "[src] is not ready yet!") -/obj/item/immortality_talisman/proc/return_to_reality(mob/user, obj/effect/immortality_talisman/Z) - user.status_flags &= ~GODMODE - user.notransform = 0 - user.forceMove(get_turf(Z)) - user.visible_message("[user] pops back into reality!") - Z.can_destroy = TRUE - qdel(Z) - /obj/effect/immortality_talisman + name = "hole in reality" + desc = "It's shaped an awful lot like a person." icon_state = "blank" icon = 'icons/effects/effects.dmi' - var/can_destroy = FALSE + var/vanish_description = "vanishes from reality" + var/can_destroy = TRUE + +/obj/effect/immortality_talisman/Initialize(mapload, mob/new_user) + . = ..() + if(new_user) + vanish(new_user) + +/obj/effect/immortality_talisman/proc/vanish(mob/user) + user.visible_message("[user] [vanish_description], leaving a hole in [user.p_their()] place!") + + desc = "It's shaped an awful lot like [user.name]." + setDir(user.dir) + + user.forceMove(src) + user.notransform = TRUE + user.status_flags |= GODMODE + + can_destroy = FALSE + + addtimer(CALLBACK(src, .proc/unvanish, user), 10 SECONDS) + +/obj/effect/immortality_talisman/proc/unvanish(mob/user) + user.status_flags &= ~GODMODE + user.notransform = FALSE + user.forceMove(get_turf(src)) + + user.visible_message("[user] pops back into reality!") + can_destroy = TRUE + qdel(src) /obj/effect/immortality_talisman/attackby() return @@ -503,6 +518,9 @@ else . = ..() +/obj/effect/immortality_talisman/void + vanish_description = "is dragged into the void" + //Shared Bag diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 52cf82a06a..0ffa299b0b 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -181,7 +181,7 @@ if(HAS_TRAIT(src, TRAIT_PACIFISM)) to_chat(src, "You gently let go of [throwable_mob].") return - + adjustStaminaLossBuffered(25)//CIT CHANGE - throwing an entire person shall be very tiring var/turf/start_T = get_turf(loc) //Get the start and target tile for the descriptors var/turf/end_T = get_turf(target) @@ -623,7 +623,13 @@ if(M.name == XRAY) sight |= (SEE_TURFS|SEE_MOBS|SEE_OBJS) see_in_dark = max(see_in_dark, 8) + if(HAS_TRAIT(src, TRAIT_THERMAL_VISION)) + sight |= (SEE_MOBS) + lighting_alpha = min(lighting_alpha, LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE) + if(HAS_TRAIT(src, TRAIT_XRAY_VISION)) + sight |= (SEE_TURFS|SEE_MOBS|SEE_OBJS) + see_in_dark = max(see_in_dark, 8) if(see_override) see_invisible = see_override . = ..() diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 8bf6b4ad3a..c22144f087 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -69,6 +69,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) var/siemens_coeff = 1 //base electrocution coefficient var/damage_overlay_type = "human" //what kind of damage overlays (if any) appear on our species when wounded? var/fixed_mut_color = "" //to use MUTCOLOR with a fixed color that's independent of dna.feature["mcolor"] + var/inert_mutation = DWARFISM var/list/special_step_sounds //Sounds to override barefeet walkng var/grab_sound //Special sound for grabbing @@ -361,6 +362,14 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) else C.type_of_meat = initial(meat) + //If their inert mutation is not the same, swap it out + if((inert_mutation != new_species.inert_mutation) && LAZYLEN(C.dna.mutation_index) && (inert_mutation in C.dna.mutation_index)) + C.dna.remove_mutation(inert_mutation) + //keep it at the right spot, so we can't have people taking shortcuts + var/location = C.dna.mutation_index.Find(inert_mutation) + C.dna.mutation_index[location] = new_species.inert_mutation + C.dna.mutation_index[new_species.inert_mutation] = create_sequence(new_species.inert_mutation) + SEND_SIGNAL(C, COMSIG_SPECIES_LOSS, src) /datum/species/proc/handle_hair(mob/living/carbon/human/H, forced_colour) @@ -1378,7 +1387,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) if(radiation > RAD_MOB_MUTATE) if(prob(1)) to_chat(H, "You mutate!") - H.randmutb() + H.easy_randmut(NEGATIVE+MINOR_NEGATIVE) H.emote("gasp") H.domutcheck() diff --git a/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm b/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm index 9317a51050..23fcf2648b 100644 --- a/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm @@ -23,6 +23,7 @@ exotic_bloodtype = "L" disliked_food = GRAIN | DAIRY liked_food = GROSS | MEAT + inert_mutation = FIREBREATH /datum/species/lizard/after_equip_job(datum/job/J, mob/living/carbon/human/H) H.grant_language(/datum/language/draconic) diff --git a/code/modules/mob/living/carbon/human/species_types/podpeople.dm b/code/modules/mob/living/carbon/human/species_types/podpeople.dm index f0dd48c6c1..172fa5a6c3 100644 --- a/code/modules/mob/living/carbon/human/species_types/podpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/podpeople.dm @@ -60,9 +60,9 @@ H.Knockdown(100) H.visible_message("[H] writhes in pain as [H.p_their()] vacuoles boil.", "You writhe in pain as your vacuoles boil!", "You hear the crunching of leaves.") if(prob(80)) - H.randmutb() + H.easy_randmut(NEGATIVE+MINOR_NEGATIVE) else - H.randmutg() + H.easy_randmut(POSITIVE) H.domutcheck() else H.adjustFireLoss(rand(5,15)) diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm index 0061c7ed70..ec4e45a084 100644 --- a/code/modules/mob/living/carbon/life.dm +++ b/code/modules/mob/living/carbon/life.dm @@ -424,7 +424,6 @@ /mob/living/carbon/handle_mutations_and_radiation() if(dna && dna.temporary_mutations.len) - var/datum/mutation/human/HM for(var/mut in dna.temporary_mutations) if(dna.temporary_mutations[mut] < world.time) if(mut == UI_CHANGED) @@ -447,9 +446,9 @@ dna.previous.Remove("blood_type") dna.temporary_mutations.Remove(mut) continue - HM = GLOB.mutations_list[mut] - HM.force_lose(src) - dna.temporary_mutations.Remove(mut) + for(var/datum/mutation/human/HM in dna.mutations) + if(HM && HM.timed) + dna.remove_mutation(HM.type) radiation -= min(radiation, RAD_LOSS_PER_TICK) if(radiation > RAD_MOB_SAFE) diff --git a/code/modules/mob/living/carbon/monkey/life.dm b/code/modules/mob/living/carbon/monkey/life.dm index 906e138b0a..1c4ca28c58 100644 --- a/code/modules/mob/living/carbon/monkey/life.dm +++ b/code/modules/mob/living/carbon/monkey/life.dm @@ -38,7 +38,7 @@ if(radiation > RAD_MOB_MUTATE) if(prob(1)) to_chat(src, "You mutate!") - randmutb() + easy_randmut(NEGATIVE+MINOR_NEGATIVE) emote("gasp") domutcheck() diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index 6394b45aa7..2b6d1a7427 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -50,9 +50,8 @@ O.updateappearance(icon_update=0) if(tr_flags & TR_KEEPSE) - O.dna.struc_enzymes = dna.struc_enzymes - var/datum/mutation/human/race/R = GLOB.mutations_list[RACEMUT] - O.dna.struc_enzymes = R.set_se(O.dna.struc_enzymes, on=1)//we don't want to keep the race block inactive + O.dna.mutation_index = dna.mutation_index + O.dna.set_se(1, GET_INITIALIZED_MUTATION(RACEMUT)) if(suiciding) O.suiciding = suiciding @@ -210,9 +209,8 @@ O.name = O.real_name if(tr_flags & TR_KEEPSE) - O.dna.struc_enzymes = dna.struc_enzymes - var/datum/mutation/human/race/R = GLOB.mutations_list[RACEMUT] - O.dna.struc_enzymes = R.set_se(O.dna.struc_enzymes, on=0)//we don't want to keep the race block active + O.dna.mutation_index = dna.mutation_index + O.dna.set_se(0, GET_INITIALIZED_MUTATION(RACEMUT)) O.domutcheck() if(suiciding) diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index d8ff084227..6adce8f204 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -983,7 +983,7 @@ datum/reagent/medicine/styptic_powder/overdose_start(mob/living/M) /datum/reagent/medicine/mutadone/on_mob_life(mob/living/carbon/M) M.jitteriness = 0 if(M.has_dna()) - M.dna.remove_all_mutations() + M.dna.remove_all_mutations(mutadone = TRUE) if(!QDELETED(M)) //We were a monkey, now a human ..() diff --git a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm index f97204b45e..62f2da33ef 100644 --- a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm @@ -43,9 +43,9 @@ if((method==VAPOR && prob(min(33, reac_volume))) || method==INGEST || method==PATCH || method==INJECT) M.randmuti() if(prob(98)) - M.randmutb() + M.easy_randmut(NEGATIVE+MINOR_NEGATIVE) else - M.randmutg() + M.easy_randmut(POSITIVE) M.updateappearance() M.domutcheck() ..() diff --git a/code/modules/research/designs/medical_designs.dm b/code/modules/research/designs/medical_designs.dm index e70362553c..75b705fc35 100644 --- a/code/modules/research/designs/medical_designs.dm +++ b/code/modules/research/designs/medical_designs.dm @@ -162,6 +162,16 @@ category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL +/datum/design/genescanner + name = "Genetic Sequence Analyzer" + desc = "A handy hand-held analyzers for quickly determining mutations and collecting the full sequence." + id = "genescanner" + build_path = /obj/item/sequence_scanner + build_type = PROTOLATHE + materials = list(MAT_METAL = 1000, MAT_GLASS = 500) + category = list("Medical Designs") + departmental_flags = DEPARTMENTAL_FLAG_MEDICAL + /datum/design/healthanalyzer_advanced name = "Advanced Health Analyzer" desc = "A hand-held body scanner able to distinguish vital signs of the subject with high accuracy." diff --git a/code/modules/research/techweb/_techweb.dm b/code/modules/research/techweb/_techweb.dm index 17294fe108..dc1add8e58 100644 --- a/code/modules/research/techweb/_techweb.dm +++ b/code/modules/research/techweb/_techweb.dm @@ -20,6 +20,7 @@ var/largest_bomb_value = 0 var/organization = "Third-Party" //Organization name, used for display. var/list/last_bitcoins = list() //Current per-second production, used for display only. + var/list/discovered_mutations = list() //Mutations discovered by genetics, this way they are shared and cant be destroyed by destroying a single console var/list/tiers = list() //Assoc list, id = number, 1 is available, 2 is all reqs are 1, so on /datum/techweb/New() diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index 6877ba71f6..1a3601beba 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -71,7 +71,7 @@ display_name = "Biological Technology" description = "What makes us tick." //the MC, silly! prereq_ids = list("base") - design_ids = list("medicalkit", "chem_heater", "chem_master", "chem_dispenser", "sleeper", "vr_sleeper", "pandemic", "defibmount", "operating", "soda_dispenser", "beer_dispenser", "healthanalyzer", "blood_bag", "bloodbankgen") + design_ids = list("medicalkit", "chem_heater", "chem_master", "chem_dispenser", "sleeper", "vr_sleeper", "pandemic", "defibmount", "operating", "soda_dispenser", "beer_dispenser", "healthanalyzer", "blood_bag", "bloodbankgen","genescanner") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) export_price = 5000 diff --git a/code/modules/spells/spell_types/touch_attacks.dm b/code/modules/spells/spell_types/touch_attacks.dm index 794ed797ad..b4c236d150 100644 --- a/code/modules/spells/spell_types/touch_attacks.dm +++ b/code/modules/spells/spell_types/touch_attacks.dm @@ -1,6 +1,8 @@ /obj/effect/proc_holder/spell/targeted/touch var/hand_path = /obj/item/melee/touch_attack var/obj/item/melee/touch_attack/attached_hand = null + var/drawmessage = "You channel the power of the spell to your hand." + var/dropmessage = "You draw the power out of your hand." invocation_type = "none" //you scream on connecting, not summoning include_user = 1 range = -1 @@ -21,7 +23,7 @@ /obj/effect/proc_holder/spell/targeted/touch/cast(list/targets,mob/user = usr) if(!QDELETED(attached_hand)) remove_hand(TRUE) - to_chat(user, "You draw the power out of your hand.") + to_chat(user, "[dropmessage]") return for(var/mob/living/carbon/C in targets) @@ -43,7 +45,7 @@ remove_hand(TRUE) to_chat(user, "Your hands are full!") return FALSE - to_chat(user, "You channel the power of the spell to your hand.") + to_chat(user, "[drawmessage]") return TRUE diff --git a/code/modules/surgery/bodyparts/dismemberment.dm b/code/modules/surgery/bodyparts/dismemberment.dm index 31f08f0e87..fdc7ac9fe9 100644 --- a/code/modules/surgery/bodyparts/dismemberment.dm +++ b/code/modules/surgery/bodyparts/dismemberment.dm @@ -108,7 +108,7 @@ for(var/X in C.dna.mutations) //some mutations require having specific limbs to be kept. var/datum/mutation/human/MT = X if(MT.limb_req && MT.limb_req == body_zone) - MT.force_lose(C) + C.dna.force_lose(MT) for(var/X in C.internal_organs) //internal organs inside the dismembered limb are dropped. var/obj/item/organ/O = X diff --git a/html/browser/scannernew.css b/html/browser/scannernew.css index 0e809a6760..6746a61a0d 100644 --- a/html/browser/scannernew.css +++ b/html/browser/scannernew.css @@ -16,3 +16,24 @@ float: left; } +img.selected +{ + border: 1px solid blue; +} +img.unselected +{ + border: 2px solid black; +} +div>table { + float: left; +} +td +{ + text-align: center; +} +a.clean +{ + background: none; + border: none; + marging: none; +} \ No newline at end of file diff --git a/html/dna_discovered.gif b/html/dna_discovered.gif new file mode 100644 index 0000000000000000000000000000000000000000..bc6b75f2f984fd761f9877d80e0f46c9abd2dc27 GIT binary patch literal 48972 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 E0I&Wb&Hw-a literal 0 HcmV?d00001 diff --git a/html/dna_extra.gif b/html/dna_extra.gif new file mode 100644 index 0000000000000000000000000000000000000000..c92218a6613373a1b1f03ae379cbc0fb1f135519 GIT binary patch literal 48105 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 EFWx(-M*si- literal 20768 zcmb@ucQjnx|28~I^cE5|jHtOo5H-3WA-W)hFnaHz8zYGtEuwdVh!Q1Q)KLb}dk>@c z8f`G;Ik~^z-+JC>t@l~${p0lq&KYO#efHj;c3syNrK6=nNybbD0)Z%Bs4Bk%f$)G| zLCYjW!1w*9KXrf~V*&a`ZpU;S zyq2Nr0!m9>7|HS;GOCuwNJ}MwC}v{0PtEo%ollN)-Y7_FETx@Adi%UYG42Hd2RlxG3N+ z-z8K%;V|}1s8?0jTIG^^J^wn8?{(DlYsuiz;Y7C2muO=DzJcK}rB^K}S}oec^)+Ch zlo7dVy1s?4cf)FJ)KelqeevsMMZ6JeIIK95c{`&qlxO#qSfpJi3;TVF@X2;5at3L5 zZs4u$jhPKRYK;Kl;ZyMV!6`{-*cEUzTp=JlBF3lqBsAtBxBs6P`IieJAc(*lHT2b# zEi6zTmpUT5gC5$S)jl-)Q={py>jkHx8O&FI!^8*^-uOPtPpIXJ;A394OT~uH{Gy*PPPo4C@WfV9tYVu zKB2*?^n-Yd#X4y)YJd*t+g^ zLsNA+Obi;S&noqOAAIWTs`9sCc=PbqY=|Aw(I1YrSw?2Fwr(srVN*!WeX}cVRU0U) zk?7`zf`%7)V080QkQhtT4hd%SXgF?(`(5j%TL!3UFGx(uXMyHsNdDJ$+v$t_3eK}k z*e9BDg1=L>k`4+GxmJ5CM|PPBm#9Cpy#U&4Wq~^RycPa?%eVfm{LL&i)|`ljy&c4< z`ghWW-V^@cE@bFJYEsa~@eiaRnM-cirP=XJv8$UQTrgHJ*K3J?FB>QQ`ri-c#xc@( zHyz+X5I!NJxu_AQgQ*ooymPa)o zg)Vxx0kdPLazr~~cG}Q-Yu1!^-)?K~5p2t6f2h3R?>vNJ_Jdm2{!Uh|_dYkQic@D~ zpTvid%!hDZ`mlAC`hsvjfwdzigye$ox7A_m^3fAKLPqDaK*OcrQ;8ZYbDvvOz$+$x zFlSW=0TINo;}MbwwUf~Pd!fM0-(GR-8>J5Zg~UC;VbyPja)0WtjlkhJ^zJ#q&Cv(5 z6JlySg10en^*7hck2ajPeJc*!h*jS-opng}XQVacEF!r^{V?s=>%3Gnuw_SYTd(O! zXYGHw8N+M&+2TCUC%QH-2tLb@_amZdm&g!nL*E?1&!%gni;G&H*F49nTwOu}wu~_@ z9cFn3U*@R6`?p|Qe0aEuZp9e+`G_!f=%$-(Z?Na(2js|u=G20`+@?!Up5=za);}F) zCpW<)MlSA;URjz2^h(+ZG8c5hO2KG0pM7axI0_^F-_DBE!7W|~sHy@#;QO#=j+1_mreMh7$;8z4P zbI0_=2Ti90FSBUe>ViFy@8QwIkX~4+9+pU2YCi~cyl>}s@m;UE@uD|MzCAIXl{8Nx z8}j9pYcz8h{sA`gf?Xkmm#ITB@2~6eCe3RofQRBu6a83Vj7v7}H82Rggtz)VxhU@*{l%ghd?!j%Ciu(Jzkf2x4v9BUa6)9^M zney%C>}mgQ%h?1_fHe6wIxKH#7(d|Vm3atAn_0#V)cOLy8OBm2@gnbL7=Gj6=k^te z*`z*RFW7mc;0xTufPiUfWx0|*3T-_I`umYJ=j`ooBGN=YDtRDno}dG={XlI6!-AF> z%F)Z55HYN5;I8ZVgqAw&0=thaR5&FrGHyJU zffnzN-r7!J)ov01W{U2esL@|*GQY3$zm4kn5#@Ab?~B}4uQ_9hRB#>=7D-(_lF z`#Q4Z1`RNWK}X%NAZ;osEl_-cTp;{>Cv)zc>kqNtkI^xakY0oTK8XUJd?;YrhEBQm z8m-O^-sVm{A{=#1THGU=bq!tE<65>$sZN#KmVkd$PZg9WU!DukC5XnHDOENGafb|_ z%>^Ps(&NR*i1c>$E>`GLXN@0uJ8lOXNw(I7o z^^z*Y*PZeRgc>;<@%=qQO!ePCOsynb_O)ItBi0R;o?08#z33#4Ul`oPTrM>eEgN@@ zyz36W&YyY13MD`OxmR;(l53VzV<=~D=zFZG5TbRvh5TRt3K;+Y7oYoo_s0MKesUJf za%|HP*2tG-SP`1$?UZ4(?PNVD&yDLD)Rwp9TH;+RxoaU~W!C8bRK@{aK}iwvl>xiU z@@jQxpg&i21b)+YH}D3xz~|acQ~`V-@g0$w3KF_%%z<6X@?Bg|O>xN9w90*Food^i>@Py7*kuA2|ODHQ#a(I4D zm;DKD>h!41=^5@!MZi~E`tJ+g14fR!7UMhF%tX+)&9&pS1F%OpLB8t)FrLs@fpQ*7 zzJEWkH>w+Q-wM08EMiy28`TU3`ixgd1}6ri1$KBpZbQ+Rp^(6}Sc&IR_9P0wg<|}Q zUXo_Z_>cddon;64t%NbuYVe4h7JxC^dpJ})4)y(VDey=_4vSh#*Ot2q4aT14MsI9v zBrG(zjijm-o%Hqfp%4h=BAo|m5BsvEeQUeByFWmJPP$K$latrCa$#n1${ao%34Y~t zBfv{Yg^<+H_of-ist28AS`WhLf;L|(MB~d49@ESoKV2QWts_a;pTrb}@7JHh+8Pm< zS<`$7WDdSA<{(87t?^EC<^0JE?h~q0VkM@n?n7)g`lNd%XEIbhc7G4l+JyuZ{u^uHWas1pe3aQzcP>ph2nAHQ6$Kn!4rM3 zFoLwp8cuPa7|~Xe7&KoNmA!8!;TskX(C1E747e~G)_M!4yIM{W^X5Y$Bf^z7VHNkJ z##KwPJeNSbRjnsM9q1LbCbrB0SuPCo$^p8xdDR;K7zwR%<%dMp?p|UZIb})rx3EG(~g;QdK^7 zuRhhB7zFmt)X>mSzaZ>t;COm^da^a}a#KQFd^|z5P(hix0s?Qt{237RrA>r>5MJ#D zQGECq(ayn;Uj)a?k*ljYec?{YFHY8D8Ip1<+AV~)A4I|$^Bl8zS;a|ePS{S9hB7@q zJJ~E^v>W7iD1sUDVi07Y1x@@me_7{95aW2iJnCWC2%2YhJ3j@T^qTk!xYNJ=5y&X} zO|$2sE=VbFmBMKKnf=bd@=jQGw)U4@+=IN0H#ozp8`Kdw96Rq+c~^34ezDp2djvJu zI59EN`t|f^EQ`cu&D_26oj^& z#>kp*l&5`dZ75qXKdgO~&U_kJ9Y(F*1nSc5&fj+@dZ7;RtFq)qABskmdoe2WcR9oZ zm#Bu|WXp7*`au04Pw`F=4Y81O#3qDWJh06aPlyfgev~o(CvjA^2Q$zIz5*@3Fopfv z^2y^6r|;2@L`FgP2ARDuxm|~=a5r?51!D4QncJ*phIEjQ%oSe!x(2*a&;Qt^cFW*IgsNGgYcyo2c1>&RM8GWPz# zWHGW_N7I+Tu@sTe&6Ebv9n-^?EW^)3b@oUevtKYF4o2GJYehrS`J4(VRdiV}+`hLS z*>Y6il)hcU^iOci)$U}@U;Jt5`KZ%pjfl%X@8L*xrOlgBN7C@%^gDw&RAMs@Mym?!k+tx;}XRAos zrx|o{yXJ7QNGF=GJtZ}*HHXth?!7Vox1Te*_9C}Zv+A7aukJq&Bdz*{XW93724};* z{+RBc;HBQ$S!~;1`_-F|IBynn?pT{_>1?d2|Upp^+r_EkTOPg>(srW)vR7UMGG*PL7U_ zP+MEuz2%M%;#>Dr;@R#F3=A}1$BBAe{iy*hkzo#y0tVQ1?UW4YH0kf>g2iS^AX=Ka zJ9K<1csG2A-rRRS$Am^Qr1qMJUET!z%mmtnpxahSywAHi@)$Zge@vu<2Is~CQ?3=h z0%_^`gxxPw>AeH1f{oHMy zS5yQS6Tra2eU6_P$t-o^q>Mz#au{{dkX?2xbY%u_IZ<1#8f0zezma@UU0q#AKulGR zStgbr1)P6Qss6(?ci~9%uz@c%RdIm`ho!Re;SqwdMsjN*=CSFFceWQ>pS5s-y1F{g zZ3oaSxnPSq6txo3d=+>0-R_-TC7v4|YUGjJ9--&;T|An1zqrzkB#D-p#(8q^GM`Xv z%Nc5hb1duil4gli52qUu;qmzWSe*vHpSV8>m|5`MKXUpxEcoU$1tNvHGUOi{{Ad`# zJUMC|jbSAJoGXJEgW29UW_RfHhn0yR>yt%NOFYszA=%*_=|o$Tw|};Tm#ciZl>M2C ziwF5-)J7F|@KE73#czQ@G-MyNSzV6dw{k=mucO^R>jDNx4l^wPoJ#%O_+G;{?0F?* zXv6d5{QUe3h%da$*4zZH5x$hRYPv+c3%kk)kWtKIHnK2fQRX_lJR^SQ#y0}@qPsbi zl$7#cmRPr(jjL}GgM+Gy)m0WcT-=30_d)l0QtUuMVYMZ89X-?p8QNRwjQ5Xg7f1~W z=?45)`?5^nX9bui$AKtCJ(qVA&nb>ql*~)?)s5AZU$EqQ4j7c$IGz9U87K4nlu+M~ z$E!S#y7S<+i>XvHK3J|W$)NICvyg9C$%}7MIBNVSD)W>6RVPXz(<{;<;XtgOU&hIx zdtpe_-oxONZiYIqt>G}WqL+Zz6al<~Fa;;M-EMn+%(d%nF{WQgG0h3lE}=*-0U%)* zu@rWFEAfzSx#R zq3##ws50w+D#*ZVxG(n{?R`rZsUr#^^84o9o4A}$;+Xx)=ep`op!6?7n&+4pJ>R_x zE2Xy)m^!ZYTmEJwwXAs2U!#iS-^C8SUAp3WOBoc@Q^G4u`tX<2IG%ev>M{&M91_hS z_#;RT+y=u1dqSbm?cr=`y~a1LJ@p5wPwok1etrEe@i8+?K?Vt9)=e-6$80_8($W%J zy-Q&Kk8<~-mrVbp4*YW;A$vcxy0OurXU#)z<~(-M)Li?%bl&h_ch_=)|8c_D1+uxG zUk)h{6Ap6% z`^^d9j=UEQv}^^2->bxZh%XFS$LZ=^5Y~tr_W50l_}u`ZTncoDENm2WbJ^><*yKHm zF+N^qfCPDnW)8&}r*IdOj~gjMt-dwirBOWgY`ph_-zmw9ZEIFBWOtVGsiwOJcax1L%6G&to@+KUZm(2;&W<4iXrGTXpR&$(eMo(B0vj=@JjB@wc#-n)52Osl6#vfnE2 zULW9~TdAZWpgRrq^?wpn5dz6-V?Zqe>?hB8t{H|~ck@N)<#vNk}6JF&nXRi29;!V18Z z3}M#_0Tk%r+aR#tZfR^@H}ClFq|;VweF_HohggN%G4J@wwE$dBEYWk5XUqm4@HT&W`6 zVtEhbf8<@SV~(FZ&1=#~kzzau`T+WTkKX6-)dUbHJU6oD{jFCo`)pH^{&-4OAi2H> ztb7+UF4ltUxKy;!gl-}ge))1=bm7E7W6QXN5t%MO{RgV}t2qpTq7(DZ3&ptEH=rod2PX zvSzZXcgV;GiiQ=SEROi=_|B7!`8xr9YShWY*gk>5o^^LYxMTo(RY@Wkj#JdVp>J3+Q=NmstlyQw== z-109JwXBHufwymTHS_sG1|smez^g^ee2SFd`-SL|X2*)~3sK8ky&Mxs*Fa5{=uO+@LZ`=0L(qXors{9n&~ewBxifaz%l$*- ztDV1-$wFuyA`F>o?|>9iNFOd)S1~-bOwRirqP@g<(9Zl@ zYYO%14g8A5yvyOiv&kiPk+cU;ioNHb&-4TX|AN`4KBb&kTga|uC%rMnzKP|df zu-XgKraO~l_n0o*r}|{`?qdVvekObM^U+rwyx>nh3d8N?JSRXg4%8fD_DP^5QB69< zNRr!+H76dh#oJj`8+rKoJz0xe&o|<)?~@!Uuc#0JV%|TXeD^0==~-ECvNJQAofgEW zXJ*!b2;wmzdJbR`b(|`3{J;!;9~mBY?OpSDs{H#0|5t~MIMaRlwW+b@pu3FUTI*i1 zyV%}UNC=UpNmt7I!>GVU`ST~GGRt%2A9&Doqt(>WaJHuN^<~jcjtpObcO&=~*ZyPT z&T>UNCuZ`IEwnQ)R^zsGlNF(D?c2;KvdTWnsY+xqU#=o&5S0n*PQu{V( zcFdoerOkYLeneH?YoIQF-Aw7WLeUU~@;QzzPHF*)>|J{$!#09!^eX0$ zf&}bvzbesZW3l)Qn8@EUHEBgOji$7$N12rU=*Do~_*OKV3rhb|CRj8=C! zN`-nX7Zw&cl@W_tt@Tw^$5-zNh{>qIa{MU+Hf(@X0%C*Z+qZ8Y(MP+?)tgGXFSn16 z6{sAI0B`M-!SiIRTZ2a_Oz|l}$jg#KkKr`{n|k>$nFJ(B$ILX4>e-~Z6=d;PHihSQaSE=_U6Bl1h#JBz&@(hbR_UV{LPCJ@B znhJk!snoY+%k|Zy-Vke;Scya(@yWx3F-;HXqu)n5-&Y2z>*M2NcPt``PGTfm`f?9& zkr89|Zv*}O{4hYNs9vJ~P+OVViUP>~O#l?iHx4Wxd^%fgwMR_NHW(Kl?*@Ersi>&b z01<;F#NjnPAANLwR|K`ZxHhhJS*ln0`<<|+h1U7vt7SG)8@F`MpLKud+?(E+KJu0({8_&t+h2PR!}4Uqdn@~oPktCK z6A`LW{6-AVrAy_{0kJ%Bh*}W`sJ;Hc9q?y>NiE6x?9axYoSZ}eQ)#_W4+I7;U}Qj@ zEd8UYDZ?_R8o(NsWCJhuM+D7UP^Wcub%Rr7hTVd}C**;_!EOAZzv5$J)&an%`v*U* zB2fNZ&rVju4Wnkt{znVouJVyKceAx>C2DDJ`lIi8T;n}zi7!k=<7OQN) z*$PmYx}Rqv(VKxIGN*%-_m#ySG`Jz_$-_E*_~{1_YbPx2^&)-5y6C z8=JTCliPUHu2x7M_|j^~lX10PbS&)Xiwl!iN%Dwmd!E`U8SezLswf<67>$6&A3ZO3~c^VjrGw)hiN?*QAV0f;=W zczJpGnkx1(Gc(`Jct1>5BLcYu1O%)duXM41VgQ(HND|T(j0tG0UIi92BRA;Ji(pGj zMIhIC_2k|XRYaEt$;wvtaoY!7isdpaT_VxZgd_Ek_0ZUByshHj7Mf7O!n+Kg!dE6L@m z$mL!JVxSSMH`71c5&rDw6a{Z;CNf|}J;iXvCLi_V1gF_&|E3rXoCW|jRGm2l;(Bnh z0BQZne^RAwk_*}>*G{_uyPdVk;NTqf1h2zwP;@-R~ko22rACSD*)^k z9l&7)&YD2|KD=)D8X0EBZiNj+vxvyI4yy(!^yuw%`h6`c*;?yAnrC0b835dp`hQrl z%2)db;3GXWq?*>PE%F)#Gw)u)l3vJR6A_9dpB_V|RIN9QB^aa1tYzw|sZWmnfmbqx z{4go6V8CtuNcLNkziomFFnv~wQUXSXG#QhJf&XS47oeO*fX$qj6uha9CXR z7i2K?0n%?T)R3Uv6nasBSY`N?hGRwz>P;mg7ULWJF}->H+ArjTkyCa@sFjhmUq|zK zJ-9DGC*GFi5WNwLT2vdr)`82nbFqkxrD&8_D{2N(N9%?qwj@twM&VL(a5p&DXK;+( znK<@d2tW*S47T~E8KG|pZ$gN2OTLHS@s;1$Jm<^nk0=Dg6t1Ia115hvI zMEcLjYsY;d)oYbFxsx!ry!zC1ud3=b>w6@7VL0PEJy$n@dDP(XXk?=^Ksd!C7=i~r z;24<_Exw~L!aH_`Af5R06^6)oGaf6fFlsQJ2znuUvi<4Hh#9^%sbPx$Of0|>S5SK9 zV$)t-A3l@DULW0t{EW%Q%9kQw4)Lq7v5)W*sgp26SycR|$4nk;@Q+k?{7sG>-O=)c zh+Wdv0*1ac_%;{h(f$K5F9K)3&T}|kzy2Lu!2s$=5;j1Xw>`xT;(7tTRvI71iD&H9 zfIZGvD)E{pY~3uBUNV-*^BkZXjE})S=PUB~P16xGAViwC*F8&&sNb%W^}R+CIWf52 zmrMuqsK-_AFURZzKNSDP5!Z=28z?cGh6f6o1%gknM~?v7iRBSmUOmH%=y~uvWBfw{ z^jfEC>(luwq;rS-S`W@@a#h>32S#Cu;qu$H5sqsCT5ixQN(Wj_+Jh0C{qn@PowH*D z`;nq}4>)1??Lr}3X{blXZ`bC%rf5p2;ZLul#GcIWFYb0ltZa9|l~+V6-^UKut``py z(XbV_HQhQxj1;bvfnI~`=$=qTCJHWN!wjtemo}%IV5)~=7#3x9J;1R-6_E+g4bfH>j zD~~3nEPiG8coW)OrxSj1-`!UQoAsOUfwpDMA_G<$K6MRe=l6fOpM2pP zr!8DqsGT|CF}*t>k^ZZvxBfr0p7z|V)M9|LpV_UB0G>k8ZC<4#$CGaxoG zbLB61|N8QfE_YE8%1hB)kSQn{6Z#Sy9R2#zxYFKgU|`T}q)eP|#-f(#767wLLe>*w z$be-LtX5A@M__%5sy5uwtdNSyXdJET7G8?_?gP@*gR3U5;O#(^F;^=c#C z`v~u3j>0j!Y5}DJ3XK}EP4hl_I`H1vzwQ}YNp21NJ;e(xPeh;2E-t!y4ewL?^>XeU zM#i6H%OOuSpYj2sT+(2QzD!0AFz%oqI6kEixtYeZ&;Wxzb7~5J%=!3!n=Rr;_eUpC zixi61K)%sV5rqgDB}sc%)-v8o-~pOh!GhaTRn#M?~>mmUVBx{x5tkX6G>Gyu`wyT>Q+e3*;3S z1%V78>-ZyTE+|wjlRsH`SOsL+mEofg2KdicFpf3ql%C1<4WuBQ!kWb<%q+VbYawP= z%s<~Ju3$v&sSK3Rc^{N_;EBUGB?jm6ZJXabP z5+|u}brz{8I6rSug9((JW8npW+7m^`(P@M6Su*i!O%F{X-`vCds@VJ{EnBzdA9XwcF8GzFDPE{3tj^`2rYxP@5( zj^egP8|3!o2G7ulUYltmvIjxT13u$KHmf?7`N@<9ndyywG)eLlJrRM+FiLaIy#3p@ zi)qijaF?-g59OqZ+dJE?XDcj%RV+|HB3wu6mc(wCM9sUWE^p^&39HBG{-Wc*>x}-Q zUm&VuVY_Ga%UCV;r?6Fi|&mp!^ z(c>rrgkMh7cay`2QrOKfvcII6Yl|7d*=Pt&WyqVn&(_`iD>8d_Z2kA=k%RAQW{`=X zbX4;{9|RrHuM?4X_e*d$J;)7`8ahNoV&2e)Kk(LX<5#|?>?bQ)cPxDg!Vg_szc$_2 zEFUo=BIxplO4$DNqqJ{>FYd=q-3?fQ3GUmWrB~fFK&8JMem6icI|Mtr$H)2Mr!OSY zj0=7OlHOlcFmt2TaxG|QIIxyM6N15&@Ms=+D0?aAm zw68TEts!|HFx5|9tQ9k^>;DT<_$jFue+g1SNT>l_3E!2 z+d$NQN*yN|0Y|02+ZWy+q;(`!{$82LlqW^e_ft8p^gJziUR; z-6+(rbW03uQ9O^OyZxYsD)8XGvMu@08W8L&!yfNqj~=V?&d)`R{_#@a*wiHgwIjL$ z*|BaKX_vBRD+>Yyw@N!drM%SI?ZPo%I1*{dXt&hg-_%+sud1Ooh5GrcLhEd^Rc(98 z{C3HC*eDyX_nCb69c z^y;LNQcA` zX?#Et#W@M5S#?%(5L{5uCD7LN7u4i8Nb}#bs*1{eAMcjOGs1t~_c6HPSq5t>@g)3S z{=0YvJS&2Wal+cD^snMZ(KBh;HzYxprqxe(5y`DS&l(#f)eW@dI2g-?&E+j=s2R(> z72J=vpU}9%nd8V7@_ti>{~2LQhvU0vpCl|4YF2jY{`?1!9OhTt2c*DZEU@!MLc4b# zTb&zEv?Wej`vy(mM42d1P!OFMQr#u;WyFbLD%SwYt<#M8gZP-WzjL4U^s36>FqA^B zIw}M4^Ny+u18nFVcB@K+V)g!qx}9s-9g+q}lxi6MgG))JE5n#U2*J+|)GyQVuQMwo zZ&QpBz<&1~1SL`MPd)PnG4B++HeVknBH|7i-!VN}wBf*2mr)DGo9%QN8VWs5z%kao zO`9E)q-Hr3ayn2NANl>fRrxLHfeL#`7z2lkEkRtxH9_RyQ^VZFf(gIf8gc~)X9|j9 ze)OZsh`1x`mnpBv;6DVjw{f(;r~C?Yo5~QdUXnrk9X7fv?Zx!mdmc8d*|JKdvUDXi zcv@)rTaSjs>pF~Y0PJtwxww3COaS|5xJqXCP^1yCzUO)4{2$;GsdT>HH(i z>`QQ4E}F86xxWtu8{@#<8rO!sGcMMnL%FV1Qn7PCIdQYGa`_r_}vEfTeALw4@vAr3bzEXrje4=E&(har=6RI!^%mqkLZ@7+To_k6i49 z#OCia20MRxp+1j%fu8bw*1#!tMPK+GX9G_-7}Ex_JNT4ZJ5jdhRUlC9m#7PzuRvwd z4xwL?D;!&!DVx5_wM>3Xh5G_dFJItf_F2OckMX`)uEF_S(b31_N@}D8mgt+0Dw4q% zW#(g)-d@^vB#d=5b;X!XShUw^iu*C)@aJQ&Y*}iw_2im%=9*TDU+Ef353&&ehmpwx z@>P5JT+_|eXWKS?5?__pb~IlgfR1G{J<^2NrQjTzq`~-dq^(6AigE#8@3Wl?gLw4L z=E!HW<$@rnyVBO^23_@bf6>d<5(K0^*{lcoJ<*u^EqPsN@-vsSBQC7x!?q!WXH=9} za~MvxA{I|blCJFi+`!c9Xb8(iCVZnAwJZ*H*SM1*Y^VM1a%XUDk_sg8xBGo&Wn6S3vn|a4lB`7Mjg5L}U$4oAezJa26;=cVb1UX--g5|h{ zJeXCp9r8z(S`tooL<*gJZ-K8E+s6S^4sdILV)dgvmf{y4cks;>Uo-M{?*w6xE*?0rgD8e zOeT7o_@L&9m75-}(1V`27iG(^df5BB1#6|VQCtXyYhOow89<)v*ZxI#IPM7OO8(i61e^5A6v(~; z7f%-rR|LB0uyd43UOiL+`r*{s=mq-OyN1nBLoO5HMKV8~LVo{{`kLH!^Mw_L$wV*+ zeEAQu)m0%E^n!6K)t7VNcP9~5`)D-MzYl<*q!A2eC(F6qR>I|X;gI{7eJP#f;=^#m zh=P$EOH1!}sK4@f!4D%@9*}WTJQ+gqET8i^r96$-V|K-WJGuct#=pQF(Aj0A;F}&T z9N2pe0>EcQW~v|f#N9#nTT$83uh6kGQGzYI9k9@tzQ|YT;PkVaGKH;=zt~zzasMOM z2IWd3mvID$0?v=P=;ePFk~aXT=`s{c7$rgWkdMz6o4R{2^s;(DO~ z4n_jX>O6bV&vIush1t003(2tc+QqD)d z(D7jA|8uYQ%&=p^OIkXYaHiezA0c{=^Eog8M@jHBk3|6VXap6i7Zwa^te?%Pv&dT|fhgPx3&JWi+?4TSm)6w9?Z|16cMgFyWZlBd11Mis(1l=(&2|Kj^(2{8{@T#xqpsX;?sb*) zZU}cOcu4u^{JNai5N5uL4)Z zQ8`bF`5UHv84G^j^l25UDpxYJrj$y3 zSc=G>WrEw|0!JPH{42#}128HBK!+Qs5G4K~<7k6qKahDzi0)&16fFGpC0i~3uN1@d z)*M5ZR~23H{7q8Z&+h+GiXo#jPar^q_kcKm_uy`?c3GL{f6!Q;sK8AXF75gh3Zl(o zpZds^@K)@0X@mOmc^E)d$=>{?y!c~%8$ou03Acw>|r8qgM8MWPNfBsTIKg;XQAlA`3w!1#lwh+a6pi_cOq4xj*J36e&H18s;nQk7eAz7)!s^~((UlECVc>tinf zKUx9sDU$Oa%fd7P#Mj5;Or^Cohm(u1z*xdTZBNkjotv^hqsM0Q-w)sMp3hO^JyDuR zFjYl4;Aj`~g;0|g_;woQBGgbHf?;*OQdVHlXU|k64SQhk&JuZ{2pHq}Now}!Haj-_ zrB*DiDjt;^di8?7y%Z3t7EkS~^JI}I^YkJ5Z-cZG#ZN?M5%>Swt}gzTM)@fbPDN+I zsOT{u+pYA9OnoI;IzHH?2S7yy@*o`!jd@hsOD&$nSN$!qI(I+r?cR3@qDZpGaAg#Q zw?`D;(Kp6t>p)) z$o)^x4Ch;91QCcoPeXwA3t-!I3h#p3{7cbajU_PO-9H{i)jj2Bmz@=Qh60 z&jM$cD-{od#Bkp9u)4K=JF;Nzo(&42LbQO(wkWoA(7$X!XRfCZH-VVwZSS!KxujmF zHxbFntxeLU>!T~JwiG5Mus!`{PFP*?wo-;8;vYd)y{9G-hQ$Z^;H3c{K~tZoQX*Lq zhT^AJR^~y4D=W?eD{_n0)19PG1)$4$Hvm>wlrqJ7yC+Uky~$l7VTl}i4T02T`gxM7n9~{q3!+{_KAH71*Tw*)iGWI4 zHoM$CVwbNQut43S(<9pqlshk3bu*sQrFdZSrHLKCU9$|gDRv2P8q+;PS=l$YS{MeUK%$mbHM5VIh4Y7YkPBRpF)oW_i?-#eb28MYD zZZtuTOvU#Pw7^SyotfE3rM)lhVi&^mxzi;ma8=5&b>4hIG+^H9z7fSoRaf9+m# zG(5w|q#JVG^IHiwz_>8mXkq}UvS}6Qpnkpn*7d(BXP>rFSQ}c{z0z?~aFhkm&eGVs zadK#~Pp0Q3)PhBMQvt?1T?5Y{?`G#ijGD=pZa-ZPOVl!Sv$b(=wekL8yKEuz=D4 z_!h0E*lxNX3WTV9Y$4EiVwn6M`Xcn7UBr*_Q-SwF3>KBP9f%slR=il{eMm^Q>C!Va zt6a`?R+LH?kdik7=RhM=g0A79goT%ASfcL9)^b4ukYLccBT>HlB$IhV0*2=vwt@@) ztBP}vXY%j=_#C1_6OxGOpin~Lo73hHLLs53&EY0!|wn4FU3P);Eu zyY!=9Gb(LW^MOJzu*11ANT&+9@nmGkL|NvkL&$>Jzpz=Gq3Prb_`0QNK>fUL+-CrM5N={y>Jzi0857~o znsgSVi?Gdor`Rj}^Ca*>kR8?8QB?-Gi0q2WwVs-bt&%fi{3u%Gn+(^2ynAM&J`#QZ2A~TyPjmrq1`Ip2>{E^7;(x~(tIgT`!5^cwIe&9t>B<_j~J6Y+tyA|@oxkaYG_yS|JYod2bX7nM#(3eyjwgN4D$Z< z5EFwQA@G|)4rq9Rn4tqApF<>n*MpJsx$ACt)XwW24B&HVle3P?h1bx_URHeecROt6 zDl^DyIZ`qBJHY;zL}q)k>AN+dWmhtKdY2QB03A%Fga#JL~7KH?#Jw1e#3NX^_1O9d6#$ZNg7Xhblh%xhdZ2( z*(d8*<3g$w%s=zBLakLzc8yLFmgR-F*+TNa^5?x{1Hvs=d;zq_Y+K1&m39YYLHj{B z$END2_w27ta?KsgPIHXxWAg}(A+?uE$y=Iz5d`rqFTvHUJH>?3TJe;%*WMi(bK4!o zd*=>`%+cri3aqXmMa}mGrggP^D6o{bR(w|IuMTk)-M`4%B-aIZ&lLMC97kA|KCdyp zR>111icmysht|1qqF?N5jXsFZ=u!x_S`2vKHPOVQE>y)Fkk71WP`ppoWSDkSmRg#8 zo=2&Y!r?VWwfw}x)SL@PeLZTDUKYDh z`B2pTz_}P?nQr){#YVQ&P&4Gk-3^=(7Q~#XKR8vE0Dp3R)djhW35>Ok5e?G1|C7%E zhD`(aZ`*ogLy5YDAN;eSia_lWlnpq3jkqr{N$Tyoul)Z4soFT1EN~JZ#oIAUAr+%d z_OAbA?a`>&oy8aB=+G3J+Qy`w0*9Y4&S@c{F>_4o1y<~8p0*inldV!8r~E;^r;8|4 z-bdF+MSnMERVZ@FUE+Aj{rM>OMv`KJ|7xAm7DfH?mq|ZRm;J(H;k+>T5TGf=sk8QI zANPIb-IKkolly@|HPhddfMs}08IdW#pu+q#)kADXPo3(y_(A=r%N)VN@U%J~6&2ZN zj`|ObdL1|9w|L951d_amrrcV{T-Z&$q?;Z2u`Fa4{4N_|&R8xEg;fC~E9pD1y-47Q zufP!ljE)*J08##hUXza7}g$th8T$-&ln2Q5~4ru-? zOs;QollIFChdZ5(Ri*_~-v*edKP zXa;p~P=@fh<}hLb5@K3T8f)*gz8Xgz*(^o=BAwdpKkW`U+WOhVjSZ64=)I4q3W!2;C9@5vD@ zQj(njbgU^J-Wb9WK|$W)dq=1G@bCiz7>gyf+-P4hNiZUaRn4S3G0(el18h;`@NK=y<)`I&ctkYl2aU?wT^6{6`jwR0G4hmip zFAgbazXdEq=(ui!|3xc>H_zb4h0IVwX71wXW~phHxs|(slGPb;DppBYov&Ql zmjos5`7bI#vW-dts9IUS}n<87J6#UdiX6UB4Xf$xhGQ&K12e6t`21*Rf;4 z7Atxg`{m}dbv%3D)u`T;$UR>+U>E#9mVgL+-*?+uvMDw@B&*8UP^Cp9+VKf;J$ zb#FvGXQUu;-07d%T?M|6^Yfw%>RMjCIFAL4e35}{C!(60N9#jb^9)te#c3StvoH2n= z{<}=xV_ibQ1AYXb1|H?d(c4Mp_!)(tGBHqL^Vrsl`OuK{EqIWtYXVRr_6vGnxN&{2 z%1AtEXfCIgKh*c0qjkA5tA`xKEeNK=2U1!X5v3rr6G)6doOPr==vCBwqhJ-c`>8~N z83x3c{7y_>Q9pq%rljMRH&UTJ!MS$lwk`uVE9S0zZ@cuWp;UE|R9|yHe0$pHzq$e) z3H~;PxfX;!tHlaERQy~=qYyPy1!gi^sbLHk#J%rZItb5AOid*|E0r*)sC~+T8?f6d zYDJV+-UA*50a;x|lxk8O{f?3KIZ2wphvnA6tT@BMT^-m&n!S_7ETRP685uje+V?13 zqnm^e$cFYz0aI?v`um-c`s6KMGZ>j8RE&)`Jok3J?*_nwgoH`HP!Tr%>xCbRX`wrR z3za>xU{xNq)?j-{orb?&)x{Lnf2-~4vI?lII78hUf9f+Lud$q9cvhmjQZzg_yB!i2>T(PJ939rG^%WYHg zy(;wMM4ZJg@2&Tr1vsG7D^KVf+k88J6GrBCCOEiCWx+!`9y8-0*2WtYM^`D%5t%<( zvi$u*lqvYG*B3hp&LWnmc48;EY(ln#qApz=`4bu6-=6+~->Fk}oCvUXvVLPxSM58u zzHD=Zd!L1415vc6x1+>*7@62YEfNBYbsxEv*armN`XHnMR~ z0{RnmM8Y|CYA==gBFmz$@1*+yQ57~yjx ze!8*ex`RPHU7kfrNV?{g6j6a)Eek_xV6i@DUq;tyWVRqJpOo)Y9ealk)J6R(*q7^r z%^e1nq&#A|t9Y?u7jk=~i$VQ;JZ=1J@r2Rn<-9B|5&HD6Uv27bB)aaYNlSelRCW*T zWQsf2u&y!cW)9Rl>J!VftAQiohV4k8{op-U^9iMHzFjI$QhMMIk~l4|6vd!=SgeKY zDqeULzp{tf&J(<}f0 diff --git a/icons/mob/actions/actions_genetic.dmi b/icons/mob/actions/actions_genetic.dmi new file mode 100644 index 0000000000000000000000000000000000000000..72bd87f97ebb5494980bd7cd46d0337223ff2a5b GIT binary patch literal 413 zcmV;O0b>4%P)OhBM-Bu2;Ctd zd=9|k4C#|C$adh^cmO^@!qWsIq&ODfIAtmm9E0Q`3!o5;PM)8{(xbA8VorcU=F%fv zEEk*hSg-lBrYYd9YFfv*FWD~}gr<0C=bYAR*n5Rl5AmD6M~pFCg|xs800000NkvXX Hu0mjf#PYOQ literal 0 HcmV?d00001 diff --git a/icons/mob/actions/actions_spells.dmi b/icons/mob/actions/actions_spells.dmi index 072bfc8fe3cbf67a54de83ce57731d6ad406ef0b..7798b85c436a41cf37e2551942e5c7381a29954f 100644 GIT binary patch literal 25476 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 LLQ?ytVi)p12%AmQ literal 22665 zcmb5W1yoc~{4P3lNO$LuBAwD50z-Fqi-2^4Fm$K1beD8@3P^*rNVjyo}X+AH|oeI-x+^a2^?>JNH818_d^J2vi*uqM-1+C_}DGE zNKa~|f@Lz&BYVLR5YfDKaQ}G0LuM3vjfq#3C4ozE=JEM+aqpk$&>G`IJDE%?pI245 z{^?Ls!}wNm=g^ds;%Y=3bS2Ny3RSA@$Csp7yqPcSCQ2`=?{P0T&4|+86>n#y1zZ=2 zPt_7%qA1VZqoO-pj|&(5$~7oASMdM-iHBX(aya=ZS#j1O;-`l4>DUZXcK}B&svV5{ zi>iIJK-oA7>)VQ4?mj8MUmZHZ)(ZU_)V${Qu;XD+KST79^S9il0k_tM!Lm5Vfy?+e zFb^`m@uVUK2g_>#s~gXIuDjw^_W68cUHDYOUrg**!a0wZzK4&~@QJay1uhZThRRD* z8qTV-D_p_Rg}AbBZq4bQCOPM<8i`3$}nVNJj6 zgI0ESF7`kwszqYfA2vO2)`rI6Gi=Z$?~jCSSP--Y3@CLJDkfBF`REc$g#@n_I;Q&)GRqH zqc~jM*b|y^{Xy;DP3iSJLDtD+{2Kjt0*S8(Ta3rAvyWif&um_3lwPp0uu=(5q{Rb{ z`h0V|kfB+is2Ig~bGz!eq5Cp>P`6>{>Zep;6zt-H_Fj<}PR=^j@*$iuy09$FCf9I` z^)I;1HwGQwo9y?SE6TVNKjDy+TPt@-5|j)!Rn4yaiSYEMVTGBc#uhAbS@;6|dpbC} zaLN@KN^?)dDKGJ6en;NA2)f{S=xo!NaGsR=O!|G5M)k3H-F2h%0VBdhzNajIZ+|I* zuGY(ny7u-tnN?5VNW#}W4*|4^kqhf=#Yhe58n)sgv1s?G@pv0gj59>NfoHmkX7*K8 zzHf>mAQ`r2Z1=;=k{j0gimN!PaGqbM&h4STOgmRlbg|#R-b=*`nh5Y>bHnA6tQbD` zPKkaL_wk@CR{k0@h0&M?OqvPz&J777(ljZTj&LqzHt?Y^Q2nnq3knys(`ZsDXFgp( zjqmkbwz1w0wc4-=>!sPfuldO=Zx7GLm`y}s1N*3^{BYS@;%u&|)^;yQ$m za<1Lg&{DP8=5JPC!t)9jcdIwd{wOa0&kk~s^TGXW-BAKk!^3OW;}GeAVGziD!_!>rSOMDNpBxNT`?cqlGSe&NMtnoM{npTqJD6kU>tBhV1PbvLyg3%jdk1gzbqy&%w7->* z!UF-;Q^G?!gQUshb8q`6a|6ubC~%k~y8F&P?yXj5kbr6wVUCD#Ee=BQvR)Qgcc zg|BW@GNNZ|M{8rZ&r2MXtm~P*$pg;vN!Z&b*WOGJ5gDPOo)!9&wY>|qo9U~)LfDO| z0Qsj^XTBIIJnm-hkYFKAKo$2lC#dFOFUz^ws%4bIPlnIW8c8Sp z(veO!X!myC7n7!q9NGya54p(b{ysmY71}<2;&v2`#cW2Z_4&y6iTX1Q$~<8x$B&Sver8 zr4^h|Ro9indl>3dP>%!A&?@L?oKumcKnY<-OIYtjz9HjiI(uC=M7*H5AI0S;oRGnA zUTL)5KR5{5IAeILUCmwH?y{?}efua6fnXLZeNAO@1(}Tw%Ze>qb1-LOpa?+yy0`i| z*wSeVMv!7Wx!T$}zP0Pq=KDu8Y&mZ}#~EYYTmlQTSj@q|Yk9L-Pubs^G&R^ui}dNd zLEPXzx0~0m>*ps?;?W#n0UGhrVyo?KAW*kc3u5=<*nE2ZvCGb`fG^Q&aZ+N!d5{Sf zU@U*D#X!dfTsZVB(mRhKx#Tvzl?X`}Baj@Z?eLB8WfDUHG!q3&Vt@5xcgzR2PVTas zkKNC_$kfSdnH-l_K?EH8+dycYuSuF#csB)Rzw~>$7={NCuo}qavM}{#6E{+~#c99n z)r^vEJkSe!l#f#xw=HtQMY&)8zIyP*YeQAmbrg_CCFZHsq*+WqR^=Ct;HC(UB5?epK4$Fma9 z^x`7ntcW4h!mRvHjV}Z9+3?6ntSE2Arwew?^F~mV&E+9OA|^=W<<8uUF+VT3KO!Z>FK7*K{;*j%q-Ah!I<4VPHYgQZF>Ck*6QPPM9 zhd>0Az24P+GzefrbR*3g5r=6^%zy7dAqHF*$5pmO+@9n|5_;2}*BX z_l~L^`I7_@iCAAZGH~ui7}&eAy{G8T^*!%Jn%lY9{2_QYP?TmA3AB7`{(A8;=0R|E z3RVZwRKN`aXJ#1xyH5;(3<5Z(Q_in!5c>_2<%cK;?H4k)}I^Otmxk~dqfF{bWYvW&Z4|` zMLZ->1_h@70{353^JX0jMTF#{ZzrTa5BZC{A8X2p%EW^qz6bUE$-w8s#_WLxTfN6m zaPVhSKODx5PszOq-HsSJ6xSt9C`56TPGWC|S4{AYz`3v?@g{Ym$&sajrDy(?W6%i- zG-`Q1)c+)Jqjlt^O%>=PO!4IUk!=h{NT_>-UxsOLg80im<^HgVr-Y*SZ(w+i=T3KF z98|Of_9BtINv?6Z#^IRzaha5?93Q`m6*x-F8qalfp(URO^n!UmOU3kDK@`Qn*hk8=VVgF6|jC^&(ybV+*s zKt-AR#sbB+IFN~2^TM4=g=SoNqQJPXLu;nuRpy>X9(hTL`!uw5znn+px0PpEY~EnRdRAPepH-GF>Cms1AN@!AU_$dTQN7je73z(I!pMnGSB32lPT z@>#ekw>7Ju96uqC4H*of>3Xhx^luGId3*R8-hQy%CZ8^BjzO=O9c!NJX9q6}l9HzP zI9@i@73h~^G;7{~0Puk}hB_xOAXm8m?y0+_D;Gcip3&X_A?v*(?=PR+Z#^m;?wp#e zNz8Iumw{+XN=g<7KZ{gpY3r3lxS%sLrp8kna=xEc!FVXiQ0VqWWg;6XoXaFttQ$L? zC()NxA$L~+(VS>kKaux@Gg6$iw2=1{#&6(jfz=*owkw74(7B0EmFWlduNuMU#n|o1 zwqPzrZDHg_dLwb~x-zt#vnPypt=nQWa0F>R_uZ+hSrE}?>@*x=KKQ?U_<48I%_r9% zOxuoe8i5)Mn5V6mqdy)zB%SbYePgS);M*eZYI6>!X*y24e_i!hi-aE#28H%zH>>(-iAPd8B zE}d(fpoI7h<=rPyKJIC0YRAUsPKvm?098hKgU|Q~ful9u%IS$Pl72&L-ugKfWtjruH3PC>gTMm*0<^xamODHNsFg6NwW3l1A zzZIszI94M0PFj&IQvnoDdI;X}ivKx*!6ebd(n_q7nPw{^&tHs$wNy?7bZ0jC#3)T>%Z>3%cFDfb;YW_}*ZM`d zWq9sOLr&?wV+j7l3wQ8xE^~`TBwi78ITW}jUDc4Z2r5)RBP*yrf>bCcmg75hyhL!F z^8u&+Wiw-)!D7r~?TFg<+5&kazzk$8Ox*XmCfwO4)G9kv=-&VD#8kn$wZ@{^&XTs` z)HoRBZ1Q~jZEI7m3uP@EnN0p#EWT^w*2{4x8`+QFe!HeYgsko+>uv~tH8*!tFno9C zv5dOLf(&;oH#?7CDgWO7&C4rAe%<)IqR4*SxnWV<=8)%V?W6pdn$eVt1Cu=`y>7oO z+0E{QftZZkCLzvmNentS8qdi>Ft0!Grr$Bs`)+G%JG$>D+_}x;vKpm5YiL}%(;<%| zf(*N-lvr!u5&h$~PxlO|i2%aD-x#N*lo8R}W%M^o2(i5a8RYzTT4XNwss6w#!`p=C zI)Z#&L~SJOIr%a0J<3+9Bjaa&;3_~z>Fizv&M~?mIq+qRPCLqW)>80nT^FGFZEo`} zM>&>a1xY&}N!pyDM{~b-M)I+MCSQnCzRRH8xaqhA55dw;s5lTUI<#k`2<+Lns|QmR zZ;N2z*TG?2E4kISS|63C?jhPBFGXNuiaOFGhfMXB*|RtiQ?3_*C(54_Z{@^f_@&7e zX|jmK3U)O9G;#1l^wig8Cwb58t;CBa!kXfpu6=f4dP1C9^X5)Zo=HTM$%0%o1ZioL zVP4*DGlf0_SyqTPcsDpRp=R2N&q&B6JCPsPR7RvVo`{VCxOv2rdoJ1+xM3(tw)k7V zb^Qa3JXSn|ae*9zU=D-npPnSPx#}Uu@mT9bzyxrl-!ESzD9C4_$h}9tYR(occ<{3# zQlYt9{XyQ}Rc7$5sOU>=n&#I@{bnMzx4uFjb1q0&m7m_hw~DoA=d8`VVmj!vQt@9j zPuDtTmX-BehU#ka91JukUKE*zGm1my zv8UgyvcGm*CAOJ(c?qDRqGHLh=lWBOO1fjGCn%r|fk<@8&FL8ZGJHe~zfh>F)pb$F z)qm1-#`ji?vqZJVLBYj|$2UH^`<+zCI`R;JfPm27-oTGF{=-EzjDSt;eTx|axj`Mx zVa^Ni&9X-0n9&c@FTY0xqX{^obFEJsq@I!MyLLgN>iwPY4 zK}_p*6tjhV&t+Ij0xk%|e2u`;R>DRdjzQj+FBv{9>?c3;>?Xte32ie&=grum2;}LV z1-vPlIUOzY7}oo;J`SyVAqKly zq1!<(_67*zNs93`#lx(eNnJ+@pBw2dUB)wy`sLD zQC=&%IZZUC=LzKu1dyN*1B4A zm6eqhZ}9V{#g;J*n|H<(78hp%BMH$2#3`;&exJqp^T|D^ENZcxPr>po+*pX0dHedbh@5<0Z{q`H>OSy2CZ?gjIB>aM)DAEH z`fTFC>*=MzRIjfA8>oQFz$!%mw{p*wR31xPB>65kik9QC8^zN>y0{3B^B3p#2J;cP zI(?XG3CYRds;GZUdA9sUnXdH66a$468;+Lf+wiJk0r83kd&=#yNG&q83j1QTah3lD zztPNl;$>iNF+7$Y-gc2v}Ke zBkT~VjnDox^|-m01>yzbihFF2ZyxYjkCIW3aHG=TPq49JHY`OGP4F1{b0v$Ojg*v9 zuwsrSZYE@9MX$}YACX1B=^rEajD6I-mKiT%SHg?CA#@X@*y11FRrY7E%xjCuSclt8G)(|qJ&2l_7Bc}oA z{hN}sG(uTbRS__RjlKOhEvY%Ycu>sCT#5}pxqZ!<5h_Vl;A-(Iu6U0;w{OIjc-z;UnwK4Tmx~?w9eKa%CxS}~ z7?nZw<>kq0?~(H;d#I?vicFfI(oie}k}bv}#6=B|DQN3twK@C>Oh(Z`zL6heDJpE< zjv4J6ts!(!ITx)hb}A$({+5|JucF|S{|fv>pHu}W^?+l;vXE2rs-cR?W}@Y?G%|-# zvRZg~xw}G{B2x-7btE9vL@)vjJX4XWgj_ln4oxULOsJ-&CSy@~c{!dKJc;RJUIIs) z5E{F7T|og&m@mzNj{bV*?^TDT+8|ayTjQzk`oqvkqj|k^e^Qz1vD(m&47caCJqXar zGrwbGWMpMxVgiInm;4h}Q!~4~{5@k4?=u}-JY!K}c{ws-NP--=pga@I9Ev5Kx(j6) z_X~|zFE785p-Bi*VZ@7-qKT}|%myLKwxhnBF9sBZV#ULr*fVzGVg7nasjNtB-Vu}> zhqcf}=(O+Dhspb-xwGxCVhWRHF*0l-BXQB?x5 zF0ufxy!`O@$S|@TC{RtoftS>Q_v?VKk_7U63Wr6*vbUw~shZ~ZZ{6Lm8XrG?4B#h= zRZ);tLdhZazdI6D9i`28Hb8NxA76q9@bd5^L`I^9 zaCeN`%CJ|HBVg_5aTe4aK@~=-GcH5Y2W{IlvxVHHRZ(dZkU&a!zZoYHZD6zySH}^Y&j<{ow&!bjAQ7gX1llhMUU@h{=V=mP6d7l z2?*LObP=g7G?+Iq1D+WkzKM27M7?EJ(NMu?KStboRShmEP!M{W8`pjG_uZ(eJ1z;; z?vGyH93AeyGbfhN*C(|U$I0=Xz~5cH*sG)Z=PD6t#U_iU2WTRt>iYU$GjS~JKdY_b zYrv>TtNxY)Zx<)0f*4c5Wh$wbX_Hp2D<|&FYffw~@3X(Krj4Jvx0AD`RrG8*>|dl3nO>z=F`=AVVpvNW8Hn z@=8tRewGq=qLUpcHglmR_&#y`k>Mb!Z0MD*=mRJfE-nmyX3$)z}(6wtr|WgTF{2JIPmHR4eun( zW=QO8x?&Oq{B`~4n-1z}W%JFTcv^WoaOg>Y-f#RGL7=TAR)k&3Y?4H#hpFQW4}A$n z)r{$eexQ)toJGHo>&N||%_ljSet6+Hk(ZQl`P@4@s+|wQlU9}EC({CKkP%RlL_SuG z6b%lDMn3V_?L9dVH%?tz!R>3xe+g48i4(yBK&<+ZYFScV9xDfi6*iUwsmLcnXAj&w zg(w7iJJZcpEI*gNjHNlBw<0mpl06zcr?8mQ3bufE zC9Bzmzc3#9iAkqgYNlEufq)RGp*fFC4F=06Dj?a|OP83HdB*#dv9WX{k7TNas0TGHpQ^JJE62urT)%tvPwDI`EDj zxUB#n64enf4`nfF4`ZgHqEus>9G1Sx)B=yCB74(AF}LIt{q^+p6oe?^s!B^obX8QS z1jsM|F^|+cG_Rgu0J$#7a+y^=5y)tLTeV{b>cVU`z;s>9ps$1&*5;L zZB9^MP#-rmD9Fk8ENoY*h&kFtFtfEQ7f21I2=X5jo5&vOZXR#!!qbBLt8eI?u zjb@OTqUe+&x>xOH%yM0!2Gvm%o&rvt?Msm)U_|5fW(~_=z;B&f4U~nc%x6QGl&is$ z;>e${BrGJL=z&TQU49GQRN#e7U9T(x1UM)8M1xSQKTXAGx=lOP?Wd6|w*$BkvD6a+ zYc$N)`agO<3HK2}r5f`ii;FR@ezR#PAjT3r6&0yD@#&YXC^lMU^JU1WGfmdow6!7S~@p^q#Jfxps6HjL> z(SY9sWd0Xt(SDj;HJGn)SV*szllCZi(o!%n(5JfaT<;7ViGrIFxEw~ULJnF>PI%IH zgR533pBqN3Xy$jO;?iQ}%JAOlgEjCF66B=jLzr3C@?8A*#Aq{P)D$!{(aXz8W}+(l zf#eHhenWJ82`G5H9-Sm(t)2z<>m>aF>WIRsT35g$9cJRUmvBaqV#l$T&6+Bb9-puy z+0+Q-0Bkgrh7JJ@F2L^11Pv6(8Mwv}^Du)JHHgUcMPoyYuV)fsm5AK%` zQ%~Y0bZZR-voAZ#hV)XAlaXlvxkl=&MqE>qBti-Zu=$Y%a_?=)07N1omk;O-B&DhO zWfwtHGe+#qH2ZGj^2v=v`zTB5B*6sl$Qa`|2_*q+QW|c z8-q`n8e`<-^wd4He~VdKwHQ}oj7~li&4h+}V9TY|0LWnoCrBatrzH|h(z_Tk)AAT~CW0%%S2EB-o$FuHSk@iotBA$EX z2F@3QI)=t^vJ_qxQor8TOc4r`W^Lr+HnS447OB$p_k($;i>Zn3E9W3AJp``)R`5|J zP+y;hCu+*iN&kv$KYl#aFOvCKpIZ$U_>w`Q%q;Mr4h&G50cQtWESC9dcZ3}KV}pnU|976p6KDI=*;;YO0WhqMpq zZ)y2T4WmK;7zgDL<)OB`TwM5$rlK5GGkiUqySRxebP1Unz!))Vc2QC^2`21Br)Osn zL9>ey+PL_&Gy~Wh5~k~&QSIvPdQSFZH>uzU6)x@{b_Q9f_XEhK{4^2{!-&5k_lDZT zmRR4xTABOtew~zYJDY*Y3sgguR`u4LKeOcjW71?A-hZz+(eaiY=>BW<8`bSd&CT2%;!mJLUUR^jivhzi#g2ma`o1I}KYn zlW)m1I1%ugnkPtD7FQiA3iH6ghi7M$`zI#=K{=yDLk!shR*&&T!ViGcW;Sgo1+vnT zq4CH?8uM_x*wVzBa5QGqu?=$1^=SU-*q94^+;4JpTJxT~E~*Xn^*^M&(@)KTwKDbN zHEUj_YhPm>uP37qMLUd?#h0!-ptA{i5Mt|f=KnRjv9YnXy1KftxX4#pVY;!oX#(Jb z5>V*1ld06kX<_mWpoSkN>`SC*h$$xQ>3^zn*05;5EfdARrC}bSk>Q(MDFpe85Pq6w zVb@4Rlu8;c$5UdlG=G+@`(0I576BF}LxE=Jd_5stl>K0xLge=#o}tF9s({2)WEfeX zqNz!zP=<#QUIvyA35^G^490;)RB1W0EDd%^p{8m0iTh*V_^#SNl9g&nN^OB9R#RT? zm;AFD(Aw1Fj^k&vl zaG;l!ll)UmvZe0#)f3^wg$q&*&F_LZ5skOk*W^b>M{mOVO_{Q#e5bFb8P{`A4AZuWHnMy`P3T{ z3L>I-usn(L`)pR-R5}G)0D}HdVRS2~sX5aCWLZ%@_6MC@lRe5CL-dKqy9Y|ZBR+S8WOOP9oXG#H>bANVrHr(^`Gq$kk$f5KyGIID!V!l_sMk06{;MosoE6jl+(yGc| z`nO)3`N;r*<*Kd3sJ?%PbQ3b0A>Ud7VmR;dD!2T z8TKM>WGZfwQKYPUlv{(~GTbwNP6WK-?6?){8AP$UO(XTMVX%MT4VYG1KJ5UDYC8Cx z1PB?x&ZP|vTrPk2RY}kgbrW;2e-w9L;c{X1q?2;Pz9Y}yNAckeNN+Rg4Sp(Q@&Y6H zJ5Whx4eCZu{n}>vwETJH9fa3vf~Wv9wWvfnJF>MIVEI=K`8s|AtB`x#xxY zUVga;0!KM)+#*qX#R>yqJTY$1A3Fv-cBKvjzNMTO9tn4h{Uw_cu#cJAZY{&91BPo` ze`Ij!m!f<&uK;>@t26KDt^B%@Nd4INuR&dYkoRH@gQf_j@Zl|Pj@w%wAEhbXy$hn; zLDws(Mw#ldJCbMrE1^wb*(I5W9BQ_!XhJidQq8)`K@u#Ti6@IA=@T(Lm9~W>qk3Bc z*6&Cb0xt`9B8Eaf&emGJyUv0G8U3X&LfA;j>xdlszTx@qoz6UZqg|n0U{_TL0|{oA zQvZrQlM1Zo_h$gfm~-Bcl9KF?ts9YjQD*l08pJ>nSIUcyjz@vn;n1x-WO1BZMN|eN zgm{iKGODx6FsrUj{Fsp|G2QRjbvsB=MBr)WC8purH7mrKpFGYAyE$JvJyuSN^r^`FkDna_tQuAD~9t)jo-u=D$1CwJu0JA|WYFE2H9W=7kLC zL|eFJ;A??`-;A|K(%eh^tZULbEt!Jyszs>(`iMUsqX!1Fw?|+LyNB`Fm^V!2SFr3NL^XEPl4s`qKW1y>w!R@c;J)Mx>wEf9z}gpOuDgp$rFDISy!i zk?T{uh9NY*JmzoErmxO^BS`CLT#pK6KOfM&^`! z1O~fu%b$DZ3S-Sm$&XiA4ZK62qwA)yOMsa0Z%tNyBE^Nit5U7qFW>3@^PVFi3XOa2 zdAwB)y4_WJ7mnG3H1w^Dr$S`3f6~86iKG<3AmlZ$a=F-As1q5tQ8*6yeqrV)ntUTz{A!5>W z%=I-j!jmdfOz7V1(G@B%B$uwt6Rk^33=ydlMH-+m2P>A43{^%)GZ;GrU~mi*q0E+r zalED786}*}g)@ugz`Eso6%(-A_RCz%CrL|?bl+rviZ<@&U(PPncfuKRZD5iC231E_(eOcaC}tY z$*+u7{7_&oo=mzK73qDcVAB+rP!&+6g`T9qMDmtaza(j>-CsCp>VG<1ecwq!PYzJA z(h^}%WSdh4X13>ch#YA!W6ch~ZdFXYu2BtL_;E z&lKEQ9N&0pw3hVwP}oe8$X=ps=Nlgp-TscW*GC7Ed9~od|i2f$xtvhKvl7OOsyG z3KBJJ-`rSjR*}8oq>29|`kLrv$X$@(w}iP@JMvb=VM03RL(Kd2_RmAZe|YA)8?W-M zzZJI_)}P!w96l@mO%`dW1Ezju1-JVdx4;PT;N~w{C!B54^yL;(f#bdf)|vIXLmtpV zxM<3ua{X)|(Xm;!6)H&S-Q;d0`TPM;fGiCVx#@2#1p1|Jym+|Ye!zv}(E3lJPhUS(k)f-bNd&E1VfX{9`(t|S zwECK~=If$LH$I5K_|id1b@APGv}YqV^2Q{t%1e#$0*SFP-(NG#y(}7dhFD7PDfWWu z$>r!aLeTE(gXNvmLUIIle(6!_!(f__J{;(Z~)j*HZBx=Z6%%TBoY;RYc1ddOzKd-n_b3ZM39cKZ4kA zaohDk8{G>qQy;k~xQz~ovZ{u$v-th@v%eG57gR5M3q4Q;P%dJw?No1coB4*@b>^lz z1+ag;dB^Yv|44l2`hLJ~`%?u>#|70w$k5SM#N)t@7M$nK3gO}ZvU0MABK{Atct1kb z`dR4fiuQEZN%~EoaJSMM8SXQ3Z_u^Jp0Vi6`XJJ0B9le4#n}4MQ_1d{8^__z?i>8t zM9j4Z*zfNI4&(10-cQ+uV#u3U_PPviW7?24BQ`y(?O%y79HtyUi8Ju(FKkeWeui{j3c2xc8 zn`FB-8Rfs7A2Mvd&A8W$HF=bU%CQ~ zk)jksc9>j}go)v#5Q+0U{F)TByABHW zIkvyB#kMFMC(g-^+}uFpGP9#U^9(v_#84%nTfpls1|Be+rU<$WSLWF})(Wci4^5>dTTcIO$3H29Vs;zQ{>XXr)k%h%sf#1@pU`HHGWL@~Pd>Y0+5m?84JxP|h?e zNJ94_%8+j|AP)^V92HCqM4$fOv^+Njs;eZ>3+rBZ6bZVW|+ zOr*dzB@Al{R~>t3!&vTtA*AZ7cJAh*>}Ut4bg+h_Ro|)Ha$4ZNsf>`$#x#qk*>3RV z-eCL9fLiWM7^T%f$Tj+8FoPB=V}MbI{bO~OP2*NLv9zJ=8EGa0q|!j;rNeWv%d}w1 z#+-*W4rmMguMXT(j8;;am*7&N@wC#gNspua^|r=lV-~zN1Vqg8a0R0lDehPwmUUiL zS-k8|E|We_5t97>*ZxZkLVJ}w$)gVc!_S#ds8Z|eUcTvE{>u#q#`=v%_xm5cw};lx-Pzt$Ov;@Q5+k% zMVd@j>45S(BE+ZrPF&;F3?r@#sY}ds{eMdOh#vbI@x{z8ITqDBC`fHcAt=(1+y7O< z1?ifFta}`{yY7HlmlVeIjh#CJNPC|!1>XSp<-Gs1&E%N|QN2{0Y7qv4Q z8;ev>f`;cBVkNcHToqfwb$8<+$%@Y&8MwWG1xe&Xbsv*kflO+`Tyc-bV^;)23BmFlh7$U5?QD)WWo;Y<4{V zTAiZh;g`tf>Fo`&cf`0Cvtj?uTm?MXdZN>IaBxuc`(>N_CNt`K=JEzY`RD}>TE|WE zdsu#{OR69gEda$EimlE-YL*`UyfqH4@|5hmLLiE`OE98*m*MC2NNX(`_uJXo_=*l_ z-Q9EM8u#^Oac#9(6F40(>Jo<3dmI^OZvGnk6Uv4T%du|fSlG#v*C8mJ8RXDLEbjeR%yKsA$bhZ;BxIT>J;hFY< zc3X{)H*sVuB>Vx?qki0K>1#PyBQ!WDT2p&VaC3Vd^ER7P@Zf!`PT$T-<$uB_*1nXahAJ&H{Du*BMHe&@J&nq-_MBEG*?B?XV zwi3=SkGkr%*ruNC^i&U)nAA&vzi`_7v2=BLHPzC&xW1D9<2sR^iccPW6_MQqGjI7& zh}H{Js{$@&PBT$b3Te;lKJ&ga0`y$TG$y0M{3acce(sK_H55nDJCEkrns(={s_;iL(e}sFc6`vj=mO`Oy1@-w$ZpED zH2jVu0tMOg6P9ul5YvGOUEL9~5nXV{y!dZ57 z(78`#H=M``KP?UIhU11#a7jQr0))W-9?*-?J-#pd+!+WXuxzt^Ddx?m-kR;QjUOJb zobEq5GR{izX6@+ll?%V}0tZ*k9dEO>JNJ?Dp=Pf~#zrBtrs3nZvh#&Z`vUVZam{{# zV)}ues0MGWCekm$d+NR+-JGoZJrkzZys*2u-E!fl>{j@o8q6-P`<#8RpzvXtSdIG7 zlirFQpn^!{ty}DXGZX#PNNq#b+!n4V92jx@=GKH|3xCRgGNj_`fV4_t-PG#Olli#6 zalLY4U`loNY^h9|2etM;XLS^W+rh>#5r$KlQC)7AcL}s?`1n4j+0FZXtNIWMwy%cj z%?~j#r1{L)6B)v|43M0G3o*gIEo6nrD2{wP*vJnGz)6&$*f>!sulp9;!J?v%6i;_m z=t;%OuZI`kWRr8$I|Fb=kp`$uIwIu9kLdFZb7S5SOCK`%6_d+3+MQd_%SdNm#|16J z@dMO?-Um}lRD`CbyB~w=aa*`liNWjzH?a;Av}2@W=KG2Zpz`P|bN0iC5#UftG~YLv zz~ZoI6|@f2$Y=2|i$_20bl_># zt@}#C;QZ~nC48Vq-KvTt2pZw!(n5?bGfihWk*VG3Jkb)_CoCw^*Kz;m)8QNwP!^Ip z6}x?Yk;F)>ACVJ;H58Kzjf_xN;dB!E@l`!$`N|Fp^^2;8L1b5#2$_Sey9}bwJHj!j zYEKKMXkNgA+{j$KxQ6u2hYpL?ldEPYqfT5hnB@l>re(s7@1po)O2<*mwV$sJaTTAp zv8lFh2{~kqQxCoK$ZMpQ|6yPM4{PdzsSfRa{`F3u)Q)BkHb?{Wp{ld}i?*n`Ra3tz zD_noxVqsQjR~7JWbdaPi8VB8Gu9w)q9ub3jB4RO~wjHKmyw1md zvb4N24tTx&yAf~^MHCk*EkMjVfY9wtN%?CgLiroSXPT=I~$(a8@IHaoK#QwD2WVeD7Y1^*$o+f&O>AHpYHX*#<_vu z=3g~0&KeuQY~IZVzF6M{*%Bf1dy4UhbZ^MlRWuM!eYX>Bo2vE`apDtG%(;TWSAUZ6 z!T1Pw{`X_^X4)6NtVW0XtNAPcQO>_G`uFs;Lv_y8>FE`GZ2m3BZ!U5eDqo^4Map*ge;u&)0-t zUN$JrF}s7j(68M}s)Ng-k)e-#psjE^7sC(n|^(?kX%JKQ~8O{uDW#u(C63{=o`^YG~3b<1zDKzpy;X!AU~V=L6r@ z(zD5T2?!vYg*f2hx<9=8B>Str=LH_fHMq{NBl5!JH*BB)f8_18^|OBW6J;ONiaI)V z^U9yl)M>8H?ZM@H>HL(Sl|inkQxP;2%eQTBM_@|@8J8X+t*VM`HIah^8P#cd6Gb)3 zX<;VmwF^%s;D$_RK9pDJCIps;b>Jjm)e9w_Eh%`E0zKZI$zBIb^HbPJP6i`f+i}8k z>*EjYha+PeJibq* z*KN#=>cJZd5m%fhZpX5NgF{AD8q>eGn0a>FQX{-b4j4$l0;%Ccv7#%8;-JASGpk~TRssYN zWudE0vkY;v+SW)wV&A;P z`+^mnJu&eUL8(zBb8y9`2f2D`=rrW}XtAGI6brp+Zg+U&8SV1*0nv7q`f#_`d>G z6{_mN>2zSutn<)$A^>-R2M(7To}yBMlPM4oNNRmFvu_diKRgvAxjvhCFIlml#627{ z`#b{cD zLm2GuMQ_(h>~Cv>!|6gv**JuPgKcKtJz)?g-r|ffAz-E}E)v*}xtCnq&-6W{V?Wh< z$QAK;@VP&c80;7e(##Q0<{-MS03cS)nAu<`C|D5eIktDFO_u9=dQKq_IF8b>m3a5P zZJ57s5vEO_j^6H*@RXFnW|JYwHjF7NgQ}`fl?Xoi@IxHfzYlZIn~H(K0d#hD;?j9F z=;`kG)XZK|qamywf{`k3O6DQV=Do0M$GeAY+t20qA1TDk)$t@WBN;;~WV1qNd%!<& z(xke>hY!P5;K8xa55X=;=}jSaRu7^!9cA3ijAyq@>3K=K4Q4*Yli@#8ZW5#zpLD3ABGy)ZN{T#26-HtLrdf5DooIRYweL=x zH0j^oe|Ixkdc{>}*}W6fLm@Qp`2;80+i}rF7aRq~?PY#araba6!R(8!e!Q#W#GmIcT7Y*OH-S(EZ*BT3 zO58Fk#}?!B&-P=>=FRYLdJ`v(e~!85O+iOnE1I^wkA(~7qokw+HS=reo*hm1kDIpe z6DvD;1ONRwtx56zW(?B`~E~W3<8ei zbmeBY^7eCUKM!-vTD2-X=i=oLcXf2!#nkCDF*rDg0#7l{UwjF^ zy7E?h<@%dWoi}Ih|L-m;ojzgCl0PN0Rz#Ewn(P0Vy!|{ePFKvi`05vYKHrP~^@|59 z!@-F zKpSthfB*gwx1UEInZl@yf~uc7{@H}{TfSrbu|J&s)6*i_%!udvKR)>N&*bsZ zx$Jhn7Bmk_oZs>tT6F$xL)#yIhvu4u^d2Ae{U4vP%|83@@zK#p!cj@Ud>=6T5XlDs zMd#lZL&AUR{7O>p$j`>SJZy6C^Tm#w+-0$3e?^<4E7vH_>;dR6^zM* z%NY;lk3Jgpo^AZG%1ilIvd0o3ttXj~+`8F$0%jkKgp#KMgA*=*bzdTnLB5#yt>1jPFJWfh0-z@BjYqxCDtI+w9BZHBX345wiR?UrZ1tTi^+{@}h|V zfOYp>hpI=kJCw$CgsF78&NWO^5mS@fBf;s={@({W7%KJ zwi}r$$m4$E7t#<6{(tsoEf>fLw&2{0LCF!Ud$-k4JBInw&HUC~iVz)S{V)~s1W zay6dtcfb1`0Y-j2C4)GSI@9EHD0^v0o|QBaXaWUeA?N9qH`-6$D9S=MS zkKT73T3T9g-S+JOfa|tzM@vf!0F8XRZueo{Q+`xE`jSDyco>xg%rqDg&Q|-GhSIf# z+MNXmxfi7Tz2?mZc5w>E)Q=Ck@Tw<9LEE49$5h48dwg`>Y+zSQdf$gfO-&8fty_nO z9(oA#=g-HE9Xs&-?|&bwR;|KG0P~*G?lT$k0coZoY_>da^DsyMvDc|wx`c#-{VAVI z9`}=7EgA{qjdUn~^wFq1V7y!)Prh{2@4*Kjqz^v$pb_o#`FyzSvdi$`gAZcw3+wRJ zuYMIPSFVK5=flzauEWMcn~nI_0U5P#oWWFBw!w=FUHQefgJwu|I$EkCV-j1FiB|EuVWEVt8G9# zFBS5|BOOE4qc35To_=U-Y(z~>4K{7s1OV8yX_KLPyKeWHp3iLXL`;i-E|)8v(=vv9 zB}{g}QU=4lP9QiFx88O;03aL=V(qifPyo1K$rVWxQ6wQl`E5Qe_@b*Fzs$tTi-2Kax!#dRenfosz>_eY{M`pz{z_M@ zxE|q95EG}&#O@vM07#8|Jj|k+F^b4-M;-fTe>x`PV*7XgV0>nzjZQ z)h*e(DGnn&8X{XrO968|8Y0*B&lWHe{!`~ys1*rCbqodvFgVbQS6|zZm3wM`+CNl= z#`=HU_Gm*|1kCk__&i1y$-1ByEV+Wb_~P>v0G4093;@v98P52xB~La+!qJMfT+m$i z0rOGN(-$jNT#pqit_P4h`RF}9YMOwbd$suqsqQ}wF)9b-=5c!BylGX`>2l-n(N2;I z`FP^_{`{!1?fY|V|IX<1B}pZ;!X9IGm5m=2h8>IV7Xo%EsxB= zO6i7;-LEB7N&hwX;RmCYfVl?0nrx$gK|XsZHXOX*|}Lc-n+KvWHPStfA5G zCtjbA=7M~gwx2EuhHF39Q-6eWaD}Y`33BW-%%VX!VeZ3XrXb@ocwmh82-- z8n#}v{W?$lG?5koj~;oI&Z(|5w)Zq|L)GNvS@};$#m$QMaOUl24l5$xq>C+<>^1S)Ybd{MoRb7nCLkkU^Uf9o0!Priv&A4`CXtC> z@Zmg!XS;nf@Z|gG%`H*yXDSKlv$_JVT}woQU9_eZ7k{%A=l7y3{ zh$d(}LZN!vJ{z==dsd_~sx0z$LweB?rs~tbd6Dz`I-i z5_Ml` z-X9z>1Wc=@Y)|txlvflQFQ$rlocVas_G`l2PKMKgd^`e&J^?VKhKWE{ucqqin<-hn znqIo56_>7QMd$U1dNGW7KALvtoseFzUuO%NJyW3mPpTP3+251 zn~8Y)Hxsd~z7ikRkH^Pfnt)yPRTxtP6fcN9S5!tb5(eL_1OPlYH}+PN?gJ{J9Tb2O zYzYL8prbv2vU1SMN^Nlwri8L%{%P}Tm`7${<$5x(W4TI6F!z%Y@QMFgoANb`fC~U8 zw_gRYY2{6n$P(n=5G?I&0|0bv*5*cH1an><;x z1vFyqY2Jo?`$D9*~o>RP4;>6z1_VfZd-PI zBuOZekCBeOQn?mcy_$khkekhOepeko3SfwQz>w-){tu;5BxL)qemNNR+I3SX%4R|W zmX%jVML2l{1Q4Zw4Bg$8q^!KsFKnV(`sMH1CMMM%+H2652t#yXTXc zGaYo_zL24S0H~Jx3!tpLQtt!SVc$ND-CFxfqJ(zPME$|xx?br#$YLHXm-dH?Y}yxH zPtP{s?Yb?vv?SIYefkwI+S}&>_y|vTdr?_=1Dcz+(C+C=hUHe@bN3yTCl&uW9{J2Z zTY;=zP3f~*)r+derXUQIy3lcD^qLne^-$#nfN8p`sl8wR52Z#Mz`P$Amw=l3Mek#M zJtY*Nfxr;}n&RnXOL)E+*aKnqU?lUfBuZMF)kvBpv(HxhiNMkf$+(r>)0Yr@x`kF& z4&MVB3GxBa!52`V<3@m(e$yfH4MjPJ0xbYA=aOkgfA7toi$Rwz+_*dXc9M#MYDCli zpc?r!W%FHLNB8Xuk&==C?d~2@I=+1}u&UNbMxD}C6aKnqvHjDcpKgWWkdHq5UqS_}telKM;0R{UoJ{xa3z3;K9TWie?F$j#<=0`~z7Y6*GiN$zAaDegm6OrY zKD@Qp&xD6}G}~vmv}6h1uG<1n5(Q7?<>mN)?Ojbv8&MQJPtw{3ZO~ALDiTl-+D2_b z3K1$&H|?T}u1XtRRH2(v@DKDq=)#RiH!|+TRiPVeBn6=eEoRz+*1`}>nZ{H`yD|NE zT}<9MpJu+2s*|$`nKv&tBsnwh-E+@PG#Z5@`TOn}w8<1Z@&W#8Kj~PS{szUl`2_+1 zxyu~z66pLX<5Kw-E1hwh$i(h;08~P1 zADI}RSzf}(=mSVn-tis~s85TD<6b}P@$Hb6m86Rk@&Q1xSVSU`Kr|Zl@)mW_)^$BNVTJTq#4^;>z;A+(fWdTp^eQV$*l1)!mJO?Eyc(wHh_=0gsg- z*wV5>J_0}`B+H6!Zk7qVO9D!nT4s4kH@|_?iN(kqX<66TdftwuOnRUsNnlAAxhF+L zQG_Up@S6cuU%yh_0w8em8IdbxNUo$@q?E@d^ z;<^*j-6_1L-|glEZHNsrzLh7hUh&=f0hutLm6e3dVq}iQw%2GPkw9x}D+ECZY}si< zP)1u@*z|v?YRsM3!NHdSd|2HD0HnT_Y|k}%0RazpK)b|>n}ka>I7vvbF(>YEw@a_E z$3Kav<-QL982PTZ-K8J*j)HDBOPbklmweGk|K6cDWJl6!|xGs~^;ZJ#^CVRls+|=kS#BV?k!Y|m9vqCzj z#A7(|jd_hfLZ{7&g8K1=J$?hVg(m_^QXU;${krEtwV5hX6E#mPmP1tppJc?=8{ zb9&G0C1W;#(Paw$*In?0}8__Z?q^l~~vRDD=AXYIkm+ zY1n>Gq2mnAuOF_sdZzZ9!HzjwKOI?oK6}XNXuR;5WS|i7{hgOF5 z%|g>Qdvu*l(w(SaR;H<1?K{)Ejz2h)}^X$jwxzMsY5 zbfUy8Tb1F%riceWf8Jcld2r*KiJx2pX65TLD5h{R?CY;wd+k^H>wT`GGN|78EdoP9HYHXP&% z@ba5rY~QCCv#)aL6P5hB=M2Bk{j~gSUARlEey!+%srhj~qn3s@m;sf<#VZ-c%kK(# z_S*USk(vchKzeKBKi~28I~(rhx5%#T*R8ETy-s>Qsg}Hdp@!i{)RXov!E@hxPs(-w zym+6=&9bl>`wg4kJ_)VhzO^RAU@qUcIQ_X{`<})Bm6Kt5r(J(^ew^;lX=m8IavXsH zxKBrn;n0$sdw!-d$GOQ*jjv$MF_)5K2wC0SrduId8?x_Wv&89`Kdn5_kblI`ag<@|E&$B-> zF1Wt?ZjqJzhRw50SM|Ann>DTL)5ggk4a?5kTm9O%>POuBvePeX7-sL^_p{+)jl;b^ zdFgxqRS4JJ`?KTqwEV+02NLWWwC~@kNjUqnVQ%dE7*KGp=ZjVP{Q9dEgYoA^(`U?w zG+y_Y=k5zCdekoY-!^<-*vg*`23#K7=3cFFl9-TVJ?sAe-=|mobT|o&-m9DJ@0C8y z{#UZ$$?kPEXYDO5Z!*1^$uGi_u>0bNd2;fGv(L_{zg2m<{BP!S-TiUv53B8eBDvsF t)>f`?{~7Ze&wpk-@<=}gN5KB#?{ZuxpT)B6B(P9m@O1TaS?83{1OVPS5MTfR literal 0 HcmV?d00001 diff --git a/icons/obj/device.dmi b/icons/obj/device.dmi index f467da6fbfa21c45d916bc13ba6a47926471dc5a..60f15b5543d2752e6fc6d31901d93ae8f81a9f48 100644 GIT binary patch literal 48627 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 literal 46156 zcmce-by!qi*FSuQ?vhfF5D}zN=@_I-x;vzikdm4ix&)LEMG5JY77$?wK>-m23F(xU zj)95y@V)Q*_x_&udVbgSKJOpzT+E!q?0wGcz1LoAeLicglc1-gMoD&q3;+O14RvJ$ z0KiiK-y9@F;5SdaCOiRvz$L`U%wO5b&+)07kH4F@7XUnaS8V<$eOi)6uBRqHjlam* zZt6RCmZyQG)NObd_fDV53+|fRE)%Ge8S(ocf#&f$YuPvQ=RJ;pVlFg3+lFH=hMUC#@_x$eZ!oi!uP58r zD9knl4)X2Zq5YMp>ieE)`>F;8NILk>Bnh|Nd2+o7BjzTt_co<3GVorq?keT=VP<4q zK?3oPT~$mlv$~$i&(3&S^Zn5w$#P*RV45tB|g z6ID)0NjET}qnh6+5KJs;+}Cwe_Ddmws>I2wGLPcF`J{vsIMTBe zsld;nccx3eL6qJ7ty0|AiX~!So0{dSMm>r-F>wx-MNxG-E{hsmQa&rIzVqjLilPyT zPV$gQrIYGiv0h1J=c&ByqVTd2$;A;buXaa*PN#$6J*Uxo=IM`Y$olo-s6zC_uDNmk zt(CUJ*L>45xGR^hu@qKNhHr^v@Mu!y=V!SUn@Vbx#(C?OF-y;m zG5xfDR`&IdaUKu+som8kLA&n+#Ntsu?|j$R^nx5~|Bw=WT|^J9$79MW`hkEgi=;+sSbJ0 zc4rh4P|auq8o|F(BiV6cKi5VYKN*-wYHl%Kn|@lQ_~*Lfula9ug$KfoX0dqtx|5%&1cO1FHpG_#Ue z@tpC4Wg$bacWDf43Cw2#jPEK1?Q%tDM`+&Y#Vs1Q+K|@^|X6X|A#B@NLoF`*jclM zYvX{cq-GQ@LqnHh+xMY^^O0C^Jwxm=dTAwOdGC&w)1wr7W`ig>c8tx?=2zTA*{^^% z@AA7ou-oSI%a(I=&F@Uq=q}=Qib)Gr{oD<9?IF46xnK6ois-rX4L3jXaw@xaN8DD% zjE))a?B)0*yY2KsJC=A3yEC0v%Xt?7YVtLd9~wQI-pL6vyLQI@bsSME#mA4(X5Pdmi4`Fa>NJ!mqFsXlTL|8tLDWfEZ{B1$k&!eS^MGFU*8^@{T_0JN&ukJcf!Zw1 zs|QBP4SBGlgB5#}4$MSI^dUJ{Oy11Nuj=-Imu>GmWC90eZ=bOV@XNLeTG|gJ#k9A z748yLe|=5vkrT(c7X%uaOb`3+PK#+*dRGME0}IJ4Ki^x+H2I1*ZS|Cxgn!SIjGk)@ zyT|_usky-DF7e)0G6lVSDb_Pw$ECI}dxr?9bsy(rm3d0==!RHiU7e^&wMDOK6p5nt z9qrehX?f^GQ^e=?_TPQUEcgH&9UYl=b3JHhB3}vH+LXYfa%6%`Sg6R!`9*ZcN*?`e zbTh0T8_;Y%opA3-WiMuUU20$GuJB}cjPDc9{9Fq_439~;uQYcYQ30JNIYA<#-WDvS z(=CC!HvmMX^3_-|UfZyeD(t(Jpz*#olcYbGthTU%ryu-zkl$cWmf}{9H^*Fmf0hC| zcLSvX8P96Qp*W5Tg8o!X1V76nqxyCZM-hpFRc*OpDV2~_3u1jZkLh)(*W9O#iE0*` z&(9#<-rgStI5!3|`JdgOjYy59R5CMTzT<@>9GhugDfMoF;ah$UPb_)#RCrY!$U|3waxy5zp$poIHBx(-BGf zA#AC^tG#m}s%`X@F(=UiD_+Y`ng3wG>Nna~Z9zdnF5h%vKk;9bmb$#;zQfPY?;4wD z9h~!04Sy<_vNI(j#_e@@OiLlb2-SI4|@cg z{=`7eC?p_hziH4x>ot-O0rDNcrqEQwA8^>Q^#y6np1U_Tp5X z{^W_pasz7ABvIv{3)NI;z#<0bpyBFU_vu7_+clISQ zaUV!j=TI>*F%b|GSH|RZj+KtjYdI+5SuF&|QL8$bvU$yaictq7bmtXUS@H*mEES6W zGSJnbp$ngi#RW>?I!IVc@FC-$s-02`tQ5v)d*adYwuD;R+51hG5eRr0-nE|)Yp?n4 z>U^p+At-QudD&2?n(P25m_cY#vgi&?y^t2^1IDnxx@qLFjkq}4tL7&#Nv<-L#L&6ldo?c)Y32L3FQAHevg@q-_2EvK_1l`}apGO`ntMp^6ptpgTSa!gy)`#1C<2ENBFhHJN%sD z;wHPFp-+1V$)D^ckt@atVFb+yOGI!Bt%oLvPeFShPDJBsqXg9CN~dYId2b)`Z?EG$ z@=eZny360*8pm_Z-E#a|ol~IWR&J2-oE>0=T;2RXc%8VlxrooV?-#{lWcf17Xt9)`Js0KY!AK zFEnO@u)>RJ`o=fXYj zRB&^@w=gh>Kxuz0!@524UP#FcLX8$P%(I7_30X9ISv$bNmG>2`aWG>PclKJ$!W~PX z+QMT}7s|8XNL(#B&L*o@h;}!0abqL?y;5BF;2^nD9F?Gt{tnye5Q+tHkNuh9Yh2|Q zWfhF3Fx=_bqZ&w_pm=a&$(af9P#`H#NT`KVQZc$PCyAV>PGCW}tcvs76*Q|LJD&U4 z{vA!)Ggb0O?H3;PS(mzX#Lr{lVf|!eFW#f+ir7kpj>67ZitBj5v%^)=NZnb4R$gFO zKxfd3DhQXV6kZ_1&dIm&OSX^eUpU+AyRLZGJCWbJqx&NQPoXB|`G zsM$4_p=ocE7u)TAx6QF(ds{WFaNytbL8M$qnIBY8jjF%g#dGy9b$*e88#_9)T zP*F|X@agzLu2OiNXy~m(TxMqG#C=uM+ub&6>@me}6k-^d%P$svu;c;=@lLIWcXm0W z@}l^6@fTC6(i-p{!kjR9kKU2E9!Jo{vj5c!ySrGy-p%nsG`L=1N$u{Hu(WoVPSh~E>{ z^_LCppGVYIFuZl>SaPOrfj#O7W>^zIf8$1CR}?YVg9nY@c;?!IQlVekN66@mT%w7L zvIh50P8gi>>=XmVt0>lxu^xs;r}659DXvn}rLQO$n1A35xOO$IBSxdQpU2)H~Xf%_wiPvTm19qtCgD5d>mFJfKj+zOK^L@#(l$i z%nw0}#XK%Gy@rqzI+XW9$Iuysk35e>mv{t{KuRjvUW;#wlEOS9ZsL2<|0UdyeU=no>eklRD<1tBdimnT6`G4uA@+yQ&_ke;ku&F#?{HhPBI*pV z7Nv#W3haX?)AU|9rRgP)8jP~KXbz{GDQ*T8Q{j7iP|em%C8 zzJtAk{&XJRN5r#-i+NIhcV_Y*;x~ehVqMsp&u7)%9($A}^d5u<`v(WKy*Sf25&>o( z5;JLT~9f9Kj9&v73Q8Ayiu&T>Bcb)K&V zurVCTN`l(~bY$1CbwX`R(MMV01dz_>*YBIjM{j%sj{{+D@rTQ{&0aSLV>td=K~?6O z!5LGt$*$gfA|fV62z(AM{6yE<+A4MH)~)?PVWj%gz=3by9)wMezhdve zijV>$9d(54dbha7_CceRIa;Gdh^J@GiALopcv`@+xZ!Juew^AfUXorxucz9&uK?)x z*P>B^n|^%ha1fMMm6zXTlYNF*{#(57h>})$1)ur&MB9EnWQhdnW4L|v53Z(Rii~F9 z{9EU|NL#qo({+moQz7pqw%-NT8EB-%VF2RMTX9ZaUXr)sPw)U%X&+#?pm6+#(xIsk(wU^v!=p0r z+O2WUeUM~3^bimbj975^N4BwL2vLfo`1A5YsiBzTYapAW0-2G3Z3k-yi$wR)(eTpl zZt}4FQ6ujlHIFI$Q1r*2BQMtf12H)jo;%gH%E)>Z4p5O8F#Pbt^MdxokK6# zp{XA72SYxWT1stqXzR})=+|#`_kX{1G&Wrk+7U(d+nQrk?58VuzS*KMxw*NX4bDR& zZ9(4to1=u}OhOqap%P95^b@~-U-$Cz+88Y+|MMe93rn^o{BwMf2js_IGar-nw}?xI zVIO?2KUl>FIwLS}rVC~uaL;V;MIJh{w}u>_(aWA%IHzjrGy*+(*}CuO=0*yXS+|J; zi=)L_^+u5`eUshYcp#eA$`a}~Amv21z;Xg3NGsW99YNOj8|HfPmt89Gj*RO!;`rp0 zFEN9r0AT&8k^i_ZIR{@gC8s}eoaAL5TJxeDPZ1XRBGLi>1riCBasS0j1b}W9B%DZ} z&lwwSw(($p&mGoZu}yM+&KKJD>TPqRd#^^>H7x4>y#OChZA} z139w6bUeDbtH}LsuJ@|RH@JffYxZD3nWJsiLX%$F`cApybJ|-E6jynWX|SQb=ITpg zi_)BSUpl$$Nuun^lC$mU>xF&K9eX{aPv&s_8Rdx=g#`ul)y!a!CJjl4N}^D>c1PQe zMJl!M$qiufCS%%`= zm+9Y2-N7+Iv2$vEK7YPn55^E*tY0EwM(#+Ra73V>CAFHGnzFL;{#hYY*n2XF1zzM- zPRz;NuxTMtHXabd9uk#~|LEuC2#ajW^RA?_b$8rn7U?NXLrN|vis2Z)vwf9fJZjbT zi;Y}dZDTFo(SzyP6^ih?{slYUQQ@`FF>g=Ix^(_hNm}3j8@DLhs|S z^KopoSv3^Ci-0p3@#F`>PyR25^ZbGPOyuacNxT=s@O+%@hKR;~AQ}ez@Xz!;IU~Na zhK$H(j}WrfT%WuPNJ&dOY>d1|?{|b>{wg`E_5J~sX9=KAW|3eFh=_sp#E{pOKC%3b z;qsbSJ{>Ji6oAJ4Mt=_9ww^9$3v!FQTKA=$NtA6Y8}yKJBx1)izV-6G>?N{(D;CFX zrS}CXa~roX_3c#@y*akC!DVr}u=Lho-eHd2iVQC8G3-(IX!pqWQ4ra4ocD^`RDRnk z%koCH@Xyd9kBEcPpuDJL3d*j^JLc!-JrRU`ds5G|8IcBqID1tI*4Z+BNH;eM?_2&u zv&yT}>lntU+Q8}%LXvwzxctH>+5|M&i{3)17wHe9Qf`e>-(bieZ8xcdY=DXZqDcUF zXI2Y@zYM5uIOAflz@AZm=!CNWFn)}}AI@Fc8=|*>O|r?M&N!I@7R*)_KSRl$dmB`~ z5x{OO5ltZ-Y$Fa%YYA7Mk!PhJXc;_2Zem#Tz1J*Z_Bnue|*l)`1F5+lijG}@nKF+pXk&W%GCXw z1k7F=FP!5C?;kjBk*ot^(v3q#ll$!cY)}9)2KT19aQiD9UC@WE=>4O+n1cH z3DRqmH4LQ#ZRlU5*=UCXLqJnQBcdh>-(aFD;?0}u1_lPd#@1iVyPr9jDuDmg25g%Y z6%}n1!_QKhwC!Df-vsTTr#X%Vitc}*>tlyoD9DZfaO*s^3i{z4j>{YNtX}?t8;d6I z>Cqaewp-6ehn(lgK?}#@59&Ri_Y2q9PLW!qgM_YUa?5P02j)-XkU!gpIN?gUs9qN57^^A6kBni@%e*d8lLu7XHI@WIZZs z(#x2|OU&VO6$8y7|4J7B4*fVuI`ZjxQahuW{rac7WTMoNe|!^PqBN@c(onr#Vf{5#dH>5lW;108l$Ao|iT2mNFF9Lx;ibIw&?i!jI8XCUN z&UWZcWT>y9DaKq3q{|mh5%Hkk)G&HE{hx3t#D zRTv8gb~Lz^6XIJdD7-KayixD{IG zVxo?#QCPsNy~n#I3X}cQ0*gOHZ`FO2ny=B$62NDY{(k%>Ep-quq{c?*~Xi*ep+MaX}0FjuM&Upr`X-c1q0=| zV!IZ%#LkxlUiCuV?)v!oIS$rW{~ar(_Hc1A-3c47Fg9e-(b7`#_kVD4yxH@Lo1k@Q zzSlwP09A<(*lEES@c?AMlMVJM6QX6`9!!7~72P&7Gs_17Qhf|ZFa`z~^#|?QK$~cm z|NQC0OQ)d`vFLU(nXa)xDR5?{+~=21|4dh~hwbL$U}Iz30a42JVu=TtKZnJ-yZeHM z5}h`1I)=dFWf@RmE!G|y7&SRd*g~|Q>|=hz_K@k1Hw95^OR$?9z;VBnFSf&wp*>XS z+PLuQMVpuO@C?=n0P-{I5+*A2+-jSe#)Icyzh)-QF6dWbf=A=0A4clM30hPtGIZb- zLACKZ2~#zu+9s(x#dhY%0ly>h&#Da zb#-z$$8W+<*1k?oHg}#Q5J11u3vl0WlK@a$l{|JmZ|%e*h4}UfyWGt_iH>exEB0&l zVh%%O##|IkS(>}Z&=b}IB^(jpzk3YH?fAfzv@pAm$1KSy_Z|N<;U$3BN@k^bHFCX^ zPy@}{;4&-}mkfyM)P`khCK zf+}*)_VbmII6A`oyM`sTU}SP!y4t!eFwHb#^=#eL8sQPf(NE2TIvXXREynP*sA8_P zcxUnq0(7|;o!QvfRM{sxpD&EweQuPD?6`~p18CQngl)dOx$koB%gM=EkKrESfd)Nz z35tYy@o(+|jnI5Vk6H?cELsX!+<(dC-sVKq(zXJgg?*hHHQ`J=N=6=`Vs+Ze&$D{sN;zL?WOJRHMvv7LGh5k#WQ9iOHWc-)(>^$K2 zGAd!TVTj>1jS+UiC4o9BH91-E_zv;m15SVO=@>V1mckqnLB%Bf-!zX?{=Y`757cBd2tLzdK_c?`d}!M@5`lt zKA|h{#@(+BidS)*Y!QuTR5uW zGfQz($OCdunW~T{GeO%+2czySd*m&<)x_w^!^%Iwyq|DcjwWWH#r#VsY}zCx=W#2b z@VX70_?NuNHOY+Up$2ct)e#<S_x(GhkNdRX8nca4CF47@r952{9fMG`Yb3a+6t!hIn%WS9T{B%NajTV`F_KKTmOHpK~{~eft4{CU@ zR_WUh7)L=N)m<8d0FnK!#R(aWkH*JL54W_K!N?x(RW;8Rkrm_ZHYA$cXZjuj`-p ze~A{Kb|B(7(fJnjtHk(+&d4<1-RaOKEhg!VQ+zPu;uw(Q-5pJ;?R0XsA@zD;_vGlK zwd#;Ho`I-LdW9!G@quIwvmV6gV> zqGKnw(Zk1mwYkpE=DOL&S)>5KfL&#|*ZTgBoMZf(51jkd+msxtKlg^l-0st#NVtwD z=p!?7@^^QL8J}5AYw9KND?AMd6rzUx9kCd9G=|@3zPxF!om<2m?@uq=VR9F(j4JHc z4|>ekLSBJe8zgyIw`|yngvlvBt~mEuf4`KXybLo2cXv+_b=)D310^+e+(K7)3nS}u zkFG9s|3x3=W)#8^qV05~%RIsyzHnf4#17r%Z(U$-hX93^vkGlX{XS1MhmLqw`q(9E z&$QLf<4zcdbTe{6^%a4P9^)sbNEb0i4%D+${mRJ~Bc-J5{WJ8|X`4VW%XT|h#SEI? zY38OFHwpuuVXemd{f4r|R075S{Hd&h4W;~$e|yot%yiG?2dfIT(xe&=R7*WD);sLz zaCL}M(@_SogQTR-TU{OsHYr-~fG1yv3%3xKNP~+R>V2U_Z)m5bI1*DDONc(ryR%aL z;l&r*8^`U`FTk<1(%cSZ=MahplaOB%ji>Wc_ut8C`b)kVhJx{dSQ%8Fk?EpPsUNyz4TF*q#Db*O!~iK!90Q}hYe`X@P|0&9>oSEyb0L8veu9Z0yNmX_aA9spMxaT=0_H$#{uha-ar_{o(c> zCZb!g8Qw_b;;A?SN>ltGqNJ+LN%x&(7g**HCpdUCI5AHk;^lSIoFEg60!Lv_f@kDn zY2t8}Wq^&}HYGofKy`22y7j@95LN85{v+r4pYcT{MMV%#=%@-IEfoOrE)8{G)IGe} z+0~=c(uVAH2w9nhu@TaFB^0$x*;JWG%z6=XU1l^n=k$QUilifDJ1B}=d;Ow@1RP(| zdJxO`-L|I=-d8PGq~j#3S@m-jXUWd)qcyp-6jBnBd}XDLFQ()Y4X;WFYZ}te`^aXE zfA$M&F+?-O;z=R#HHkQY7hC`-i|$aLY04xg$m4HpD1TMSpuXQ@1KC@f6LnbUk6D4Pqgp9xj{4|h1NYk z5U-gn)#hLnl+|t;yj=(LN6(GCO~z^{54W=xe!%jlee62<`q3Y}8pc8XAAW)E*M%K! zCoRm+Q|asfWC%fNSwog@uniH#bF3;`l9Ye90cTNM*W7H_R#TS22e`$u6)U}%g^`7W zWHwqpF0VT_69!Eq&fh3gLPPDA9K%T-(!&OrX1&Z>JEGntbr2Ig+~5Lljs76Kw35gi z$>-1GDsvg(PWkdza$1Sj0-x>LPhkpqgE)>yO#c)_Srpp7d1c!|rP&}qK#$1yfOZ9w zD{T+~>cN`Fz}4q4>}p7QpAHMn!}*3TMXLnZW8bwY42(hHtqaua1$|e6a#*9W+(3_4 zSt4^EUvDsC)$4ir0S~yE14@p%OQpwyx;%V)<+H_!JmepKuo43k8ei zGWxI;?bCAlqIZpf(JJYyfPS=m%)dmPIb`|)k0vJX>8WF5vyzcfqbI}lA1Vv@ksQY_ z!Fyea`DzbjRxcYD0JlAlcXoH_y$SlgOBut8s2*kukv$}MXmqNIlodw$+*EIue_);Y z{t)b1^c&!tqgHO9ef8<#gnwq-+N2AZ0*H2)fyVGdv&VVL7g9?qWd-2o`1$q;#cMlx z$l1L(Km8R@>E7=^;eUODrznf5?X~awXT+@u4PM?g=5cjLgOiCr9GNmaPpJ4Mf46); zu8aS_%KSK|-lXs~$hRz#{)x_PF!zA8)ud@}9Ksvqc)$KDGpd8Lv+D z6Xzz>Zq0NhC9xTS`kx@Jr-nyr0f`1-s4Hbpw_QL7;u9aP6jI+TSj+0#lMWTH9J(7O z98qavTy|o+#IG=|sP1%12P*FUZX(ke5kX`lNl)s>r9^^VJT9;>6EQV2vwd=Cx*FSj zPXO*jk{ina3aqlwA((M{9(*V#QU`@X!Ko%_?;c%ThbMtgEj@$cHLxJ!LI0&IbE7) z?ECA1$AW1337WA(ewHtMx41t5zMSzl;GnqH6ko`jzUav)kcA1MxSwZ;md!@t}k)c|{S95m7R0>c1CGUWWLlQZ{7&0(T9Dn5^nl%2| z?=}zHI{#_v8pijGhc<2CG{1kDqpDpI`I<14z_$svqcBNS=eKPaWb>^cWG==3)q@G4T*}sx; zYkV6dag$Z%JvVK*!Qjz}mWcB|l>e>5nmSM(c@s>(&*I0w1dzAe^KNJGm`gjo5 ziVsH-Q!|&Fq?FjQtWF9eK@Zim)QK=oLs`%L8kVg<&1Hq4#4yt@LQ$DkI89+FD)Ws0 zH`Wz)R%`<+ZboXtu>cJl8x@FQn|wt@MZp+MFIY>cg$^kOcL96HM`6grZ!sTf4BoV_ zJ!#**4B^O7DL;*ymOEGqv}7j(VW+TCWy&9yhgNkYPi95EQRjJ$c#`ZTM=$7_a=pntKCQY3@1E)E^ydH zsoA#J4M(imM{!JMMRe<;W=OuFZmwEgpyg^C*vm{HLe$%eKZf&oZSAdo>~X9cT!iKy zvoYW0@9eg=vdUDmH2&7#U#`I8A_U%YWklSz9A7VZmS*t4X~ciia;;MKA_l5ZE}@w% z6pkV`$z_3ZL*e0-VVP>kv>ABuE89&u5ltgROj{c`ClCZxJnUXvSzOfH*}h?P%#P^r z22OnO6(|)@D11dYVuKpMK#T(0xXuFAQ-D7^J65hVe0;ZkuL_LYkclBW#ZnYDwpxo9 z7I-BCYN%<#YGM1T&$|~z)}0q^lzR1YX-}EnfeBWCLsV3MoyN%Qe2KS8_{Bq~i+dwb zxFS1CXt?+D4bboADd{;~%vGB=#Der?+|6b$9w`zuZzF#UT9B77Y2jMh+FwAqHRV!f z>qM)wz}*S>_Sbdt@Wmo8rq1ay!5uhH&unU@qOJ~>uo)N{2Ap0+Xd6F*hMXi)k5yP$ z_|-Q4vV#<3G!M!29(%*pGmaQ2$?b@&(K9TL-n${REGGuw-Nf ze0rN*5PbBfw?pXP3HJf+Sq<7&Yx{1FF9EQLDqxci21wK1x&ksZYZTymPJp|x^Vweu z`);g)s;a7mEf+6u*@z$TpZieZ7TTb;aaaiwcRa&l@84gfrA6+--d?}L zK&v$Z*n;`&kNfz5fCZv!jurqP6fpD$P0Dy4i-d{Yr7rYft5DnFPQLzr}uw^n+Op6N?~xos$_za|6unr!5z5U^$(#zCP>@%I)7 zM?OQ-t;{04Moekm{$NcCimMMD9U%WoGEf_7@(v92E{SNSe@4uC(E8n1qPtxyM^ezE9}Y=3m=;?5MSauSf%H)`pbi z1pPJ3E&d^p+vuONs2hXMJLy z066vO?yEf8ps-Bk&QQfUV!gJvmjX&oT))$X$Eo@kVR)o>Ps)QK8K%#)c?Zk6-e_6XTxY z^!aeuwH}oN-0!n?0~Aym>s^NhL)cNo*Xn+(bBa`pLcMZ^l~`q8mj#Wp1M!K81}wsA z4C-#UavZj|NVjj%V4q>h$>Qse%T4_*dos&b4y3 zAz!vr3K7~ufD82IQPv!8u%_c#PDXd=5V+l5zT|u}yvH{9_r?LKqT#gzoAy}r`M1gD zCA~tiTx16+7qB4ALgp7m1R!R2B+9xg-)kZrlgM##8OGB6)PLz}sE9j$gx!fP_s;5v zpN@%EoqeMvNlj9koESnKh>8l^dswo72SUzPaVRD5FAS4X^GVIb%Gw1FU;C;y`@+L~AgzP~vo7z^tBR zkD4_<;G+75^F~f)45rQGz9uTlu%OnqJAme3gL8r8+wR`-=ymc}0^Rj0T8m<5u{$v2 z0!-ygVVsZWFSD0xrWco`gX_Y@wpqirnnIP1mNBdt!xza(ww$VeiL^PcJd2{PXOR`6EPT?(ny- zhDN|e^!MGYYJvy}=OK+YE>Kz~FGmiJvJRn2o{7&&D#^7mq2>uuF#K z)SJ-@w#2U~Ek8C`85_Av;))mf&%?)4Eij~{qy+dB)9@Ee~P=CVqm2+_XPx?KAp*Q!5|5pa+DPcj;m&dF!;dCj1A6tS- z7l}q@N9kTJy-!1(?fi~f^oYTY6rY9;D>_|h^TU_gtf9BW%7vctenKCk zw$IjWSsgCl0wO~Y8e(O6jp!U-Vu808losD}BAIaIIwYQFr!p~KHp4vX;_eDwQ$aeGM@W0QUDyZr+v1>}{5;%cJ9my?nrD}$ zQw@eKN!pLAGie40iU^@S=az&wv!rBYS;0!Om=xhHMmDyT?a7*z%RQv;daZ8#AGrvhmKA3G$iqy>b z2sJx0*@P)*v+?{GTVT}H$&41@PpYagGL5+DGnb1uc{*TzrqshHt zq~w=V8T?uTJ4!@9kq?WRh_93n(>F@e-dcSwvwX3OWR@6bH|n2ssf*9mHpFVl+0+}K z4>AfufXC3#M2#roy4jWjzI2C6@0eNB@3`H1F%l^_qd6W_;zLn}I}`ux}!o`xu zI0xc7oP*=F6C1cv>e z)|~_hT0}~Fgwx=nUJu($Pndp9wiFfgcXG)sAxA+=9_^b@GSC!`%oo#^q?qop)&F*? ztKd2mbemqa_^1=#qaJN3^&X=}`4d~Hf^PJGZIETM8GOO7HTV z&E69DcEj-8apEy6#=K)eOei6WPsy{)N#VQFDd-Tr0o^<#7KY7B(O+Nz@l?UMFk4sI zZ%^K|y|0Bja(=dD(vLsVPI`VJ;UVXuml@Gyd_;9mxP5 zg1wLK3Eyk}-0QkjNU-Ra+`xC)w#GuEH@dYB8#*OzBJm15lnY`;C(1_biSMv#NOP_EfH$|6;3#jm@|AQrk2l!*4p%pxS zj$HzbwOtLohCs@*)@9L(-x7}tX;WN)A2{Mu*erJ^)j8^iqhz25$*=EyMYA1F^HiWh z_n|)y<`E*kxl~xo$iNry<3dim17EL|sK_TpD#?XnTb)k4Utfsd4^JN$4!C=;&`#{~ z7@nZHjrnN7^h(Q@L9;z5dL5BZ#1-N3C_+b_fa%y%8& zGbX(9^3N|sj({U8 z_x&dEDxIBU`BYWE^$#p#9Ma?h#PQ26Af$Bw0aJ%-k-X@n`U5D_V=HM!u~h$=aM4I@ za}XcaJOK){!Eg}pjS;pb;Tp|n{HSpruH#Hutn-s6lpY=)Mq;9O7kNmm^ON3h#qTF>PhTvnhpPk@WBU91Yiny24Ga_`LV*^G zamCRS+jqFn8rFc+>ZBoZbOCy(wO3<0tS<@$%aIlJY+85)9;?qm%r)R9s?yzxdGAw_ zDZ3T-D(3JzuT=PfLy7e7<|lIg z!@T|-&H3+Zy8gEybAhZ9kK(WHwEhbIdE|GQp^&Ge{J$DS;)Zjfo9KVyKMx^gPh;~` zEI+zZO0$Ju*2<*j<N$A&8u>x*}EqS1jp8-hQd!RJBZCU6znw(G$^! z5OskTYa5VjDWkZSHZ&N|VpyVMXADP83jlkibnhnU1tz8LKQpNz-{;mJTy}8^gIZ2~Qw=kTKP;B1884 ztEpUu=5Lr#)NUQXSf(%L<^8Ge@pOkuLwW~o}JW~52$UZl5x+JgKe z8st5H>lQaOAW)M)_#EI~1RIY9SMNOW+?+*%_iTSbA0zN@pMWI`LbcB=zjWfQ#DJ4!{0|dTwyj(M=NjL zO#0|)|7DAMb!n+9By{iVSm`B-^5rZG)O!!}?33+7_%7zzR&_qq0h)ViIJ!Ws>%rfO zy(sbWfRKQK8shD%FXEoNMCL<2X>Q~ zMnjX7vYIXSR~!p%I{P}P913mrS3GyN_s0OcnOucq<|B_c9U1bDKkAjNc{uolSaU4= zm%geY<72FEvM3|thj304bxWm?&W_F}uTMQvpE5-z&KR3~=^F;0{$H`klMg?Csjpx0 zL|JP+(Y72!-JtyA5f(_kwHPQ2l|Clhn(tu;SS`NoP101hMpqQ z24Bt%G8hJ>cD^gwdHw+xvDOC(qP>;}DGeE|ioO$AEpjlZLGme#4F<)=E>N9|dcgOc zT76r{Z##eKWYZ}Q6qv4$d3jiSlJ-tZz2(5N#Yf?7u@*Hxz$nCua5F4D#C5JtoeNn> z<`0chAEDpUA5I!h;jG+nalzO}WYzE(j3ykHB|m(`-+&H1`%4J?UyQwXR1;Af=Rbtr zL50vkKv6)7g(?IAL9hVQ1f*K%O{GIZ2c?Q4O{A$HAVujQp(9F1igct(?<67RcjNo+ zo;|z2J!k)sm_TOk%$<9m_We9eymGgs5Pi|?B4gms|2RGr4O}?JQyWo?@s&w3Qbrmu zhfzp8d3FDu$OLe4)bo#VxQkDYnW5A?hEV2evdXxnk11|(aMfc%! z2#ac0L)WJh)yo=*d`QTKyXp6Dn7kV?8Z3Sf{*1l!aFnO*jE~vFO;1m|sH?*Q0|RH* z))@8l^oUlxKm^hTR2o>V+Tzm%?}?9QB-{RYo@{<^Kik=pk$`kH%0~qALDdVp(ioFU z{LC%qpv!sV8^o{n^|=+N3vLl*FD+SNh980&IG5L=RLQF{m@W9{$eAkR@3(?p=sch; zf6#&INzi~hccJKFMgtQ*OAxkK9XVCGFF()RKM=#$oE2V4x%E!c5s{tFx%9!`ir8U# z;5(=8H*}AJbS;8_tHSf2{iI@rxiu}{6qVJ`$+)(PU6%d|6#D52i=m8&;KIIyNg2t+ zpImlp(uLde)vbb!&L9j#v3q#{OF_4EM|gMRc!p#++w;MkhNP+qSL?LcXWu!=-mun+>3+kNdp8ouRW06q^H6;p>Ne zO1&l6y}8G7^_PMrW=Z0ObT`a63_d~+A6V0#tecF83*t-HE2n8PzP|~piMe7}Y|NkI zu4~9yS@eK%lEC!XQ;y4aicf?Jw*ZnZYgfvO9)u|yoRgdp20-M=h>Kkt+5ap=w@<=YC!q>~!wHO~wF!4(le9NtyV$ zlAfq^qWA}I0IafisHIlc;}S#F$k|-f&V}19p2GJk?;pdqoHFyx<~eIlen_vD1jQ}_ z5r}JM64$`CZSxWAsh?eKBkt~>e?b%cxaV$%w5300If9Y4g5uY)+Ku~2sY#UnX|(k_ zQd$eKjsd#|``%JVo4n)meT{N|J^RZHqP>xHUogAw%W)L5#2D?3k}17_!*yG-sIba? zMga04;JnNTd^tHfG8c(VLt?za%_zG1pD+Abg#N3(yx^G4Uc{=egQtNmG8|I)i|1Rf ztEzoCxH(Sy{gc%Nusei-QQpa9ZLW8()_mMr8@n^l;c_dGrdauc-Jen^+pS1dqloN= z<>-i@3u2n>5v_x5oGI#ea&G?g8Sr#F`_wf;HY1fi?1+Q?w9{k@JU~9GA}B>t2anww#(E)V;EcQ(iTF~> z6|OfKoV>h@KvNH_YJ%OZ<4W53OOG?sNowm`HK*)akGB#+Oi(&~6z_+v>z*FI#@0r- zQr*6FtEAFtSa&mym25N+4)%aitact1l;3mf-k2umE#iR9oStB=Y3Ub17&;L9q@%Ml zikXqI6?d@4Ehs2B(%Z{2Ffb7P{P{I?_0R%s|Cc~24RjsP*&qJk3DuA9XOg>U`B%jp zqxXG!TEM`-K;g-PMNK_QWJ0SZm^9%&M~n+4UYltl1cxG{+~)*7Ws};gJxcSkNd=UX z$J*k{z*a>qoSU3FmRLc+$Qm*U*|!K$(Qw37GnTij?#2_navmo<>))Aru^nEY7sG^wqh1Jd(6XkGPImWJaVT6FhdvmhO*VnhqXLItr%)9?s$6u{=UMuWp;RkVEbzI^vS$#C&+6MKFn(LHg zBlde6k#PJQMIxBG!ec#Bn6MI2SulO>S?@4<*5qaJ>uPBUL^3YuR13J+943MbPI&T> zVTm`c6?}|P)b%R?>P7JR!^r<;di-hmskO+tkN-XE{vSai_|^a4^zG@3KU1Xb$tx!? ztNtTy{6>#Btg0%ju8cSlCj`K3|50A(zmAP%0!EFHF101|JE3R>o$kG5U{d_U8mU{= zSh9kZ=EZ%|CT3?I3OyB7&+$ZK(AzSx61oOZ!i- z&tK?8j8k`5@{fRF61G_7$*u+Z$(;7qu?-hbp&P?XCLx0aUg_Et6sWa)f$Sq2B`qew zu&ufrIC-{SH~7LDSyUte1d=a76-YGdTP8nvO%Z`VxjAi&Qeud4sR) z+R_pY$j|=zYyk(wwHi{;zq7>OGc#+R9^vHX=Jw^`)&cT7Cv<(i@>lm6)$2T{-J8p$ z`W)G`tO7uixF9X|@Zm$D3o4l)G4l&qf)fgqv}Y4SKO;U73=Tg-0+I_5Dsap+Y1{jk zy#a#MQz#V5`&WSh6GSJ$*0QruS_4A-LSP%`gn-Zf=y!pXRYNLs4e5jj_eUO2(&hej z{^9uv6y;|GBpf#PIFm_UUcPeqNj(Fnv{m<;D)xI|9K8BH9CV5d73-xu-2NvVCQthM zQ#<_Pw|P4E25DlBK1;6`!s7+y6{>Ap)m$mMkV%R=nV1fZRY0+~j86V}2UYTH@6~>w z)?L>7LbGm8p=j2$cU;(+&_`LBQ7{s+fRtz|xxyAi8(mBJ%bE3;YdT_R4en9&L{ACr z=+gvp^oN4|74XDNdM=*jzSk#c<-^!?@a-?(yo;~cf7Y&~4lL%o$9nIsK7S>qw~M+Q zt}PtLb47Rektn(X*_s;~e-Mj38U6Q3~zWlh%;D1#?@U@#Qii`ipNOpLMMaT=oW zj+MwmBaT8!VG8dZJDC{x19&}GUMoE2NFcqD@;;WiV3gBi^D~cqwz-=O*8W6dTh=RT zsx4}zc-S8S%1R!X$w3IlBlwZ=n%D*X@x@Vg9lZBvqq#h{OB+LZTM%a=61!pk36|LJ zJgSRZH1#LI)xEu|a>-gPNF<)4wUqN8a4I~U3WLEkjgG>BfsOwr z_a^8o8)Ks-1B7{OzNSbXOly$*Xu@^oYt^h2J;$Gj2TC;sp*NQGf}@?)o-ok3m zEW!onJa@9RP^K6qLF25nN$)5)4~&M-8PXFVoBPZ)UThw{%5#>j)x$->eiZsANHH?T z)O3(itP!gwD=g%fZ}z9kXGkfBi3reb2OKJ?0H{^`^ABs}A335lBn9SQh_lyrZUiDucWe4ouL)r(9%|LT~> zc>Y@Z&7!iNu{YnRHKj4HouIkr?o`jdIY;U7UduZBj0bIS{k*3Ocq=YmzT;yRuV+=e zB9bWJQ=hk$hs?#wyVb=~Y{p||=Uz5!4DjQp#`t;VEw$#g3jZ$mmMkuBO+Pq`JK)&r zUg7;JZyTJaeD;wb#X9tGCL}9QS?;mB`h&|Y9qYFh<`>XWgKErm z$MYWPANctZ)Q7hgcJCN-eQ_*tN_Ey*ao@8g&hMKBdwK=;P>(Z9fk{VHj@oNY*d|o0 z&>G3Uo^~%9-(cvxgC)e@wJH=B(fX+N=TeiVIw_7&xW!*xFF}0nq_E0qGo!_!&uekx z7(CYBZH%ceFMcRIkxJAxrf{A%9Y4_HfXMT0^<5qiy6Q6`0M(|ZZuuO7ARb>xvS;5J zPHCX%si9{w&2=*QdTDzwzHkHNrVLjgC&<6ti2{FuikbI z(0>2?oCA`8CEm$ovQ?$NYE89GBd*tP6rk>G&BElYDDL8R#3 z#A4yq5kJ*Ud3_GGymYmt>pFypouwXLBjat!2Cz@wM_#)0RX7U7Qs&mzyJzG%vEv?# zEm``CDd;Atvj4@1)U9Ea)=!eo`u0s_6^NqN13`qbsn|^I$;IhTNzrAm*s~xYs>i13 zsH3CP475ui@(mCsUt#uH-rn9O^{8{Z?Pi8|@AfZ#Lgx~#i|fvH* zQtE)f|1bGlY6=s|q}ky9ux^ z?CS)nL0d=1Pu|i?f}FcI*GByXgqjCzVrBTS7|eI%X{`@^4{wr>m?gBI3<||$BQl*o z7SNa%YczF9e?x29hqBPq=U7u;V*^z!RE4JGSZ1Yl_ulVBG#<;$kg+`-u=OdE-Te6~ zD<~yNS%1q1&cdCb*`D9e&<|=1Qdd?S-Y}|yvJzl!fy^P#0!$~$}T@C{J5aqol6I`#Pn0uaLb z(e6o5y6KDo1z3xnXU?9rJ3id-@bnD%`t=fLcNQxY$d)7t)z;Tv`p3pV557)W?EC&b z`1y1Cix)2f@MMl$G3&o`5tWr?FSYsxBU3VA(A&&RW7OS^jhzDkeaOnPejb{5r@kqi zgsbg*A{UO^G)>?Ag3m$`{mS?Fl%5p~;^_T$bmW%M^FvOLzc65!sfhP+nshpZ}ls88+9*Ll@7}vEzOKEa;23y~cB`EiK!NDb`;AOy#=gwSqC|+3teQ+pB&_ zqyfEDnGn=ffYa!Lo0E_A?#)cg-5`afu9JMzsn*Hd+gPpN1dT{!H|y5Sk+SOtaU@3e z`-D{b!W1v`y|?}mMwEB?26yN#ei%w!rp_*e1}PdSwttBIR)|w)%So7vD#Eyom4yfj z^6>oFqB;2mNc$xL-($>4|0RV3Fb!O08iQiqmbfOd_~C!(l7AF@uOIiEF)ylYyyI419TOjX5l82pz2$LA2Yee5)JFe z<3|< z`q|=g)N$%gdkN{Lbzr-<8401a_pY%k{Fj4wY#Uj zD%88*F$w-G5*~v4LwcCbZWdP6^$4)8P(T1s5(b2fw7^2Pd$GsM%{#wc{-CVEOYHm= zWw_P@H13UUs<>jUi`HS))|+3I1GWgkW5goHSH zyKQE?R>|lzH?j4syK`ZHpp7J?c@-=}h7UCGe*4yM(L8NuMa4usyRRY%7DOC@Ma+V? z<|B;NN-R$&E*;}F`OsvK=tmRgKb4;Q=;w$pR+vWGsw3ylhPkhOIIYGEDe1Ttkp>C~ zTa(V*O#M-ZuM=icwbOTj%*$*}svdXq3kE$Cb?@fKWAl|cCC9?&J9%xJLvQ=;uSgCb4EMv`W`Eo z9`vlN_Glu`nRs(&J^}Fs6o}c!3nF@1z(=3%eqbOa$cTwW`R%W~bRe-=T3Y^YYHEV9 zxHSN0GGKEOSY&`MB_boEUm@*L-4;jZ!xx;cy_A={Iv+u0MuH6 zSXsZ+N=1S7psCAiCI^VY9fk`z;`x;${SQ`mhOTT;ye_1W>a_;HLv{J)HGO?HrDrSI z2dd}j6!vyH&yd&eCQx5#-}la#7rhumPYJ4)!q0xA<)aA(bTY}`K~!7$q7=5xYK9Pk zev_J4XD;$$>8;+zyxwe56sh9IHV|bSsjAU_{_Jh$ z^vbQSw^uG}I{DYVC+?zz}UwGRxKZ{=%i3VC8Y z3>rz}_+`8L9NR2M-@q2_HA0@oG}o}o&7_$bVBwgZL6PpdqI7?N=Zi6WMT)C4o_}8X zR?2xOh=~1X=<&kY*+cpef=sg}(*&pHU(LRl?Kci_eY1=4zHB?tO7W&(Lj%3rY5K4f zWxL8I1Xp~`nOrh{%LO<)A&dX$VYf$p8IHH-GzRby5!`MKOZ!btY6iTdAooZiVPSO+ zB-KxJX%`!^ZoD&LnC&T+Lg>mB7n^v)6Ejg!O(Z?s7_24+OH|>Cv$dx{S3Kk{jzUQB zG|Sn_xPFj|`7KizYFgg)yEcvc#+~R_ZGr+PV@58d@3qo*bwN-<&Q}U(EyD&1CF;l7 z7tXmoQCdwe^L^KRss^r_)mr%YcI;cZ7>eMR7sd;bhV6l*ER}%B?AO{WkkE~T-j|>x z6|?U0_RcNI{YFU&BRJytER8{RFWg`HP1Z5t^UaGJ39hJFQ4gcPGo)T16o(qMklPL( zI$n`WV!pZFD9*ys!f(}b>KYp5PQ!&4UBi^U*P}t@s&nQ?SNK@61b|0@J?_G>6nLb7 zDO?+WV=`#IBksCuuu|*?c@6RMcwEjelU;}7Fx4S zk^RyM|8?C3e}MCPdGv@m`#Sci;k&upn3uv^ub5tG9uscM#44ND&rdXUMZF*q(FLfQ zCTEmP?ggTN_bWkxj`-&1BKe6|g?OOtC-XOBaYYNXKYarNE~Q7c$U6>(quc?*VEgDO z3fNF@f{yt4);F+uO;v7FFF^U(?8-piBLMrk8DdfO?3%7F1E?{^Jp0~!(6Y4IUIGD3 zPWDe(-s=Q_O?Z^N`?UVsYX&tiq3O1EKiI9I3m9UZ;K?`@dGuAHo8PqChr=~aXjd-U zk5KfYKIMnt!cvDEBb^OHJ$h@&q>yM`r`oxZWyu8j;*OoaNndz7Blf$7!6+)5vaq)^ z61uqO#_i+1am7R9<7?#RIT`3iaEE~nc;~Zlg!O3u?qW&LEwhg)hsV{oTQ)5G4#`%| zZ6&|dEz0)`TO=?Lmmiz;n3a^@-5`8xS9@#_nKzrYkpO;pU}n!_T&$XJWn4@-_}vhi zCg&|RfqIHEn2=&*WCY-HDA*k1#}1F`>qzJX6UhsC0aQgm*IivE03Up1-=f+r2TVa~ zAR%;gOqF-HO8bvpCGaMzo^!N*tFdUv&o|VExd}kL*?4#uWJ{?(zRpTaX?O~GMzxqy zG(q1ZR#%Gn6j`o~dJAMXK$^=G!avSvCkQ+O*q}aI!34C*Sf=3mL&#?Qb*;;8u!BeI znUErwWrHs}v<(=Epem7-NFG z@-58G3#Z^mZhlB)!l8tlr*VT-t1lNkoFNv4HY%9TZGHvBqO>W@Qqubcg-dRrL=79|a_dn$JVo zswHmuUhxHC%tn!lZQ+6oL;`#o6k03!lqhfrl`!ZJCZAq9-H+RpW;GT%lR^&YdwF<3 zkfxTF@cHvP8|L@ZTLInI!`r(9EaDR8)Hig1ZcZ}-ck-nvwYZBCJXY77evnBkeUDGs zJJzzyhT_cyi^x3fgjFL7aXE-RJjsD3aex0=C1WDP7KqJ=`$0()KvZY&a$DxW#;5W3 z`QxfB0KsOFdDI@NNL>v<;?+vIVFT&TK@<#!M=FNxM?y1l#P0d$p$WD@ft> z!R~Gn;SxBO&6U<(GDpWX=f;mXJ&}C>m7yXD9>rn92`<1MTo6ND-$^Mr`OMBv7+B)e zP;^`zH3TT{lu+GLgb)IO=rYkVK&EJEZIjAN?U0v)1l?jNHFpvSPh^!3f41jJ(jJ+& zSoj^Sg_;?k{8e7qHPc;~{{4`$_}JrI{dNH_kGxCtr+4qZ5HPjd^Pt4$@b3^UfI5T zZ~Z~P=3zs)}%1MEsfaMyolYkT67U3^6hb1Q$?xi<&Kvz%@qJJDvY+(dE5x( zPXq2UTdI=k#oKOBB=MXMKeCI z+Ku|bl%TxqgWf0)Psgy?Sqpq%Z*Pw$$>3h?;ZxC>$xhXHe|pG6f&ImI)n2Eeyu3Vv zpru=yrIr#{1nb{q)6-pa;>251;_Ik)%YM4dh=t90|<4a&$aD`|(q1Fixra z(I0N6wDk2QaEOGjgrU|`V$AYQdOY#7*Z2^=Y|d}u+r91=#-A}XtcnRhq2 z3De+|o%#8Kil^l4I(JTw?$7$P3(7+OI)p z5@CNmR3vVH`6z!M2j4q(zn3oN=*{$BuN&6(@ggpw{vBkq^TnM45-WKaTXX`QkGwqP@-iOZ2Ln!bBagp^&y-i^pEG8 z(h?UX4}L@1O4<`io?t#2Ckv?!PFaJpQHRO0(`epb8^ zxSqe^3kDFV?He!WIz9_zhoI+6Gq~dSWHl1Y^7dZlX|unV4T{ba5lni|aBb-utL)Jo zmWO>VNE*t$cX-UCslCU#zOl{`38dV}pUQ(z(UWgz!cwpk1(V~|;L|JSqy_16v=K)( z2>!t#8K++b>dR!rT$1QGvwj-kJ{>*!DJ$1BCuHMn&6;zx+1&6r4#tsc+EqF?*`OF2 zV`6Wwq;gTib4818&H5#!HukE-+`X+^2<%&)m=luyw@qLyf1WzYhXptc{~> z$mOuQ?>#yly*))~4O@VhuU>PsRayxXh0`pll>aJ~5>R=rnMcENPvMhTFbPyrVDSOr zNJjFh4m28m zc4M($UZP|E76r~$82sYL25d}=|AzU}Vs~0#jl)PWH?Vxm{s#N=xApbu4WfkJaB`M? zG1)-fxpkwTCuv~}0%@@SMfE`|>^8r*q9Y1D_^rW3&NT0)3|p`GkrRPw;2|yW+IAg$ zPwzBZ5;tDyJP%C7FhIBkVMtG>S+!>zSA77adu6I#{>zsyxML+MH_q|>bGtc6iVJl2$Zn)60~hSoQChqk>cINbQh$h zsId7T3**-Mb0`G?ssLfAqVoIA1@op~V_cstsS19^K9(v&YL0%)*qrJ_ygCfDUAB>V+;pU)?pd=Pc8>oo^a}Pejh` z;ho#*ZPRF!AV@X<`E&AtcBhvw(u1Umh@T*wxl;FbMZZL2&Ij+!<>S8a=h)F$rcaDk z8F@*K-{{rGQz3Hd0x659IrAwrH6sH=K4CzuL%yOY{<0V-otjF zF#vrdN^bGa|G`gsHH8X3%IT~T>7Fls_XSrAn#!yTQu$u7o4%wZolYA0jJLWnT6#bH z^S9MW*3u;FJ$bcZ#4;{9hWec#k3Z|BrEX(h&UXpgETnvcR*;)u`Xr%p-5A9b7dP{9q-z1YO2lx@w<{=VcB0kFT_@RM`c)O^?}wUFBw=d`mnA*0}Z8ov3!Uk537?_a4s ze8}2``uoI0#y|s49T)?VaAaK(jJvLHfj^dR=;_w?+Ppu&S$7VlA#xCt{bPf6+N7SY zFqIf^q(0D4dkObUE+mVD7(2DE_j2!PkaxPgPo%~1F}{nYR%4)+t;IC*M=e^v@4b%X zC@r1-0d4wa#}g7>GAB$>HSzt6AtKrdE#FWmv&FQ+dz5kfrXIEkH)u=B>_c(0Z?$&R3Q!H0uU5(4$Qm=wn zHioDGw%B>{GdG1!2smn`2oIYu7&>ZY#i~64n{0VzV)7vz&>+d@vn(YOc^+*Uw7`O> zE$tQBR*HE5H?p_PT7DIVoMO_SAu|1YrcBSFazjI- z*FBkC)9FUgD)^?Q(-JjE%q>*APbR-MgQVD*nJXYna;^%HoCE1zDX+Yaat@&=ym;9; z*~CL5Nr>Qgk6fbl%K8?%fWiSZS8@6I<^ubP6R=IIUMP198FcNbeCqwvHykgQ(zpYW z%3N#IgYSu_ld`A`o{GFzyb~WM`0w;${=%;Sj6-lhvF1F$MF%llYnl5YfUJlRvOUl) z+13EYyBV7bL?0HML;)C!vZUhu`M0Ojf3@+1DFpzEh(EnL) z-<6}Pmi!BNGk_!l`>)%O+o1kmvO~WzIVq(1H#KM`*>YG?e{kyUNwGT%tbQ|fUJ@I3 z&(MXk(E|;(rsAVNZO@BAQm`gNhKX#<15YD&5Kxiiw!!^6T*Fe z6XYAl-oE8qy?py$zO0}2PzrnhGj49jM?UUJj{x!8y;h(-&Lf}VX>Ta~lC#oG|39~a*KBvK+M1Vg>iA2i_ULuOyLcOm zPvT!uJ%6O%OU}%L3`tr}q{`(Ff znN>8le7HGfaRFF=N1IdU$xhKJ^-nmcC+$k6>w*z$kiXY;;9xk#<=h7iqd)_tdlo759O1iCZN$@t`M3oo33)Ka$dxXtUlHwv#bc${`{`RwU5r)@FIts3b2GCtSC z%c~s_RChp0eX;|=NkCRBst?SLXtv=0tFsU%xhx;J4^`=S$^`DKv4bk8($Y0+-lI{y zhY1NKF(_%82b*xi?aiiFQ1Cux{{;F?2}K0swOZ2&P-grn$W_f4o2KAt_h}^Rag?J{ z6hLffUem2$Tp#WVDLziMT2Wn(fI>b$WWEr+(E<5{!t{yn!Je8Y3g3XlHGau z;TL$1;QtB5xbBHRnn6jzk>mgsh_$YdSH@f@WbN;IRoI_DKub3hxEE(mcjDM(a7e}E z6wc3OOwn}L(j6$U(Y6kA=+3{#hcD4d$3FPUe0|c`j@XZH=(eEXx&;5&scY4Y@mo;0 zPl~r~&&j9T^OI4jSq9thJ!X2Sr#I6?{Os1jXn}(`q-3?axO_F`&8hn&OD$vKLEpyG z;6hmA77QY)BE?HZ_tji+gQQ%Km7+fYgj#QC^r54xiykmJpk1Gr69d8;=*MEF*ip zZXMlgelbAzwDdd-o?zC>6qF3$_>JqnO?s8*{p&ZF zE+=gMQBRavci5zvhv@;@MDM%jC&j*it#_$a4>1}al>H?J<1WC|ddZ}zze(g8wI>qpZ>N?Rnew)NW5C5zB)0T_sJQFP4%*HiOKRB`)Cu zWVxc^`Rs|KeeC2FX=Uk7jgK3fy1b7%cu8k9%>dqQ-x=`QK_la%@7%cdOr1g3pRU0J zZVGT7*u46Rp8VfkX^e=;Jq7UcAEKz-c~nXj?{WHL*-sl_^2BG#KA<5-pq4;>q~_@| z3uq%q?ZyX>2M^N^kJ8p}Z=`}kktBi-CuD8Ol`h|CmVBr{45S>46_^G0#EFCcm6GSm z;3&mfUMEL^?(0*x(Ont*FK|&b;`Mla2g1|gh?_aiP0XctZZv`F;Nm+s^owp>b?t{t zG$L)r)<&rdPdqxHjg&L|h1y=Zb)CTXtu1dn~6vds|Dq4Gs{X1%M; z!`<`XnoH>?pZ`jFowq_RecYRlN)5PX?D_a>;rs<3<*!%(Q#FqGML={12->-|nY5-% z3~nF1=)iCMbakv@x46woUhopuNMO5Rfq;hu0TFMKHWv}^|GTc-jA0GRqHnI^42tFjBl$p z&(l2S*S}Ci&y(ty?x<^hW;S0SyG|isCt;@0oMR&? zY1?GD@C!Bz;a6CIb_>J3z#-PrCMM_^8ZXrH<{q~5!rF*dLbb@i7dO}6c%9R-xyLuX zxEezI^dt|8V)T|D*?j`HCiN)%E%>KxaHwbdZnp3hs$ef0IL0{fb{BSx0oJV*5G*;T$!21W#5-66Gj$&Wn6%!#QF+_4oA zf^!^8Ud=hf7u)hxweGD_gC8`oW>)I}q8NFKj_)BT3OX3)BEeCqZj)5ctqB%x@7kxv zCl4d$2z=paWZd50zjP=9PhZy6#i*kO-w<9-&au5e)R55qJXQwzV#P*DqExTd3mmIJ z=BI+0VJxV-A9xk#dCbD*tIAltRUj@ixxHy9?RnTh>78}gHNbtw044RGzw4b^j@gv< zg8uNJwV3&`sTM{BNoq%p>z#2{c}P9&Vv=E4#w>3W9E}Qg%+qnv~YuL z>G1vk9U>HS6;@o(s9JYRn!fJ7Ark}=P#t}j>gITU;V=QQZUs2_c=@LG4ZXVuScaS5 zf(MvKZT9_#^tgYXK`?KoVacz3jtm(5G~ zYF~c-gCGJfbt<3r=hVn(X#%)7xwsj*w44I4H*Y!E<)+T~z)#V;cXdg0a~eahj8v9% zp1+AC>^$YqHdQU3_X%*t{9-$OBxuuA=wZ;BkoZ5TNM8qErKgLpD$&su^wCiLvPTdx zRFjic^YaOM+w(8dP2Q}sc9sMoyDOJbyK(1z`iup_hm=PM(e7_+#oNILk8roXmlmUj zpP%f02baclyslpsXKnc_vifU|*SCx&4=0BTKFH zrXS2I>jIC{04y(ahRH{`@ueZq%<<9y-^XTe`u^3pN96%Sw7|GQCC+OGFO0H+ZO>fJ zIg}OG7=um#^gumk?2o=^N}WQixpFiQvZ0~jUI}aBhYzc-SwVT&joY^uqX4ui+9vEX z1f@(q=TZ%nuIIH5r7cyr(0?@00i_1k1*xA-@NV}dcD1+J}goH?JKCTpGL*~ZK zn?qQ;f|l&voldc)h^%do;k7$i)8*fn-N!tbq1gqaOx9~?(ll*)GXroj{O>&13r{^> zWrCG{B|Exk{niA^Sw)5B;V)YRzW)WQ>V3@l^_2@?5TM&u0kx16 zRa!>IUVUqg(60|M9Ea;V_S&(&*Nnk<_60yE5KX@aW4UqNTM165xTL+Z1TD)eDkRGo zyDz`5U#&9qnip3CZ3?9;?Q#3@-b#vDz9t6Nj@qeap*`95t?$9QSC#*5!WN(>TC>Iu< zy}PYi^GeuB85TRi|Cndc@`|vgmudR;CA&7p$9)22du2A<-&w!%31(k9(wlwlr6MGz6{?YadhpddY0q341-+kfOKW4W z+Zw})c4zgFlw@Ej2rfKXIag)}4g%T;Js3G0{<036Z|NJaOu=|wviEL&bK#@!+UNEP z-gu#C-LQ;|jB}_>7!1Y*f>l7Sq@LK9B!b_L7+S-0mU_2Qf@oXpo2$WeMF{ngl5bS< z)exDgW|Y1?zq0b3)xyFe4>;yfFmT;I0~ECv*zU!|L{wGZ2@0~a8~o8q#pCAk@ANB$ zX9?!Jm@=wNO{axaq%PNZy32QWn(v*y5x@O(zJtMq^j8dtujy0OKqFsyuBYYR2uV8VIa!-M$3?+Fn+1@!qSwgq%-aUa(1=)Dlu$qC3iDYbs9`TDlxUR&RtD`lZacLfJ z0Xza+ieVmga;Ih*nq7jr?i$>LQ{bv^_Rt=P=OvBOEu*!rTM~CyqxQTNK3=#RS5!sC zo-+?l=sXCJwGQP;1^TE;v&np9Dc8u4Ts^1`X^U zm(NDZV$a3*Oi(B+_e_i=a|DP;Mv?Z~aM7C6{QgOEcNdcV3BXaUxe8^YQaz zBkzs*nJ|TyB-Z=Hysdr|!yDcPi*@z>w#^N8HtXBH3flVN$#F6_e1pJSh1WFe+y$q(AS zgL8+9Uv%Q_@Lnak)n)qfPTgtvObl=EYh$?f1miW1N$Iyv(h3Gt279!W$1v??d0w8# z{rmT4|NMc0Msk&wmp*Jfz55On%T{9N8Z3=pzU*RM-e||oHGI<~3R5P|L>@Y|a$a!V zyBXx=oYy(=(!s2{YW%8%Y01MHLdc`*Lo@cfG-iZ|hN6ayiwep`ED@x@#}+_V2A zlY~=W+BmmAV+rb$K>scV0&T(JU+p$;J8>{+(J`YF`-WzkM4R3`{ zaI|{88Gf7pC1-!P$V%!S5ZzjXX(VgBG#48XgD&MxXvYCkFuIqpQ{v`+3>2u%eKNMR5?uM-`3)M(Z z%Z75HrA_q~mr$7-r+1eB^Y^AKHLe2mqtzQ8$MLwQ?lTlJRG?su>NaZGM?~hp`Q&fB z({O%AFJ^m2f7W_xX<6x(GI%}+8elPRE6;-_UvEu3nRg@7^xD(i$Cwj)Xp1gJYR{y|X)she20R!rXAV0q) zhUWOe6y66ZomvO#esn=BAN^WENoiM`%QHwdocV&!Lc%HS)5)~2t&pxj*{1n@A%Tvc z_SC#KeF9A4PzGaMq_+@}I35Tpzozo7I8#d)&PdDdPL0!DEiD`@Hn*&5?N2^*e$YFL zXwA89IeQtiJw)+p7QR5cS3XjM-c0ymCjG0RBsD#C_O_PR%RM7al)t~yoA8L+6^u-H z9ffJv4NDU^NG@3nH$ELGDWT-N;)+WsiG!AD*&e{Td}}0$4yL0NkPG~ZYh5KURA)e= zkhi>$c(x#P_D#EW$3bZ|lEu_?6t)~PSI9QbqiA~&qAZ#b5I30ZFZByI_WHf~33dv0 z&;|^J-Q5d9RbV291uY3mnY7W2+&ZOvn8FyDdkax)r|87&Dgtz|5ysiC3=mC&Usw_` zFqR9eb_sofL>`-K&|TQw)Ykcu^7_DD2-2$FJdZQ}vo<=@GKof*eQuCEIK3TVY;*C_ zrJb`PlpoKY1!@|=V2RJ2bc3Lu08B1TIfbG&fn$c-Hn>x&;@c4=<;g9_KPFjLx zNGC->39QeO(xvHDJZ8#;)0^p?=L!3|2&gG0 z&qQn%?j88KO&Y6I3uCC`)m!y+2(Vq^wa#s0=ANUEo6_5T^^(Y5W*gy|GL9|UU>HZ) zpcDfBUUwzRGP{F*Pj@-%oJ;u4Kk&7^(k9|(VQe+$U+M6Lg@<7G7FJM5Ep73rx2d6# z2Zh3}qp?e9(!#>RU3dSQBaJ-%|GCMKF*z{_$?3>XjkN)euF1y$nZl z>5>|wt;e~2L64Wn3#8x;7$vKAeI4@S#y7`3_z`Qvdt{|nu`fvzk|oc|Un3gy1iznG z)z~zv-q>Jg-~%MpV3ckd-ma9y)pLMeTO=OU{*02?!KR3zYymlnY}?^0GsEGnk}hy2 zxax~~kB?Gxr57q~26FG-XR2HWK`Jz8Xs))x7aCsOvXn9ONMW;Gv^l4anY^8wL_T62 zQx0pcrEc2fFJxEMm>m&kH#0Mnxp*)xw=) zAAaYS?bhwtQ7Zz-E8L?V94J+xdJ}~8+S%K>_7Lq<%doTMUrP$&Rz;QUWZghck^8$l zjTCp8!fKp?t9a$7hKD&oH>gvKy4!^`l_!IB=vX$xXJ_w3N3Y}`blhHE;-LI@;-6rm z!eRoEE#Q2G4Ii9Q#9Ml5#Zw1H+N4@=q^6INdw4;?6q}n|CK8kZL6OkVA*E`R_Yf=`&RW(l zr8_^b?Y9pfrZcy&*n?L|78^>)t0*d(Rh-;aR1%mkVw{Y)y|^#&4WB%vM{#38oZa-` zIj}yyoqXm8*f+v=GV7j$N2{f|nF89D6lVawcDThv6G>K_Fimk9Ql!OgZRfPgHh*tkEuCYs`PV(wf^}(O2M74ho#4u|G&Pj zGAxSdU+)6aDF{eNhk%5XQcELBONexbbgQsSEDeH6NS6pKjUdt~sFbk464KqdvMjN8 z_}_a!+%I>(%sgjyp81_KXU_TM`|<@_Y#u7GM|Bj2;LaiVU~ocK7PFNSYVGgCNXY~+ znCE~`6MA*{9Q1*m09-23(gB|!X|z$9B4`1iP5~5~$!e<+P$z>`aF@@@qPXh#oYmS8 z?hSmqyA`1L>q|&dumxGq<-zLyKDsoly^53^w8i+loTeU=g~vURNP^OOUg?f^Rnw=a z9{1BR>`Gu?dAEv;o{6ZV)b&Q)@0|;_9o z+PS{`xF&V2mdFKgZIUVLY1xF8)!!`ABXMsm?q7AI9te=H51mnkp8Yr`v;0V9EMweB z3=m4*Soy2U{T2=%n&N?+DB*NNs7;N4Kqw77`;WdgV141GxMeqS{ren5#WQv5elz3% zJ>N)1E~m8=%@2^MKjAFJ0%79+gk=GH4?yCk0J1&x5_09=4i_~j0$2FKK>jJGX_F7n z1+O@(X-0;1C%YgYb6-@SsF-A!O{&1pTk!yPe&JK#?Dy}eNRo)r6*(6a+l}2{62bBW&mx3akX`lm_o0#;r zz!$T%(4^*}kKFk*0j~u++?dUU!8ddS6h2<^o9Y0%mQ!N@V$sey;o7rdpc3`-?nbpm z*mJabuLE=UHyc6owm0{#WLi3fI1-HoZ=~?XOFp!esp3SraZjyXKZZ1UBZZ_1 z$_5DtUp1s4*p$4<6;`iWOcw|>!ALV_cgg=Gttk?1(Ox3>HdL=rn7%X<|S`_HF zvbW#Nt;u{Pe00>p>z2uLJpBG6rF>uo1y-k6eoq7B!Sb>}45Y>Y>u~Xqk;#<;(w^0L z7c?6e0##hR6%mMSUX!Y6>^Z3rP}HHfwOe`b?iL=>abVY{dznz_24OcrSpxsJaO5x$Fvk0%4J>8(?< zpZa#Gys)6@)}|sSuaLOzEZ|4`4RD zd_2Nr{9QL9+2$UH$aOBtqbQrS0tk7N7^Cvbm0}Vq!(3MS>m&zD(C%l;Q-}>A^7La3=;@*$VILI zlzzLO$N&l*k}JEB>roJkxrK#|ySs(8r3DQZpdcXKH6A>gO{2#$W@V^O4Uo zNct3Dkne^9TTIzZB^NOy*iM+m#GQmwxxegI0rAEjF*!^BS^Ry9Y%4|uzoY*C{+op6 zu&}TX=aDNFm6b*u`t}`Cj>Fl%99zr6(jJ8N_Nq4IbCE;-_4UR49u(3iMgY}o%a&gX zqGFB808=!($*U*7)?)7OD{0T}zA^fYrY2DkzDgfx0+H2S_)WVQ3l0(Wx&zRf7fUmf zdo-d<#M?ojzvS)jz6tNS1b(_#>%PDn;Fm{(fJ6sYcNeSi?aI^=(E_M+S6}m*a9#y1 z6DZ2Noq(MT5Q_x+t1v>pFLIO;KK}9mkA?M|opV=Ch|qOO#RkF<44=ryV1jORZKWq} z9gYtDz2kJTv9U4lVgV%H*4OwW02}T9WXb{z2H83Oxb)oj?{6{i39_`ER*WBf1-}2L zzRC5{S01sqIcY**z&|I@AMoIH(p)Z=2lzC=rh zk}LO>e5%M$gyrLxVY-e3+Z{n$Z2w$Zx2g0(UOn^MJ8l>1s6Isz*@ z@hVb$6!p9Ayu~2QX4lfjbA5NAN!?>F8JtklwZimhyDj-$8O5Sp-oUMLh)}?n9O7_ zKJU)m`SCi{V0tn$*;h}gQbWg6P{A0N$#1lo;1^AADCQ4VA}^$?5kp)mm?lEdNOiX2 z+;GSrU^q0I07TH6Ht)uyLgSrlFZUWmkvYfaaxrX*##au2PEi}|LA?{N*@(`m80T=F zZPyOQoMYrC0_IjGgo2$Es5)>htdiz~H}k@H@adnyt7ubTG?p$-2m$4_ZVJYjyHZmA z<*GGojj3Zae!X1Y6ZPRB^awd{6J3{*XRDi{`TiIsJXjWgt1 z0W*xau4J#dMTDcfEco?ObPMic{PFlN%HCCl3C#H#G34*ni6CE< zi*e*Ca31n^uLvbku593iyX0&*?3u&KZr|I_v*O+g{4?~AgtKU)ERt>iI%s3IW=Nh~ z+U$rD8w8Z4MTbB9_SQV=4RMPr2@OWvNeMU4Jnicxrs|6T!CrO&AVKy2usgXcNl=z0Q zIX`ur^8VcOmRKdix=~=EG6#5&c}lMh#l;A+aw3vTUr1EDQ_8*~<2Gyzd#x=VEbd8o zG1Pju0yVf*JpV)&K(KOOXqTU9^i1;bloa;*C1gJ;8xfu97tc-Yx8I{r&Qn<$0HP{G;fmF*cDSlH`obw=I=vDqxSKfPkJRFZ@8FY&Zk5+%t zs;aiB`n(kWV9AsIhV^qvxqv3B+Db!f@R?Qyh6ENL`}&t|I%&u$V^rER}IsTYzgNFGT8QBX{v!35GOytio9uuX5S|EOXBIkD&uzR+M)ijUv zJ>+J3OhTfH@JD>90Z>`&QK_T(EqX`Cn7CLa`(9eWNuJh>?UMHZ-W|w#bWHN{25H^I z>U8v=V}oj4)!x4~Mpx0mhgaS2e(UUFjBwPGr^CJR7=rAW3QC+jOs_xiy|<@Xu_3aT zU5p1mkK&<#AJ!=%A^Fn>j!e(Lv$M%wdk-n)h&8$!2By+KLRjh?!3azF=wwMU5QqdN zTrQu^Jjr53j|=W012Xu(&YsQyFSgnj|xSq=UY{>AnHZQ&CANbs*Q^ee$OmE2#(iudLzGExtfJginPa^yP$>_k-`NI9`Ct z*XC!tlK*qN7pPKF-)Ce1hDg_+pTw0f8>3zu(K6Od^FZfFXnAYQi(uE6ud^Yrdw~c2 z^xwUgtN~bo!YCkJ^5Wn;;%MQ7=<9}olqI9TTGH^|xBx^`^A{#xS640wN%~gU;pF7m zD6y4z?rp*| zuC9Q(gYiN4{&tKcUHA`VDy!(Z070#g_T3n&3%egex}eVd{Re(kdnS@%YGdVohGL?f z@vDZPOTH9+DI=*HL(<@md0d(BG=CM(YSS_>5HT}n*?M|=djk$Z^c)pPWSJJzFE7&= z;VbCmw>5v4?Q|>Fq}qz%lZL=|>i>*oggVtGzX@iPT&dyZ*}D}Od(^{A~F^|0N06+v)w0Z>XJ^;duB0nr|R1)9PdnWDR) zc=-6w{KX9Ro0_wU^^qdv>;{;48Ja>ysQW}7s;mr%(tv?=3N)kuv8{R4Lsb!}d57^X zsyFOozZc)b`Narfcb_4aogQ3L2N1oE*6i_tH3iWIdP4NbM&w%>20}2a0BMd^a`LB8 zb5XDQdc~(Y!ib5|FqHR^sD$m|!zD>dwu{EzgEnrXM8Gu~+wO5XHzMZR>qQU3wq3lN z!Pu4PoJ??1r!t8gl)3c_Z?ooBTaezCza%~arbL6&R}AbblOn7CGP2@Z-$wvC&L8CC z?LGQN%DI94L$p_8lIW!uYE(cQM1%EjqKo{t{Y(x0ijZA)_EH5~XlKjbdKvj**Ys=5 z6?%}u-m%2iZA1riekv(ZHOwxBA9Pkp83Ut<_i$(KDt6bXm}_F*8nFYsZYp{`t-QJF zYAcvB@zS+%kW`$V7RA#&_+W4a|Mhb4Mf z!12We%9~x9Y`Te1R82TH3SRK^4xyyBc5+rmWHt*sTAL8TWUOTSlF4lwrP3fkZhVE2 zm%Z3|J??C5jeYbP52T}NT#^c8v96ISf)0VbM8f$GyQj%JS7}-XIB9YtbKK4uXJ6`{ zi7P~pP?J{yNh34j;W^m)W3`C5&+3z#gmF+PP%;sBkA+;jyy#u5SoZGrqQMkb@MJZE z#~g`TkO5PnWm|W@{7cSF7rEsHdoG?mNv(3Tu2zH?f>HFzli8JuHxbD zJ|w*xX)zz3m7AR{v`qpg!{VcVQz?E>fGAh&OchoYaTVHfcC9iMzI2qT11bVPamtF* zI#tiB3FCLx%NX3IeGj%X6ekpNXX2DhS99Ec1?T&mkI=kh=#cQIEQ~e*Ve})i9A#tc zipTZQHAYt_%1B#WqSPInbRP*wM50Vxc`Fp16Ex|c zVmAlL$E|(!e~i;<{wgayc){!~LQ9>V8Rk)$ie-sYB7ht;RldE``9AX`De)ti{NcZtfkC6oWj;7htPu3#gc zRA7&Y>JLuoZ(KRV$}~55^(^W83q3_Yol0F@6Hc>P{G6vrwHyVswCnVH25*av(7sPQ zA~XdsAwQlojo5YDSPU@f+S=)rzwvMVZDW&MI)ipHt|mc1-oA6qa4EI1jdKGv@kWV? zN~yF=YTv)4#(5s>Ml6?}NL>4+@oNU()eHMH;5hh2D&m>3kD@R~gCuKN!}4D9?Hw(3 zkAdHoN|e%N_5$W~(q#tar^3t(40HBBk_DP9RKrd9=I5Gojkx9g`HlqgvvuG>jqfeu zJ}I&AX7XpUbX-Jiec4EDgxY-Cc&;|26-cEEYkAw82gRQ4@WQFhmcDkz^jXoRa<0sf z2S0e2T3JR0D}T62`3*PQGB{kcbvm(3}!hUqio+9qM^{< z7(kI}buLW;La@znNnWl9j(zNaYQC&@rm6Gz-My?9e{{Z)x0F7@T71p{r?wT;3XSQb z!ntOh0x8Eq2N8knAzb)^z8>9d!sfkZY~jLxpu zISgKTrb#j6lm`o|uCn|wC0(U-y?1W@2TrZ*7VRGTgj|HJoPn$gnh3)sAu-2eJeO<) zRi>Z9AR|_>XV*@kXX&`R!sJPdKNzw~vRC;%ugjAUnxlVF0a7usKWr?UYt#@L1d+D; zGhd(mWvj&yz)ROe_n58<2=*Rd2OBNaQsEIk&%)1uPI3>si)(* z6jv!?imu0EndurK%ETEen?qEfP3=FyVvuM`Ry>fOpI?4O1vyZx0wB#$Qo8nxyCh11 z$E7u3PYHiMKoRE|IL$`M2@EV#MB`UxWH`IKrOgmOtSTo);0@QbP&9Mg~m8D)DJ}jO6sSjk?%vIbnQ+r_4Baf zjk=KT{EGA+>+&r}eP2gxPI3X9su`mFkGC5xGIU7mJr^kT&34q3y7r<*8W(V3jx~;U z;isArxj>a0d?f*n?b{wXC)fmp%TnP8lDp?!AV={1p-nN#6Q_`*el8%&wB+@u-ljm0 z7(m!$0P1gnXcHVus+i>gpnw&Ym1!0#pv&@_u}4#_PSUPy-*pio7Yd7Eu}j-Lq9B^B z5kHZzIiG={M*+LU!dBNlzZXpF>}do916}j*!#MUrJUl2t`T2|gVwN1Ki3vm>J#se7 zRJz*Q0c0w@>AQ#s17$S+#OsNmR;>3UCiBv&D*6IF=dpv4N&e5}?ZCJImjS6(G{-mj zv27e~L2cwsf~fqnQ%z831L*jfQ~_{$ntI8Q?U~T1kEpD?13<%Od+)`bn&AGuBerl~ zft)GmR9@z6VVNyOR1T3g=FGWOqUIM3p=;=!^avw#Khnf%&m3p$0o(rP5qP!z&#CWU z-XVNUnQ_Md=P0du+0{y+j=wRRLcbeG+-FK*xJ4=iXt_ zC)P$+N2hxTtE5!y=xj&M&cfgxL?17O810kp3QgFgyb){O^`M)=6t&V&!(8)H-aR2J`senT(6N7Mnp7FfI>ulXnL*)W$AlAV}xsMtoVzjD6M0Sc(|6qzQN69sn5-PlgT1=C5}R=xhZW%Pdiy?#5#38|-zNJh`^n|E z&Wnk_*L=em^vR#MSnlDM`PJ1BEV~;ZwJVYJ>#Na$f)U=3JF=*b)Y&{}j+qh8kTyT4 zT6`(0V&~|BL3epS&#haMjA404(4^k`Z2vo%l~q$=Vv^SIy@V&B<0I-HQ&V~F*NI$~ zfdD$Vv1E1tIMg86<_d3n#1P`p+$Ec%16StQ>#T17cXrm#vO6)dEn&Q+F%sS5k_hGO z5zoRF1r`Dm>zy)@`SBO{g16)ki;KSibq$~df>ugyy#mV2PF!fShM zz@#VoA43}jqXo|GG3FQ&4}61JwcuvQCFQ>@E5e}n=`G`D(i`@#R?w=eocS_*k;~=^2Ex$gNOC!5vA@Ha)yTmhyDV{?rw3XoZeOZc8BHkJH zm<8U)_?#SVlstWI;GY7c07s1Gr! z5ddd0`^^e=;BP9p242m9j7Kn#&v38-)iP3Bv0_X&MbWg9t?1QayPkVQ@+o<}D9Aq3 zmyoHFO*)L^ zOJx!b3LTp5hXsF-5F^_liW1TdrCbOmPy~CR&+m;=edWc0DA^w4(a|X$X;;MeXjGui zjK(!fYjmyjg*AysIF;3CX^-dkeZ4Wf23O|h7Gp?A@8d3({)E4Q}=Fh zJLUUyOp^U@KE;yI^2eX9uwLSC%xmP`!kTW(Cv8SDyjL_ehxv)fm2Xo)Wmq6#bv9SC zO_!BZ*X8BqYK5u-*oSkQoBZSZXIW>v?>2cMtZ71~@RBo}?Mo#7ipBg2k0RF6`YR7L zap#&(*TGr5MUSk1)K4bP)4=^~QG)Tj4wB?%{68HgErF=X$vE`!o6fthf|LvNRCP(e zp62K{RZRN;RBe`)Yy~?hIbSC|U0pu_F#A<=(Y;GvozwVmVWRpRs}W{xnlnz*h3CYp zi95sJ$UGiiIa`#Y(aj-Gci`7f>pMyC;l&lI7OrjM^ymq6e+4Xl8zC5_Y_#Jp`-x zT`b`APJ@;z<-oW$v*Q<%KYV%QuL8p@F;gR8kV$S3!H9xvF7e*y+rmn67zJLRJG_5%Z6+H99)0{6S6qw(^{IZoN)-=WcTsY5aip#(P znh#!)3{qUCi6qliW$V+y{W$I&on1#|_eusyNg`WIG}G5}oJS+GLLQYzqpWREtBs># zh#gwo04?ourUaQolW@2wudjaT=XZRiHy)j%-r>XZA?Qh5q1SytJ&7%7Zhm=+KIM^8 zFQWbObIs@O%(ZiszLAk+u^*zgR=*JHx{16|Tr}N6vDhyXd%@C*_Sf&b)D!{DCZjfk z)OU%71+GQJs|aXQ#G117UNkpK&;RH?|M$RMY$GD7Ok7K1n$|=O9RB;B0x%~$xoH>( zDifsR{r8PR$_i#GCu+nL)Ew~7K(B;SCj39RhP%2BkCD?T#OFlp!0s)RY;-1k| zY-u;ICaVVkQ=#3b%6+qaA6Xxwpmtl!ecA5w-ussLoqVGL*ft5j$=rSc0hzAhm(UI` znVgx6@Nhg!LN4wc+I&U!(5^0}**GyX$VDHs_aade4-1Yvw=<(%0TjBMCT%2T;<{qr z*s6JSpD%HeK@HEKk*>(o;c8os8!26WtvUd)n8cY^!kSCh``3JIfRN8t{mWx60s)ZF zYwTkou->i3Jt~K%?0jS2qcxfC!!A2KyCHKM@7BsEF zT=NK>CsujgRC8UF7BR77Wz|B16;3CsZpUt?te2?~8$P+6#`1vUqZL@nk!tf{GqcAY466Hge@ zN_1!Gzy##{w~@KfjH!d0mjEwJ@o&_aI=7;LP6;g(GK)|1L5f5V$maQs3EsZ{eoYos zj_&X46P0@y&IdbF?UthM;o_Ry!jX2~&pL&rvKF{MyUM=?JQB&=ip1>M%ZkLS+kNpJ zsfWj8c+?Q-f^ZN(;vGb5ji>sAi8=ql+L~Ul!uPcuRq4=Yzj<6x!#UrrB)NHu zwptv(bX^jr8d%X&==g{wf8cGER6o6R`MGX zt*gOj*6`1~NS)Ae=A`p0C`ZejazIOD>K@E(g6iOshB8M8f?uM5-l&BFT)6gFT6D?v zKS6Gi2cUcJ?4Z>5=5OZ;Lm+I^)6-E>aDe1?89)!4*|6(>S4$(ovGoB|=9m2l4BBjP zS$}{M8Dk|F?miax+I|jG*f~R^Z2-e;Gi%jSxvj13CBs=zsc*qQCNjc^pzHGuif7JI z(b4**rm^@$lpv6RprDwX++Yz2$H`-G=Exa#>Fy(RnP*0&3*N{toUwZWF)2($71;P%dtN0F&#bqa&elY+gx+1td{b65!k0??(jU= zt7VR+XN5u>zXhFVdPNSh24o{?0f|^N)BP~|!FL)v;l>srYH_u`?r5WK+lMvnu)qS3 zNH?SoC?8g!1Ce?VM1+uX1=a3xqM2Z7Ij4)MW6LIRiPj#DDnAw<+2UJ*DsmQd3E*#rhD8xUyf(+Nl3Uj!PV(Cg302QO+sPQ%%ww%*&% z^RVlT?4Z)7VOG2FZQ*ln&?Eot6j7O5cp%d>H5(g_Q<6VgLrFpdf17SA Date: Sat, 28 Dec 2019 22:02:17 +0800 Subject: [PATCH 02/27] does a fix --- code/datums/dna.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/datums/dna.dm b/code/datums/dna.dm index b585cc0e15..281af0c039 100644 --- a/code/datums/dna.dm +++ b/code/datums/dna.dm @@ -299,10 +299,10 @@ /datum/dna/stored/check_mutation(mutation_name) return -/datum/dna/stored/remove_all_mutations() +/datum/dna/stored/remove_all_mutations(list/classes = list(MUT_NORMAL, MUT_EXTRA, MUT_OTHER), mutadone = FALSE) return -/datum/dna/stored/remove_mutation_group(list/group) +/datum/dna/stored/remove_mutation_group(list/group, list/classes = list(MUT_NORMAL, MUT_EXTRA, MUT_OTHER), mutadone = FALSE) return /////////////////////////// DNA MOB-PROCS ////////////////////// From 0f38b79571b8b53a4190af80707ecf93723cfb79 Mon Sep 17 00:00:00 2001 From: Seris02 Date: Sat, 28 Dec 2019 22:21:45 +0800 Subject: [PATCH 03/27] another small fix --- code/game/machinery/exp_cloner.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/machinery/exp_cloner.dm b/code/game/machinery/exp_cloner.dm index d5388035bb..a88cba851f 100644 --- a/code/game/machinery/exp_cloner.dm +++ b/code/game/machinery/exp_cloner.dm @@ -9,7 +9,7 @@ internal_radio = FALSE //Start growing a human clone in the pod! -/obj/machinery/clonepod/experimental/growclone(clonename, ui, mutation_index, mindref, last_death, blood_type, datum/species/mrace, list/features, factions, list/quirks, datum/bank_account/insurance) +/obj/machinery/clonepod/experimental/growclone(clonename, ui, mutation_index, mindref, last_death, blood_type, datum/species/mrace, list/features, factions, list/quirks) if(panel_open) return FALSE if(mess || attempting) From 17a181b12179cd6a1504151af352580911380ed2 Mon Sep 17 00:00:00 2001 From: Seris02 Date: Tue, 31 Dec 2019 18:02:22 +0800 Subject: [PATCH 04/27] fixed --- code/modules/mob/living/carbon/carbon.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index f68869d5ec..016fec5499 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -996,4 +996,3 @@ return TRUE if(isclothing(wear_mask) && (wear_mask.clothing_flags & SCAN_REAGENTS)) return TRUE ->>>>>>> 8ac23f41e62ae8cff0c4b7993b19775b4a8a3b21 From ebf278fa0a4bcffbff2352384e1de4d34ac768e8 Mon Sep 17 00:00:00 2001 From: Seris02 Date: Sat, 11 Jan 2020 14:11:56 +0800 Subject: [PATCH 05/27] fixed again --- icons/obj/device.dmi | Bin 48627 -> 49840 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/obj/device.dmi b/icons/obj/device.dmi index 60f15b5543d2752e6fc6d31901d93ae8f81a9f48..a382276cfced8c82b3771e3900e67fd101ac8466 100644 GIT binary patch delta 9818 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 delta 8595 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 Date: Sat, 11 Jan 2020 14:40:02 +0800 Subject: [PATCH 06/27] fixed again --- code/game/machinery/computer/dna_console.dm | 3 --- 1 file changed, 3 deletions(-) diff --git a/code/game/machinery/computer/dna_console.dm b/code/game/machinery/computer/dna_console.dm index d02a0d8510..4d7dcd8825 100644 --- a/code/game/machinery/computer/dna_console.dm +++ b/code/game/machinery/computer/dna_console.dm @@ -137,11 +137,8 @@ occupant_status += "
" occupant_status += "
Health:
[viable_occupant.health] %
" occupant_status += "
Radiation Level:
[viable_occupant.radiation/(RAD_MOB_SAFE/100)] %
" -<<<<<<< HEAD -======= var/rejuvenators = viable_occupant.reagents.get_reagent_amount(/datum/reagent/medicine/potass_iodide) occupant_status += "
Rejuvenators:
[rejuvenators] units
" ->>>>>>> 86beeb513c4256dceace96e7c2709aa63b6f77c8 occupant_status += "
Unique Enzymes :
[viable_occupant.dna.unique_enzymes]
" occupant_status += "
Last Operation:
[last_change ? last_change : "----"]
" else From 11676f9e798cb5fec77cead3e80f027e72d5bba0 Mon Sep 17 00:00:00 2001 From: Seris02 Date: Sat, 11 Jan 2020 15:23:59 +0800 Subject: [PATCH 07/27] fixed again --- code/game/machinery/computer/dna_console.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/game/machinery/computer/dna_console.dm b/code/game/machinery/computer/dna_console.dm index 4d7dcd8825..171f1f3c02 100644 --- a/code/game/machinery/computer/dna_console.dm +++ b/code/game/machinery/computer/dna_console.dm @@ -1,4 +1,6 @@ #define INJECTOR_TIMEOUT 100 +#define REJUVENATORS_INJECT 15 +#define REJUVENATORS_MAX 90 #define NUMBER_OF_BUFFERS 3 #define SCRAMBLE_TIMEOUT 600 #define JOKER_TIMEOUT 12000 //20 minutes From 379d5b9463cac531e08ae709d6ae819b8812436e Mon Sep 17 00:00:00 2001 From: Seris02 Date: Sun, 19 Jan 2020 15:27:10 +0800 Subject: [PATCH 08/27] icon fixes --- icons/obj/device.dmi | Bin 49840 -> 51338 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/obj/device.dmi b/icons/obj/device.dmi index a382276cfced8c82b3771e3900e67fd101ac8466..7614113f50ac024ba14b7365c26a5df02f73aa8d 100644 GIT binary patch literal 51338 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 E0f@LP!T?}0Px_AoRlg6ph^7w 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 From 7b6d595f22384871ec4bbd50f531631bc5c1ce4a Mon Sep 17 00:00:00 2001 From: Seris02 Date: Fri, 24 Jan 2020 10:23:24 +0800 Subject: [PATCH 09/27] icon fixes --- icons/obj/device.dmi | Bin 51338 -> 52310 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/obj/device.dmi b/icons/obj/device.dmi index 7614113f50ac024ba14b7365c26a5df02f73aa8d..5ed562c8fadbd6285aaa459b5d64442e08a2a016 100644 GIT binary patch delta 11813 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 delta 10849 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 From 80e78f63bc0dc5f73802c4d6c9c921e7bd69bfe9 Mon Sep 17 00:00:00 2001 From: Seris02 Date: Wed, 5 Feb 2020 18:49:29 +0800 Subject: [PATCH 10/27] icon fix --- icons/obj/device.dmi | Bin 52310 -> 52458 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/obj/device.dmi b/icons/obj/device.dmi index 5ed562c8fadbd6285aaa459b5d64442e08a2a016..cb7877f57e767916d91e8c8750a20e8565fa264d 100644 GIT binary patch delta 10749 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 delta 10623 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 From b2d2b002388c5409e419667112b1a939514373b5 Mon Sep 17 00:00:00 2001 From: Seris02 Date: Sat, 8 Feb 2020 14:11:49 +0800 Subject: [PATCH 11/27] much better --- code/game/machinery/computer/dna_console.dm | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/code/game/machinery/computer/dna_console.dm b/code/game/machinery/computer/dna_console.dm index b85253b37d..9acec5ab9b 100644 --- a/code/game/machinery/computer/dna_console.dm +++ b/code/game/machinery/computer/dna_console.dm @@ -245,13 +245,18 @@ var/max_line_len = 7*DNA_BLOCK_SIZE if(viable_occupant) temp_html += "

1
" - var/len = length(viable_occupant.dna.uni_identity) - for(var/i=1, i<=len, i++) - temp_html += "
[copytext(viable_occupant.dna.uni_identity,i,i+1)]" - if ((i % max_line_len) == 0) + var/char = "" + var/ui_text = viable_occupant.dna.uni_identity + var/len_byte = length(ui_text) + var/char_it = 0 + for(var/byte_it = 1, byte_it <= len_byte, byte_it += length(char)) + char_it++ + char = ui_text[byte_it] + temp_html += "[char]" + if((char_it % max_line_len) == 0) temp_html += "
" - if((i % DNA_BLOCK_SIZE) == 0 && i < len) - temp_html += "
[(i / DNA_BLOCK_SIZE) + 1]
" + if((char_it % DNA_BLOCK_SIZE) == 0 && byte_it < len_byte) + temp_html += "
[(char_it / DNA_BLOCK_SIZE) + 1]
" else temp_html += "---------" temp_html += "

Buffer Menu

" From b811194d85cb09cfcc03e186a2c0f54f8d34e5f3 Mon Sep 17 00:00:00 2001 From: Seris02 Date: Sat, 15 Feb 2020 15:46:04 +0800 Subject: [PATCH 12/27] icon fixes --- icons/obj/device.dmi | Bin 52458 -> 52986 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/obj/device.dmi b/icons/obj/device.dmi index cb7877f57e767916d91e8c8750a20e8565fa264d..87fe12cad2294ae1892d9ca4abfc4cfee38b9284 100644 GIT binary patch delta 11312 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 B^l<>FHlOhm0g7l6E zQUyXs2qlo@4SwJIy|>;UFDq-!ow<`c=bn4dIeYI6<|E-oI$`n+SWhK)0}-=W;|q>r zH-#1hb1=vpOS}9sgYZL}Lv}TW=xHW+zMNb17mxqO9~LIPKuh;nt-8}ZGOj*ybMQt| zlG9g(9v_dI;F>h66E05OyqcNO(P!d(jH9=l28QLYoN-NUA57TkRp|X?=6}ccke`<( zJePoC?d-d|kS{`v@b(Fa`Lu6MVn+)WQxbxinGWUloOI}oFxo<2VdXKefskG zv-_8%$M^5wkNcfqeA?kzgApOHK6i&qf2#b~%0AO95lpdt`jdD$rDXdf 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 Date: Sat, 22 Feb 2020 19:42:33 +0800 Subject: [PATCH 13/27] firebreath change + update to tg genetics + calc patch --- code/__DEFINES/DNA.dm | 16 +- code/datums/mutations/actions.dm | 372 +++++++++++++++++- code/datums/mutations/body.dm | 105 ++++- code/datums/mutations/cold.dm | 42 ++ code/datums/mutations/combined.dm | 10 +- ...cold_resistance.dm => space_adaptation.dm} | 1 + code/game/objects/effects/spiders.dm | 24 ++ code/game/objects/items.dm | 6 + code/game/objects/items/crayons.dm | 2 +- code/game/objects/items/devices/scanners.dm | 84 +++- code/game/objects/items/dna_injector.dm | 173 ++++++-- .../bloodsucker/items/bloodsucker_stake.dm | 1 + .../mob/living/carbon/carbon_defense.dm | 1 + code/modules/mob/living/carbon/human/life.dm | 1 + .../projectile/special/temperature.dm | 5 + code/modules/spells/spell_types/mime.dm | 43 ++ .../surgery/bodyparts/dismemberment.dm | 1 + code/modules/surgery/bodyparts/helpers.dm | 1 + .../modules/surgery/remove_embedded_object.dm | 1 + icons/obj/device.dmi | Bin 52986 -> 53345 bytes .../modules/mob/living/carbon/human/human.dm | 1 + tgstation.dme | 3 +- 22 files changed, 807 insertions(+), 86 deletions(-) create mode 100644 code/datums/mutations/cold.dm rename code/datums/mutations/{cold_resistance.dm => space_adaptation.dm} (99%) diff --git a/code/__DEFINES/DNA.dm b/code/__DEFINES/DNA.dm index e83f7c4c2c..6604811d34 100644 --- a/code/__DEFINES/DNA.dm +++ b/code/__DEFINES/DNA.dm @@ -12,6 +12,7 @@ #define MUTATE /datum/mutation/human/bad_dna #define COUGH /datum/mutation/human/cough #define DWARFISM /datum/mutation/human/dwarfism +#define GIGANTISM /datum/mutation/human/gigantism #define CLOWNMUT /datum/mutation/human/clumsy #define TOURETTES /datum/mutation/human/tourettes #define DEAFMUT /datum/mutation/human/deaf @@ -30,17 +31,28 @@ #define ELVIS /datum/mutation/human/elvis #define RADIOACTIVE /datum/mutation/human/radioactive #define GLOWY /datum/mutation/human/glow +#define ANTIGLOWY /datum/mutation/human/glow/anti #define TELEPATHY /datum/mutation/human/telepathy #define FIREBREATH /datum/mutation/human/firebreath #define VOID /datum/mutation/human/void +#define TONGUESPIKE /datum/mutation/human/tongue_spike +#define TONGUESPIKECHEM /datum/mutation/human/tongue_spike/chem #define STRONG /datum/mutation/human/strong +#define STIMMED /datum/mutation/human/stimmed #define FIRESWEAT /datum/mutation/human/fire #define THERMAL /datum/mutation/human/thermal -#define INSULATED /datum/mutation/human/insulated -#define SHOCKTOUCH /datum/mutation/human/shock #define ANTENNA /datum/mutation/human/antenna #define PARANOIA /datum/mutation/human/paranoia #define MINDREAD /datum/mutation/human/mindreader +#define INSULATED /datum/mutation/human/insulated +#define SHOCKTOUCH /datum/mutation/human/shock +#define OLFACTION /datum/mutation/human/olfaction +#define ACIDFLESH /datum/mutation/human/acidflesh +#define BADBLINK /datum/mutation/human/badblink +#define SPASTIC /datum/mutation/human/spastic +#define GELADIKINESIS /datum/mutation/human/geladikinesis +#define CRYOKINESIS /datum/mutation/human/cryokinesis +#define SPIDER_WEB /datum/mutation/human/webbing #define UI_CHANGED "ui changed" #define UE_CHANGED "ue changed" diff --git a/code/datums/mutations/actions.dm b/code/datums/mutations/actions.dm index 7083bb1102..65dc19ad5d 100644 --- a/code/datums/mutations/actions.dm +++ b/code/datums/mutations/actions.dm @@ -34,7 +34,7 @@ /datum/mutation/human/firebreath/modify() if(power) var/obj/effect/proc_holder/spell/aimed/firebreath/S = power - S.strength = GET_MUTATION_POWER(src) + S.strength = 4 + GET_MUTATION_POWER(src) /obj/effect/proc_holder/spell/aimed/firebreath name = "Fire Breath" @@ -43,13 +43,12 @@ charge_max = 1200 clothes_req = FALSE range = 20 - projectile_type = /obj/item/projectile/magic/aoe/fireball/firebreath base_icon_state = "fireball" action_icon_state = "fireball0" sound = 'sound/magic/demon_dies.ogg' //horrifying lizard noises active_msg = "You built up heat in your mouth." deactive_msg = "You swallow the flame." - var/strength = 1 + var/strength = 4 /obj/effect/proc_holder/spell/aimed/firebreath/before_cast(list/targets) . = ..() @@ -61,19 +60,46 @@ to_chat(C,"Something in front of your mouth caught fire!") return FALSE -/obj/effect/proc_holder/spell/aimed/firebreath/ready_projectile(obj/item/projectile/P, atom/target, mob/user, iteration) - if(!istype(P, /obj/item/projectile/magic/aoe/fireball)) - return - var/obj/item/projectile/magic/aoe/fireball/F = P - F.exp_fire += strength +/obj/effect/proc_holder/spell/aimed/firebreath/cast(list/targets, mob/living/user) + var/turf/T = user.loc + if(!isturf(T)) + return FALSE + firecone(T,user.dir,strength) + remove_ranged_ability() + charge_counter = 0 + start_recharge() + on_deactivation(user) - -/obj/item/projectile/magic/aoe/fireball/firebreath - name = "fire breath" - exp_heavy = 0 - exp_light = 0 - exp_flash = 0 - exp_fire= 4 +/proc/firecone(loc,dir,length) + var/addsides = FALSE + var/list/turf/recentturf = list(loc) + for (var/i = 0;i < length;i++) + var/list/turf/h = list() + for (var/turf/g in recentturf) + var/frontturf = get_step(g,dir) + if (addsides) + var/rightturf = get_step(frontturf,turn(dir,90)) + var/leftturf = get_step(frontturf,turn(dir,270)) + if (!(rightturf in h)) + h += rightturf + if (!(leftturf in h)) + h += leftturf + if (!(frontturf in h)) + h += frontturf + for (var/turf/j in h) + if (j.blocks_air) + h -= j + continue + for (var/obj/o in j) + if (o.CanAtmosPass == ATMOS_PASS_PROC ? !o.CanAtmosPass(loc) : !o.CanAtmosPass) + h -= j + continue + for (var/turf/l in h) + new /obj/effect/hotspot(l) + l.hotspot_expose(700,50,1) + sleep(1) + recentturf = h + addsides = !addsides /datum/mutation/human/void name = "Void Magnet" @@ -161,4 +187,318 @@ return ..() else to_chat(user,"The electricity doesn't seem to affect [target]...") - return ..() \ No newline at end of file + return ..() + + +/datum/mutation/human/olfaction + name = "Transcendent Olfaction" + desc = "Your sense of smell is comparable to that of a canine." + quality = POSITIVE + difficulty = 12 + text_gain_indication = "Smells begin to make more sense..." + text_lose_indication = "Your sense of smell goes back to normal." + power = /obj/effect/proc_holder/spell/targeted/olfaction + instability = 30 + synchronizer_coeff = 1 + var/reek = 200 + +/datum/mutation/human/olfaction/modify() + if(power) + var/obj/effect/proc_holder/spell/targeted/olfaction/S = power + S.sensitivity = GET_MUTATION_SYNCHRONIZER(src) + +/obj/effect/proc_holder/spell/targeted/olfaction + name = "Remember the Scent" + desc = "Get a scent off of the item you're currently holding to track it. With an empty hand, you'll track the scent you've remembered." + charge_max = 100 + clothes_req = FALSE + range = -1 + include_user = TRUE + action_icon_state = "nose" + var/mob/living/carbon/tracking_target + var/list/mob/living/carbon/possible = list() + var/sensitivity = 1 + +/obj/effect/proc_holder/spell/targeted/olfaction/cast(list/targets, mob/living/user = usr) + //can we sniff? is there miasma in the air? + var/datum/gas_mixture/air = user.loc.return_air() + var/list/cached_gases = air.gases + + if(cached_gases[/datum/gas/miasma]) + user.adjust_disgust(sensitivity * 45) + to_chat(user, "With your overly sensitive nose, you get a whiff of stench and feel sick! Try moving to a cleaner area!") + return + + var/atom/sniffed = user.get_active_held_item() + if(sniffed) + var/old_target = tracking_target + possible = list() + var/list/prints = sniffed.fingerprints + for(var/mob/living/carbon/C in GLOB.carbon_list) + if(prints[md5(C.dna.uni_identity)]) + possible |= C + if(!length(possible)) + to_chat(user,"Despite your best efforts, there are no scents to be found on [sniffed]...") + return + tracking_target = input(user, "Choose a scent to remember.", "Scent Tracking") as null|anything in sortNames(possible) + if(!tracking_target) + if(!old_target) + to_chat(user,"You decide against remembering any scents. Instead, you notice your own nose in your peripheral vision. This goes on to remind you of that one time you started breathing manually and couldn't stop. What an awful day that was.") + return + tracking_target = old_target + on_the_trail(user) + return + to_chat(user,"You pick up the scent of [tracking_target]. The hunt begins.") + on_the_trail(user) + return + + if(!tracking_target) + to_chat(user,"You're not holding anything to smell, and you haven't smelled anything you can track. You smell your skin instead; it's kinda salty.") + return + + on_the_trail(user) + +/obj/effect/proc_holder/spell/targeted/olfaction/proc/on_the_trail(mob/living/user) + if(!tracking_target) + to_chat(user,"You're not tracking a scent, but the game thought you were. Something's gone wrong! Report this as a bug.") + return + if(tracking_target == user) + to_chat(user,"You smell out the trail to yourself. Yep, it's you.") + return + if(usr.z < tracking_target.z) + to_chat(user,"The trail leads... way up above you? Huh. They must be really, really far away.") + return + else if(usr.z > tracking_target.z) + to_chat(user,"The trail leads... way down below you? Huh. They must be really, really far away.") + return + var/direction_text = "[dir2text(get_dir(usr, tracking_target))]" + if(direction_text) + to_chat(user,"You consider [tracking_target]'s scent. The trail leads [direction_text].") + + +/datum/mutation/human/self_amputation + name = "Autotomy" + desc = "Allows a creature to voluntary discard a random appendage." + quality = POSITIVE + text_gain_indication = "Your joints feel loose." + instability = 30 + power = /obj/effect/proc_holder/spell/self/self_amputation + + energy_coeff = 1 + synchronizer_coeff = 1 + +/obj/effect/proc_holder/spell/self/self_amputation + name = "Drop a limb" + desc = "Concentrate to make a random limb pop right off your body." + clothes_req = FALSE + human_req = FALSE + charge_max = 100 + action_icon_state = "autotomy" + +/obj/effect/proc_holder/spell/self/self_amputation/cast(list/targets, mob/user = usr) + if(!iscarbon(user)) + return + + var/mob/living/carbon/C = user + if(HAS_TRAIT(C, TRAIT_NODISMEMBER)) + return + + var/list/parts = list() + for(var/X in C.bodyparts) + var/obj/item/bodypart/BP = X + if(BP.body_part != HEAD && BP.body_part != CHEST) + if(BP.dismemberable) + parts += BP + if(!parts.len) + to_chat(usr, "You can't shed any more limbs!") + return + + var/obj/item/bodypart/BP = pick(parts) + BP.dismember() + +//spider webs +/datum/mutation/human/webbing + name = "Webbing Production" + desc = "Allows the user to lay webbing, and travel through it." + quality = POSITIVE + text_gain_indication = "Your skin feels webby." + instability = 15 + power = /obj/effect/proc_holder/spell/self/lay_genetic_web + +/obj/effect/proc_holder/spell/self/lay_genetic_web + name = "Lay Web" + desc = "Drops a web. Only you will be able to traverse your web easily, making it pretty good for keeping you safe." + clothes_req = FALSE + human_req = FALSE + charge_max = 4 SECONDS //the same time to lay a web + action_icon = 'icons/mob/actions/actions_genetic.dmi' + action_icon_state = "lay_web" + +/obj/effect/proc_holder/spell/self/lay_genetic_web/cast_check(skipcharge = 0,mob/user = usr) + . = ..() + if(!isturf(user.loc)) + to_chat(user, "You can't lay webs here!") + return FALSE + var/turf/T = get_turf(user) + var/obj/structure/spider/stickyweb/genetic/W = locate() in T + if(W) + to_chat(user, "There's already a web here!") + return FALSE + +/obj/effect/proc_holder/spell/self/lay_genetic_web/cast(list/targets, mob/user = usr) + var/turf/T = get_turf(user) + + user.visible_message("[user] begins to secrete a sticky substance.","You begin to lay a web.") + if(!do_after(user, 4 SECONDS, target = T)) + to_chat(user, "Your web spinning was interrupted!") + return + else + new /obj/structure/spider/stickyweb/genetic(T, user) + + +/datum/mutation/human/tongue_spike + name = "Tongue Spike" + desc = "Allows a creature to voluntary shoot their tongue out as a deadly weapon." + quality = POSITIVE + text_gain_indication = "Your feel like you can throw your voice." + instability = 15 + power = /obj/effect/proc_holder/spell/self/tongue_spike + + energy_coeff = 1 + synchronizer_coeff = 1 + +/obj/effect/proc_holder/spell/self/tongue_spike + name = "Launch spike" + desc = "Shoot your tongue out in the direction you're facing, embedding it and dealing damage until they remove it." + clothes_req = FALSE + human_req = TRUE + charge_max = 100 + action_icon = 'icons/mob/actions/actions_genetic.dmi' + action_icon_state = "spike" + var/spike_path = /obj/item/hardened_spike + +/obj/effect/proc_holder/spell/self/tongue_spike/cast(list/targets, mob/user = usr) + if(!iscarbon(user)) + return + + var/mob/living/carbon/C = user + if(HAS_TRAIT(C, TRAIT_NODISMEMBER)) + return + var/obj/item/organ/tongue/tongue + for(var/org in C.internal_organs) + if(istype(org, /obj/item/organ/tongue)) + tongue = org + break + + if(!tongue) + to_chat(C, "You don't have a tongue to shoot!") + return + + tongue.Remove(C, special = TRUE) + var/obj/item/hardened_spike/spike = new spike_path(get_turf(C), C) + tongue.forceMove(spike) + spike.throw_at(get_edge_target_turf(C,C.dir), 14, 4, C) + +/obj/item/hardened_spike + name = "biomass spike" + desc = "Hardened biomass, shaped into a spike. Very pointy!" + icon_state = "tonguespike" + force = 2 + throwforce = 15 //15 + 2 (WEIGHT_CLASS_SMALL) * 4 (EMBEDDED_IMPACT_PAIN_MULTIPLIER) = i didnt do the math + throw_speed = 4 + embedding = list("embedded_pain_multiplier" = 4, "embed_chance" = 100, "embedded_fall_chance" = 0, "embedded_ignore_throwspeed_threshold" = TRUE) + w_class = WEIGHT_CLASS_SMALL + sharpness = IS_SHARP + var/mob/living/carbon/human/fired_by + +/obj/item/hardened_spike/Initialize(mapload, firedby) + . = ..() + fired_by = firedby + addtimer(CALLBACK(src, .proc/checkembedded), 5 SECONDS) + +/obj/item/hardened_spike/proc/checkembedded() + if(ishuman(loc)) + var/mob/living/carbon/human/embedtest = loc + for(var/l in embedtest.bodyparts) + var/obj/item/bodypart/limb = l + if(src in limb.embedded_objects) + return limb + unembedded() + +/obj/item/hardened_spike/unembedded() + var/turf/T = get_turf(src) + visible_message("[src] cracks and twists, changing shape!") + for(var/i in contents) + var/obj/o = i + o.forceMove(T) + qdel(src) + +/datum/mutation/human/tongue_spike/chem + name = "Chem Spike" + desc = "Allows a creature to voluntary shoot their tongue out as biomass, allowing a long range transfer of chemicals." + quality = POSITIVE + text_gain_indication = "Your feel like you can really connect with people by throwing your voice." + instability = 15 + locked = TRUE + power = /obj/effect/proc_holder/spell/self/tongue_spike/chem + energy_coeff = 1 + synchronizer_coeff = 1 + +/obj/effect/proc_holder/spell/self/tongue_spike/chem + name = "Launch chem spike" + desc = "Shoot your tongue out in the direction you're facing, embedding it for a very small amount of damage. While the other person has the spike embedded, you can transfer your chemicals to them." + action_icon_state = "spikechem" + spike_path = /obj/item/hardened_spike/chem + +/obj/item/hardened_spike/chem + name = "chem spike" + desc = "Hardened biomass, shaped into... something." + icon_state = "tonguespikechem" + throwforce = 2 //2 + 2 (WEIGHT_CLASS_SMALL) * 0 (EMBEDDED_IMPACT_PAIN_MULTIPLIER) = i didnt do the math again but very low or smthin + embedding = list("embedded_pain_multiplier" = 0, "embed_chance" = 100, "embedded_fall_chance" = 0, "embedded_pain_chance" = 0, "embedded_ignore_throwspeed_threshold" = TRUE) //never hurts once it's in you + var/been_places = FALSE + var/datum/action/innate/send_chems/chems + +/obj/item/hardened_spike/chem/embedded(mob/living/carbon/human/embedded_mob) + if(been_places) + return + been_places = TRUE + chems = new + chems.transfered = embedded_mob + chems.spikey = src + to_chat(fired_by, "Link established! Use the \"Transfer Chemicals\" ability to send your chemicals to the linked target!") + chems.Grant(fired_by) + +/obj/item/hardened_spike/chem/unembedded() + to_chat(fired_by, "Link lost!") + QDEL_NULL(chems) + ..() + +/datum/action/innate/send_chems + icon_icon = 'icons/mob/actions/actions_genetic.dmi' + background_icon_state = "bg_spell" + check_flags = AB_CHECK_CONSCIOUS + button_icon_state = "spikechemswap" + name = "Transfer Chemicals" + desc = "Send all of your reagents into whomever the chem spike is embedded in. One use." + var/obj/item/hardened_spike/chem/spikey + var/mob/living/carbon/human/transfered + +/datum/action/innate/send_chems/Activate() + if(!ishuman(transfered) || !ishuman(owner)) + return + var/mob/living/carbon/human/transferer = owner + + to_chat(transfered, "You feel a tiny prick!") + transferer.reagents.trans_to(transfered, transferer.reagents.total_volume, 1, 1, 0, transfered_by = transferer) + + var/obj/item/bodypart/L = spikey.checkembedded() + + L.embedded_objects -= spikey + //this is where it would deal damage, if it transfers chems it removes itself so no damage + spikey.forceMove(get_turf(L)) + transfered.visible_message("[spikey] falls out of [transfered]!") + if(!transfered.has_embedded_objects()) + transfered.clear_alert("embeddedobject") + SEND_SIGNAL(transfered, COMSIG_CLEAR_MOOD_EVENT, "embedded") + spikey.unembedded() \ No newline at end of file diff --git a/code/datums/mutations/body.dm b/code/datums/mutations/body.dm index 399b822dce..144936ab95 100644 --- a/code/datums/mutations/body.dm +++ b/code/datums/mutations/body.dm @@ -246,6 +246,21 @@ return REMOVE_TRAIT(owner, TRAIT_SHOCKIMMUNE, "genetics") + +/datum/mutation/human/glow/anti + name = "Anti-Glow" + desc = "Your skin seems to attract and absorb nearby light creating 'darkness' around you." + text_gain_indication = "Your light around you seems to disappear." + glow = -3.5 //Slightly stronger, since negating light tends to be harder than making it. + locked = TRUE + +/datum/mutation/human/stimmed + name = "Stimmed" + desc = "The user's chemical balance is more robust." + quality = POSITIVE + text_gain_indication = "You feel stimmed." + difficulty = 16 + /datum/mutation/human/paranoia name = "Paranoia" desc = "Subject is easily terrified, and may suffer from hallucinations." @@ -259,4 +274,92 @@ owner.jitteriness = min(max(0, owner.jitteriness + 5), 30) if(prob(25)) to_chat(owner,"You feel someone creeping in on you...") - owner.hallucination += 20 \ No newline at end of file + owner.hallucination += 20 + + +/datum/mutation/human/badblink + name = "Spatial Instability" + desc = "The victim of the mutation has a very weak link to spatial reality, and may be displaced. Often causes extreme nausea." + quality = NEGATIVE + text_gain_indication = "The space around you twists sickeningly." + text_lose_indication = "The space around you settles back to normal." + difficulty = 18//high so it's hard to unlock and abuse + instability = 10 + synchronizer_coeff = 1 + energy_coeff = 1 + power_coeff = 1 + var/warpchance = 0 + +/datum/mutation/human/badblink/on_life() + if(prob(warpchance)) + var/warpmessage = pick( + "With a sickening 720-degree twist of [owner.p_their()] back, [owner] vanishes into thin air.", + "[owner] does some sort of strange backflip into another dimension. It looks pretty painful.", + "[owner] does a jump to the left, a step to the right, and warps out of reality.", + "[owner]'s torso starts folding inside out until it vanishes from reality, taking [owner] with it.", + "One moment, you see [owner]. The next, [owner] is gone.") + owner.visible_message(warpmessage, "You feel a wave of nausea as you fall through reality!") + var/warpdistance = rand(10,15) * GET_MUTATION_POWER(src) + do_teleport(owner, get_turf(owner), warpdistance, channel = TELEPORT_CHANNEL_FREE) + owner.adjust_disgust(GET_MUTATION_SYNCHRONIZER(src) * (warpchance * warpdistance)) + warpchance = 0 + owner.visible_message("[owner] appears out of nowhere!") + else + warpchance += 0.25 * GET_MUTATION_ENERGY(src) + +/datum/mutation/human/acidflesh + name = "Acidic Flesh" + desc = "Subject has acidic chemicals building up underneath the skin. This is often lethal." + quality = NEGATIVE + text_gain_indication = "A horrible burning sensation envelops you as your flesh turns to acid!" + text_lose_indication = "A feeling of relief fills you as your flesh goes back to normal." + difficulty = 18//high so it's hard to unlock and use on others + var/msgcooldown = 0 + +/datum/mutation/human/acidflesh/on_life() + if(prob(25)) + if(world.time > msgcooldown) + to_chat(owner, "Your acid flesh bubbles...") + msgcooldown = world.time + 200 + if(prob(15)) + owner.acid_act(rand(30,50), 10) + owner.visible_message("[owner]'s skin bubbles and pops.", "Your bubbling flesh pops! It burns!") + playsound(owner,'sound/weapons/sear.ogg', 50, TRUE) + +/datum/mutation/human/gigantism + name = "Gigantism"//negative version of dwarfism + desc = "The cells within the subject spread out to cover more area, making the subject appear larger." + quality = MINOR_NEGATIVE + difficulty = 12 + +/datum/mutation/human/gigantism/on_acquiring(mob/living/carbon/human/owner) + if(..()) + return + owner.resize = 1.25 + owner.update_transform() + owner.visible_message("[owner] suddenly grows!", "Everything around you seems to shrink..") + +/datum/mutation/human/gigantism/on_losing(mob/living/carbon/human/owner) + if(..()) + return + owner.resize = 0.8 + owner.update_transform() + owner.visible_message("[owner] suddenly shrinks!", "Everything around you seems to grow..") + +/datum/mutation/human/spastic + name = "Spastic" + desc = "Subject suffers from muscle spasms." + quality = NEGATIVE + text_gain_indication = "You flinch." + text_lose_indication = "Your flinching subsides." + difficulty = 16 + +/datum/mutation/human/spastic/on_acquiring() + if(..()) + return + owner.apply_status_effect(STATUS_EFFECT_SPASMS) + +/datum/mutation/human/spastic/on_losing() + if(..()) + return + owner.remove_status_effect(STATUS_EFFECT_SPASMS) \ No newline at end of file diff --git a/code/datums/mutations/cold.dm b/code/datums/mutations/cold.dm new file mode 100644 index 0000000000..717d1e8183 --- /dev/null +++ b/code/datums/mutations/cold.dm @@ -0,0 +1,42 @@ +/datum/mutation/human/geladikinesis + name = "Geladikinesis" + desc = "Allows the user to concentrate moisture and sub-zero forces into snow." + quality = POSITIVE + text_gain_indication = "Your hand feels cold." + instability = 10 + difficulty = 10 + synchronizer_coeff = 1 + power = /obj/effect/proc_holder/spell/targeted/conjure_item/snow + +/obj/effect/proc_holder/spell/targeted/conjure_item/snow + name = "Create Snow" + desc = "Concentrates cryokinetic forces to create snow, useful for snow-like construction." + item_type = /obj/item/stack/sheet/mineral/snow + charge_max = 50 + action_icon_state = "snow" + + +/datum/mutation/human/cryokinesis + name = "Cryokinesis" + desc = "Draws negative energy from the sub-zero void to freeze surrounding temperatures at subject's will." + quality = POSITIVE //upsides and downsides + text_gain_indication = "Your hand feels cold." + instability = 20 + difficulty = 12 + synchronizer_coeff = 1 + power = /obj/effect/proc_holder/spell/aimed/cryo + +/obj/effect/proc_holder/spell/aimed/cryo + name = "Cryobeam" + desc = "This power fires a frozen bolt at a target." + charge_max = 150 + cooldown_min = 150 + clothes_req = FALSE + range = 3 + projectile_type = /obj/item/projectile/temp/cryo + base_icon_state = "icebeam" + action_icon_state = "icebeam" + active_msg = "You focus your cryokinesis!" + deactive_msg = "You relax." + active = FALSE + diff --git a/code/datums/mutations/combined.dm b/code/datums/mutations/combined.dm index c166b01393..5fc9df7550 100644 --- a/code/datums/mutations/combined.dm +++ b/code/datums/mutations/combined.dm @@ -21,4 +21,12 @@ /datum/generecipe/mindread required = "/datum/mutation/human/antenna; /datum/mutation/human/paranoia" - result = MINDREAD \ No newline at end of file + result = MINDREAD + +/datum/generecipe/antiglow + required = "/datum/mutation/human/glow; /datum/mutation/human/void" + result = ANTIGLOWY + +/datum/generecipe/tonguechem + required = "/datum/mutation/human/tongue_spike; /datum/mutation/human/stimmed" + result = TONGUESPIKECHEM \ No newline at end of file diff --git a/code/datums/mutations/cold_resistance.dm b/code/datums/mutations/space_adaptation.dm similarity index 99% rename from code/datums/mutations/cold_resistance.dm rename to code/datums/mutations/space_adaptation.dm index 4b6beb7b00..90535fbf6e 100644 --- a/code/datums/mutations/cold_resistance.dm +++ b/code/datums/mutations/space_adaptation.dm @@ -27,3 +27,4 @@ return REMOVE_TRAIT(owner, TRAIT_RESISTCOLD, "cold_resistance") REMOVE_TRAIT(owner, TRAIT_RESISTLOWPRESSURE, "cold_resistance") + diff --git a/code/game/objects/effects/spiders.dm b/code/game/objects/effects/spiders.dm index 20c85f37a1..48fba2687d 100644 --- a/code/game/objects/effects/spiders.dm +++ b/code/game/objects/effects/spiders.dm @@ -28,6 +28,7 @@ take_damage(5, BURN, 0, 0) /obj/structure/spider/stickyweb + var/genetic = FALSE icon_state = "stickyweb1" /obj/structure/spider/stickyweb/Initialize() @@ -36,6 +37,8 @@ . = ..() /obj/structure/spider/stickyweb/CanPass(atom/movable/mover, turf/target) + if (genetic) + return if(istype(mover, /mob/living/simple_animal/hostile/poison/giant_spider)) return TRUE else if(isliving(mover)) @@ -48,6 +51,27 @@ return prob(30) return TRUE +/obj/structure/spider/stickyweb/genetic //for the spider genes in genetics + genetic = TRUE + var/mob/living/allowed_mob + +/obj/structure/spider/stickyweb/genetic/Initialize(mapload, allowedmob) + allowed_mob = allowedmob + . = ..() + +/obj/structure/spider/stickyweb/genetic/CanPass(atom/movable/mover, turf/target) + . = ..() //this is the normal spider web return aka a spider would make this TRUE + if(mover == allowed_mob) + return TRUE + else if(isliving(mover)) //we change the spider to not be able to go through here + if(mover.pulledby == allowed_mob) + return TRUE + if(prob(50)) + to_chat(mover, "You get stuck in \the [src] for a moment.") + return FALSE + else if(istype(mover, /obj/item/projectile)) + return prob(30) + /obj/structure/spider/eggcluster name = "egg cluster" desc = "They seem to pulse slightly with an inner life." diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index cdd0cf3966..a6bdb2be1e 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -852,3 +852,9 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) if (HAS_TRAIT(src, TRAIT_NODROP)) return return ..() + +/obj/item/proc/embedded(mob/living/carbon/human/embedded_mob) + return + +/obj/item/proc/unembedded() + return \ No newline at end of file diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm index 81c5083ef7..440e86ba2f 100644 --- a/code/game/objects/items/crayons.dm +++ b/code/game/objects/items/crayons.dm @@ -619,7 +619,7 @@ is_capped = TRUE self_contained = FALSE // Don't disappear when they're empty can_change_colour = TRUE - + reagent_contents = list(/datum/reagent/fuel = 1, /datum/reagent/consumable/ethanol = 1) pre_noise = TRUE diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index 0a3fd98511..b683ce0285 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -786,7 +786,7 @@ SLIME SCANNER item_state = "healthanalyzer" lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' - desc = "A hand-held scanner able to swiftly scan someone for potential mutations. Hold near a DNA console to update from their database." + desc = "A hand-held scanner for analyzing someones gene sequence on the fly. Hold near a DNA console to update the internal database." flags_1 = CONDUCT_1 item_flags = NOBLUDGEON slot_flags = ITEM_SLOT_BELT @@ -796,13 +796,25 @@ SLIME SCANNER throw_range = 7 materials = list(MAT_METAL=200) var/list/discovered = list() //hit a dna console to update the scanners database + var/list/buffer + var/ready = TRUE + var/cooldown = 200 /obj/item/sequence_scanner/attack(mob/living/M, mob/living/carbon/human/user) - user.visible_message("[user] has analyzed [M]'s genetic sequence.") - add_fingerprint(user) + if (!HAS_TRAIT(M, TRAIT_RADIMMUNE)) //no scanning if its a husk or DNA-less Species + user.visible_message("[user] analyzes [M]'s genetic sequence.", \ + "You analyze [M]'s genetic sequence.") + gene_scan(M, user) - gene_scan(M, user, src) + else + user.visible_message("[user] failed to analyse [M]'s genetic sequence.", "[M] has no readable genetic sequence!") + +/obj/item/sequence_scanner/attack_self(mob/user) + display_sequence(user) + +/obj/item/sequence_scanner/attack_self_tk(mob/user) + return /obj/item/sequence_scanner/afterattack(obj/O, mob/user, proximity) . = ..() @@ -812,28 +824,58 @@ SLIME SCANNER if(istype(O, /obj/machinery/computer/scan_consolenew)) var/obj/machinery/computer/scan_consolenew/C = O if(C.stored_research) - to_chat(user, "[name] database updated.") + to_chat(user, "[name] linked to central research database.") discovered = C.stored_research.discovered_mutations else to_chat(user,"No database to update from.") -/proc/gene_scan(mob/living/carbon/C, mob/living/user, obj/item/sequence_scanner/G) +/obj/item/sequence_scanner/proc/gene_scan(mob/living/carbon/C, mob/living/user) if(!iscarbon(C) || !C.has_dna()) return - to_chat(user, "[C.name]'s potential mutations.") - for(var/A in C.dna.mutation_index) - var/datum/mutation/human/HM = GET_INITIALIZED_MUTATION(A) - var/mut_name - if(G && (A in G.discovered)) - mut_name = "[HM.name] ([HM.alias])" - else - mut_name = HM.alias - var/temp = GET_GENE_STRING(HM.type, C.dna) - var/display - for(var/i in 0 to length(temp) / DNA_MUTATION_BLOCKS-1) - if(i) - display += "-" - display += copytext(temp, 1 + i*DNA_MUTATION_BLOCKS, DNA_MUTATION_BLOCKS*(1+i) + 1) + buffer = C.dna.mutation_index + to_chat(user, "Subject [C.name]'s DNA sequence has been saved to buffer.") + if(LAZYLEN(buffer)) + for(var/A in buffer) + to_chat(user, "[get_display_name(A)]") - to_chat(user, "- [mut_name] > [display]") \ No newline at end of file +/obj/item/sequence_scanner/proc/display_sequence(mob/living/user) + if(!LAZYLEN(buffer) || !ready) + return + var/list/options = list() + for(var/A in buffer) + options += get_display_name(A) + + var/answer = input(user, "Analyze Potential", "Sequence Analyzer") as null|anything in sortList(options) + if(answer && ready && user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK)) + var/sequence + for(var/A in buffer) //this physically hurts but i dont know what anything else short of an assoc list + if(get_display_name(A) == answer) + sequence = buffer[A] + break + + if(sequence) + var/display + for(var/i in 0 to length_char(sequence) / DNA_MUTATION_BLOCKS-1) + if(i) + display += "-" + display += copytext_char(sequence, 1 + i*DNA_MUTATION_BLOCKS, DNA_MUTATION_BLOCKS*(1+i) + 1) + + to_chat(user, "[display]
") + + ready = FALSE + icon_state = "[icon_state]_recharging" + addtimer(CALLBACK(src, .proc/recharge), cooldown, TIMER_UNIQUE) + +/obj/item/sequence_scanner/proc/recharge() + icon_state = initial(icon_state) + ready = TRUE + +/obj/item/sequence_scanner/proc/get_display_name(mutation) + var/datum/mutation/human/HM = GET_INITIALIZED_MUTATION(mutation) + if(!HM) + return "ERROR" + if(mutation in discovered) + return "[HM.name] ([HM.alias])" + else + return HM.alias \ No newline at end of file diff --git a/code/game/objects/items/dna_injector.dm b/code/game/objects/items/dna_injector.dm index 8849ac5173..60b1e81c94 100644 --- a/code/game/objects/items/dna_injector.dm +++ b/code/game/objects/items/dna_injector.dm @@ -296,54 +296,14 @@ name = "\improper DNA injector (Anti-Laser Eyes)" remove_mutations = list(LASEREYES) -/obj/item/dnainjector/thermalmut - name = "\improper DNA injector (Thermal Vision)" - add_mutations = list(THERMAL) - -/obj/item/dnainjector/antithermal - name = "\improper DNA injector (Anti-Thermal Vision)" - remove_mutations = list(THERMAL) - -/obj/item/dnainjector/telepathymut - name = "\improper DNA injector (Telepathy)" - add_mutations = list(TELEPATHY) - -/obj/item/dnainjector/antitelepathy - name = "\improper DNA injector (Anti-Telepathy)" - remove_mutations = list(TELEPATHY) - -/obj/item/dnainjector/voidmut - name = "\improper DNA injector (Void Magnet)" +/obj/item/dnainjector/void + name = "\improper DNA injector (Void)" add_mutations = list(VOID) /obj/item/dnainjector/antivoid - name = "\improper DNA injector (Anti-Void Magnet)" + name = "\improper DNA injector (Anti-Void)" remove_mutations = list(VOID) -/obj/item/dnainjector/firebreathmut - name = "\improper DNA injector (Firebreath)" - add_mutations = list(FIREBREATH) - -/obj/item/dnainjector/antifirebreath - name = "\improper DNA injector (Anti-Firebreath)" - remove_mutations = list(FIREBREATH) - -/obj/item/dnainjector/insulatedmut - name = "\improper DNA injector (Insulated)" - add_mutations = list(INSULATED) - -/obj/item/dnainjector/antiinsulated - name = "\improper DNA injector (Anti-Insulated)" - remove_mutations = list(INSULATED) - -/obj/item/dnainjector/shocktouchmut - name = "\improper DNA injector (Shock Touch)" - add_mutations = list(SHOCKTOUCH) - -/obj/item/dnainjector/antishocktouch - name = "\improper DNA injector (Anti-Shock Touch)" - remove_mutations = list(SHOCKTOUCH) - /obj/item/dnainjector/antenna name = "\improper DNA injector (Antenna)" add_mutations = list(ANTENNA) @@ -368,6 +328,133 @@ name = "\improper DNA injector (Anti-Mindread)" remove_mutations = list(MINDREAD) +/obj/item/dnainjector/radioactive + name = "\improper DNA injector (Radioactive)" + add_mutations = list(RADIOACTIVE) + +/obj/item/dnainjector/antiradioactive + name = "\improper DNA injector (Anti-Radioactive)" + remove_mutations = list(RADIOACTIVE) +/obj/item/dnainjector/olfaction + name = "\improper DNA injector (Olfaction)" + add_mutations = list(OLFACTION) + +/obj/item/dnainjector/antiolfaction + name = "\improper DNA injector (Anti-Olfaction)" + remove_mutations = list(OLFACTION) + +/obj/item/dnainjector/insulated + name = "\improper DNA injector (Insulated)" + add_mutations = list(INSULATED) + +/obj/item/dnainjector/antiinsulated + name = "\improper DNA injector (Anti-Insulated)" + remove_mutations = list(INSULATED) + +/obj/item/dnainjector/shock + name = "\improper DNA injector (Shock Touch)" + add_mutations = list(SHOCKTOUCH) + +/obj/item/dnainjector/antishock + name = "\improper DNA injector (Anti-Shock Touch)" + remove_mutations = list(SHOCKTOUCH) + +/obj/item/dnainjector/spacialinstability + name = "\improper DNA injector (Spacial Instability)" + add_mutations = list(BADBLINK) + +/obj/item/dnainjector/antispacialinstability + name = "\improper DNA injector (Anti-Spacial Instability)" + remove_mutations = list(BADBLINK) + +/obj/item/dnainjector/acidflesh + name = "\improper DNA injector (Acid Flesh)" + add_mutations = list(ACIDFLESH) + +/obj/item/dnainjector/antiacidflesh + name = "\improper DNA injector (Acid Flesh)" + remove_mutations = list(ACIDFLESH) + +/obj/item/dnainjector/gigantism + name = "\improper DNA injector (Gigantism)" + add_mutations = list(GIGANTISM) + +/obj/item/dnainjector/antigigantism + name = "\improper DNA injector (Anti-Gigantism)" + remove_mutations = list(GIGANTISM) + +/obj/item/dnainjector/spastic + name = "\improper DNA injector (Spastic)" + add_mutations = list(SPASTIC) + +/obj/item/dnainjector/antispastic + name = "\improper DNA injector (Anti-Spastic)" + remove_mutations = list(SPASTIC) + +/obj/item/dnainjector/geladikinesis + name = "\improper DNA injector (Geladikinesis)" + add_mutations = list(GELADIKINESIS) + +/obj/item/dnainjector/antigeladikinesis + name = "\improper DNA injector (Anti-Geladikinesis)" + remove_mutations = list(GELADIKINESIS) + +/obj/item/dnainjector/cryokinesis + name = "\improper DNA injector (Cryokinesis)" + add_mutations = list(CRYOKINESIS) + +/obj/item/dnainjector/anticryokinesis + name = "\improper DNA injector (Anti-Cryokinesis)" + remove_mutations = list(CRYOKINESIS) + +/obj/item/dnainjector/thermal + name = "\improper DNA injector (Thermal Vision)" + add_mutations = list(THERMAL) + +/obj/item/dnainjector/antithermal + name = "\improper DNA injector (Anti-Thermal Vision)" + remove_mutations = list(THERMAL) + +/obj/item/dnainjector/glow + name = "\improper DNA injector (Glowy)" + add_mutations = list(GLOWY) + +/obj/item/dnainjector/removeglow + name = "\improper DNA injector (Anti-Glowy)" + remove_mutations = list(GLOWY) + +/obj/item/dnainjector/antiglow + name = "\improper DNA injector (Antiglowy)" + add_mutations = list(ANTIGLOWY) + +/obj/item/dnainjector/removeantiglow + name = "\improper DNA injector (Anti-Antiglowy)" + remove_mutations = list(ANTIGLOWY) + +/obj/item/dnainjector/firebreath + name = "\improper DNA injector (Firebreath)" + add_mutations = list(FIREBREATH) + +/obj/item/dnainjector/antifirebreath + name = "\improper DNA injector (Anti-Firebreath)" + remove_mutations = list(FIREBREATH) + +/obj/item/dnainjector/tonguespike + name = "\improper DNA injector (Tongue Spike)" + add_mutations = list(TONGUESPIKE) + +/obj/item/dnainjector/antitonguespike + name = "\improper DNA injector (Anti-Tongue Spike)" + remove_mutations = list(TONGUESPIKE) + +/obj/item/dnainjector/spiderweb + name = "\improper DNA injector (Spider Web)" + add_mutations = list(SPIDER_WEB) + +/obj/item/dnainjector/antispiderweb + name = "\improper DNA injector (Anti-Spider Web)" + remove_mutations = list(SPIDER_WEB) + /obj/item/dnainjector/timed var/duration = 600 diff --git a/code/modules/antagonists/bloodsucker/items/bloodsucker_stake.dm b/code/modules/antagonists/bloodsucker/items/bloodsucker_stake.dm index b7c90523b6..63e8ee6caf 100644 --- a/code/modules/antagonists/bloodsucker/items/bloodsucker_stake.dm +++ b/code/modules/antagonists/bloodsucker/items/bloodsucker_stake.dm @@ -96,6 +96,7 @@ user.dropItemToGround(src, TRUE) //user.drop_item() // "drop item" doesn't seem to exist anymore. New proc is user.dropItemToGround() but it doesn't seem like it's needed now? var/obj/item/bodypart/B = C.get_bodypart("chest") // This was all taken from hitby() in human_defense.dm B.embedded_objects |= src + embedded() add_mob_blood(target)//Place blood on the stake loc = C // Put INSIDE the character B.receive_damage(w_class * embedding.embedded_impact_pain_multiplier) diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm index 637178ffe6..faf443e987 100644 --- a/code/modules/mob/living/carbon/carbon_defense.dm +++ b/code/modules/mob/living/carbon/carbon_defense.dm @@ -66,6 +66,7 @@ L.embedded_objects |= I I.add_mob_blood(src)//it embedded itself in you, of course it's bloody! I.forceMove(src) + I.embedded() L.receive_damage(I.w_class*I.embedding.embedded_impact_pain_multiplier) visible_message("[I] embeds itself in [src]'s [L.name]!","[I] embeds itself in your [L.name]!") SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "embedded", /datum/mood_event/embedded) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 7507067597..9316a36e6b 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -316,6 +316,7 @@ BP.receive_damage(I.w_class*I.embedding.embedded_fall_pain_multiplier) BP.embedded_objects -= I I.forceMove(drop_location()) + I.unembedded() visible_message("[I] falls out of [name]'s [BP.name]!","[I] falls out of your [BP.name]!") if(!has_embedded_objects()) clear_alert("embeddedobject") diff --git a/code/modules/projectiles/projectile/special/temperature.dm b/code/modules/projectiles/projectile/special/temperature.dm index dae7d5f8b3..c17fd0a447 100644 --- a/code/modules/projectiles/projectile/special/temperature.dm +++ b/code/modules/projectiles/projectile/special/temperature.dm @@ -16,3 +16,8 @@ /obj/item/projectile/temp/hot name = "heat beam" temperature = 400 + +/obj/item/projectile/temp/cryo + name = "cryo beam" + range = 3 + temperature = -240 // Single slow shot reduces temp greatly \ No newline at end of file diff --git a/code/modules/spells/spell_types/mime.dm b/code/modules/spells/spell_types/mime.dm index d44c6a3e3d..621efdc821 100644 --- a/code/modules/spells/spell_types/mime.dm +++ b/code/modules/spells/spell_types/mime.dm @@ -128,6 +128,49 @@ invocation_type ="none" ..() +/obj/effect/proc_holder/spell/targeted/touch/mimerope + name = "Invisible Rope" + desc = "Form an invisible rope to tie people or trip people with." + school = "mime" + panel = "Mime" + invocation_type = "emote" + invocation_emote_self = "You start fabricate an invisible rope." + charge_max = 700 + sound = null + clothes_req = 0 + range = -1 + include_user = 1 + action_icon_state = "mime" + action_background_icon_state = "bg_mime" + hand_path = /obj/item/melee/touch_attack/mimerope + +/obj/effect/proc_holder/spell/targeted/touch/mimerope/Click() + if(usr && usr.mind) + if(!usr.mind.miming) + to_chat(usr, "You must dedicate yourself to silence first.") + return + if (usr.get_active_held_item()) + to_chat(usr, "Your hands must be free to create the invisible rope.") + return + invocation = "[usr.real_name] is twirling an invisible rope in [usr.p_their()] hands." + else + invocation_type ="none" + +/obj/effect/proc_holder/spell/targeted/touch/mimerope/cast(list/targets,mob/user = usr) + + usr.put_in_hands() + +/obj/item/melee/touch_attack/mimerope + item_state = "" + icon_state = "" + name = "mime rope" + desc = "An invisible rope." + +/obj/item/restraints/handcuffs/cable/mime + name = "mime restraints" + desc = "An invisible rope." + item_state = "" + icon_state = "" /obj/item/book/granter/spell/mimery_blockade spell = /obj/effect/proc_holder/spell/targeted/forcewall/mime diff --git a/code/modules/surgery/bodyparts/dismemberment.dm b/code/modules/surgery/bodyparts/dismemberment.dm index 615933a3b5..a94e962da1 100644 --- a/code/modules/surgery/bodyparts/dismemberment.dm +++ b/code/modules/surgery/bodyparts/dismemberment.dm @@ -102,6 +102,7 @@ for(var/obj/item/I in embedded_objects) embedded_objects -= I I.forceMove(src) + I.unembedded() if(!C.has_embedded_objects()) C.clear_alert("embeddedobject") SEND_SIGNAL(C, COMSIG_CLEAR_MOOD_EVENT, "embedded") diff --git a/code/modules/surgery/bodyparts/helpers.dm b/code/modules/surgery/bodyparts/helpers.dm index eed8f62e10..aaca33685b 100644 --- a/code/modules/surgery/bodyparts/helpers.dm +++ b/code/modules/surgery/bodyparts/helpers.dm @@ -161,6 +161,7 @@ for(var/obj/item/I in L.embedded_objects) L.embedded_objects -= I I.forceMove(T) + I.unembedded() clear_alert("embeddedobject") SEND_SIGNAL(src, COMSIG_CLEAR_MOOD_EVENT, "embedded") diff --git a/code/modules/surgery/remove_embedded_object.dm b/code/modules/surgery/remove_embedded_object.dm index 0c3a3b55a5..7d7cd2df63 100644 --- a/code/modules/surgery/remove_embedded_object.dm +++ b/code/modules/surgery/remove_embedded_object.dm @@ -25,6 +25,7 @@ objects++ I.forceMove(get_turf(H)) L.embedded_objects -= I + I.unembedded() if(!H.has_embedded_objects()) H.clear_alert("embeddedobject") SEND_SIGNAL(H, COMSIG_CLEAR_MOOD_EVENT, "embedded") diff --git a/icons/obj/device.dmi b/icons/obj/device.dmi index 87fe12cad2294ae1892d9ca4abfc4cfee38b9284..c58fb5d9406cbabdeed2f34783af484385c4759f 100644 GIT binary patch literal 53345 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 literal 52986 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 diff --git a/modular_citadel/code/modules/mob/living/carbon/human/human.dm b/modular_citadel/code/modules/mob/living/carbon/human/human.dm index e5d386b56b..2793e888f4 100644 --- a/modular_citadel/code/modules/mob/living/carbon/human/human.dm +++ b/modular_citadel/code/modules/mob/living/carbon/human/human.dm @@ -19,6 +19,7 @@ L.embedded_objects -= I L.receive_damage(I.embedding.embedded_unsafe_removal_pain_multiplier*I.w_class*painmul)//It hurts to rip it out, get surgery you dingus. And if you're ripping it out quickly via resist, it's gonna hurt even more I.forceMove(get_turf(src)) + I.unembedded() user.put_in_hands(I) user.emote("scream") user.visible_message("[user] rips [I] out of [user.p_their()] [L.name]!","You remove [I] from your [L.name].") diff --git a/tgstation.dme b/tgstation.dme index 203d5a22de..eb42ee7e1e 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -522,11 +522,12 @@ #include "code\datums\mutations\antenna.dm" #include "code\datums\mutations\body.dm" #include "code\datums\mutations\chameleon.dm" -#include "code\datums\mutations\cold_resistance.dm" +#include "code\datums\mutations\cold.dm" #include "code\datums\mutations\combined.dm" #include "code\datums\mutations\hulk.dm" #include "code\datums\mutations\radioactive.dm" #include "code\datums\mutations\sight.dm" +#include "code\datums\mutations\space_adaptation.dm" #include "code\datums\mutations\speech.dm" #include "code\datums\mutations\telekinesis.dm" #include "code\datums\ruins\lavaland.dm" From 88ae4297201a69f972ec1ca61b81bcbdd9af063f Mon Sep 17 00:00:00 2001 From: Seris02 Date: Sat, 22 Feb 2020 19:45:57 +0800 Subject: [PATCH 14/27] runtime fix --- code/datums/mutations/actions.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/datums/mutations/actions.dm b/code/datums/mutations/actions.dm index 65dc19ad5d..6dec14bc36 100644 --- a/code/datums/mutations/actions.dm +++ b/code/datums/mutations/actions.dm @@ -406,7 +406,7 @@ force = 2 throwforce = 15 //15 + 2 (WEIGHT_CLASS_SMALL) * 4 (EMBEDDED_IMPACT_PAIN_MULTIPLIER) = i didnt do the math throw_speed = 4 - embedding = list("embedded_pain_multiplier" = 4, "embed_chance" = 100, "embedded_fall_chance" = 0, "embedded_ignore_throwspeed_threshold" = TRUE) + embedding = list("embedded_pain_multiplier" = 4, "embed_chance" = 100, "embedded_fall_chance" = 0) w_class = WEIGHT_CLASS_SMALL sharpness = IS_SHARP var/mob/living/carbon/human/fired_by From 68f15e16e74c977268cb0fc1daa51938c1b5ae84 Mon Sep 17 00:00:00 2001 From: Seris02 Date: Sat, 22 Feb 2020 20:06:35 +0800 Subject: [PATCH 15/27] fixed --- code/game/objects/items/devices/scanners.dm | 2 +- icons/mob/actions/actions_genetic.dmi | Bin 413 -> 2478 bytes icons/mob/actions/actions_spells.dmi | Bin 25476 -> 26698 bytes 3 files changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index 526150b8b8..ae4f9b5e8b 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -794,7 +794,7 @@ SLIME SCANNER w_class = WEIGHT_CLASS_TINY throw_speed = 3 throw_range = 7 - materials = list(MAT_METAL=200) + custom_materials = list(/datum/material/iron=200) var/list/discovered = list() //hit a dna console to update the scanners database var/list/buffer var/ready = TRUE diff --git a/icons/mob/actions/actions_genetic.dmi b/icons/mob/actions/actions_genetic.dmi index 72bd87f97ebb5494980bd7cd46d0337223ff2a5b..1b1bf8dc23304a7accc30fed7cb03ee1e4f63668 100644 GIT binary patch literal 2478 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 Hu0mjf#PYOQ diff --git a/icons/mob/actions/actions_spells.dmi b/icons/mob/actions/actions_spells.dmi index 7798b85c436a41cf37e2551942e5c7381a29954f..72e72ad6f3490936431115acb4c44756c2fd5663 100644 GIT binary patch literal 26698 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 literal 25476 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 LLQ?ytVi)p12%AmQ From 9028169cafdcf9e34af34957c5e8bbfa526c1887 Mon Sep 17 00:00:00 2001 From: Seris02 Date: Sat, 22 Feb 2020 20:16:40 +0800 Subject: [PATCH 16/27] fixed? --- code/datums/mutations/actions.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/datums/mutations/actions.dm b/code/datums/mutations/actions.dm index 6dec14bc36..130d475c28 100644 --- a/code/datums/mutations/actions.dm +++ b/code/datums/mutations/actions.dm @@ -490,7 +490,7 @@ var/mob/living/carbon/human/transferer = owner to_chat(transfered, "You feel a tiny prick!") - transferer.reagents.trans_to(transfered, transferer.reagents.total_volume, 1, 1, 0, transfered_by = transferer) + transferer.reagents.trans_to(transfered, transferer.reagents.total_volume, 1, 1, 0) var/obj/item/bodypart/L = spikey.checkembedded() From 6b2bbe01330f427b182133b4cb82329e153c341a Mon Sep 17 00:00:00 2001 From: Seris02 <49109742+Seris02@users.noreply.github.com> Date: Wed, 26 Feb 2020 06:51:03 +0800 Subject: [PATCH 17/27] there fixed --- code/modules/research/designs/medical_designs.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/research/designs/medical_designs.dm b/code/modules/research/designs/medical_designs.dm index 634eae1d23..26d5d46806 100644 --- a/code/modules/research/designs/medical_designs.dm +++ b/code/modules/research/designs/medical_designs.dm @@ -168,7 +168,7 @@ id = "genescanner" build_path = /obj/item/sequence_scanner build_type = PROTOLATHE - materials = list(MAT_METAL = 1000, MAT_GLASS = 500) + materials = list(/datum/material/iron = 1000, /datum/material/glass = 500) category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL From 5edfcd2927aa7f810e980f7bdaa10c578f5ae01b Mon Sep 17 00:00:00 2001 From: Seris02 <49109742+Seris02@users.noreply.github.com> Date: Thu, 27 Feb 2020 20:33:57 +0800 Subject: [PATCH 18/27] yeet --- code/game/machinery/computer/dna_console.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/game/machinery/computer/dna_console.dm b/code/game/machinery/computer/dna_console.dm index 2d83c5343d..5662737ff7 100644 --- a/code/game/machinery/computer/dna_console.dm +++ b/code/game/machinery/computer/dna_console.dm @@ -110,11 +110,11 @@ stored_research = SSresearch.science_tech /obj/machinery/computer/scan_consolenew/examine(mob/user) - ..() + . = ..() if(jokerready < world.time) - to_chat(user, "JOKER algorithm available.") + . += "JOKER algorithm available." else - to_chat(user, "JOKER algorithm available in about [round(0.00166666667 * (jokerready - world.time))] minutes.") + . += "JOKER algorithm available in about [round(0.00166666667 * (jokerready - world.time))] minutes." /obj/machinery/computer/scan_consolenew/ui_interact(mob/user, last_change) . = ..() From 6e6b8fbd8a6862e9565add0c8ca154919bbb2283 Mon Sep 17 00:00:00 2001 From: Seris02 <49109742+Seris02@users.noreply.github.com> Date: Thu, 27 Feb 2020 20:35:53 +0800 Subject: [PATCH 19/27] yeet 2 --- code/datums/mutations/antenna.dm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/datums/mutations/antenna.dm b/code/datums/mutations/antenna.dm index 7e06a91726..a2700f7862 100644 --- a/code/datums/mutations/antenna.dm +++ b/code/datums/mutations/antenna.dm @@ -16,7 +16,8 @@ /obj/item/implant/radio/antenna/Initialize(mapload) ..() - radio.name = "internal antenna" + if (radio) + radio.name = "internal antenna" /datum/mutation/human/antenna/on_acquiring(mob/living/carbon/human/owner) if(..()) @@ -104,4 +105,4 @@ visual_indicators[type] = list(mutable_appearance('icons/effects/genetics.dmi', "antenna", -FRONT_MUTATIONS_LAYER+1)) /datum/mutation/human/mindreader/get_visual_indicator(mob/living/carbon/human/owner) - return visual_indicators[type][1] \ No newline at end of file + return visual_indicators[type][1] From a14fe06241fff34550cab07018b916022e616c77 Mon Sep 17 00:00:00 2001 From: Seris02 <49109742+Seris02@users.noreply.github.com> Date: Thu, 27 Feb 2020 20:51:19 +0800 Subject: [PATCH 20/27] probably fixes it --- code/datums/mutations/actions.dm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/datums/mutations/actions.dm b/code/datums/mutations/actions.dm index 130d475c28..9755e103f0 100644 --- a/code/datums/mutations/actions.dm +++ b/code/datums/mutations/actions.dm @@ -234,9 +234,9 @@ var/old_target = tracking_target possible = list() var/list/prints = sniffed.fingerprints - for(var/mob/living/carbon/C in GLOB.carbon_list) - if(prints[md5(C.dna.uni_identity)]) - possible |= C + for(var/mob/living/carbon/human/H in GLOB.alive_mob_list) + if(md5(H.dna.uni_identity) in sniffed.fingerprints) + LAZYOR(possible, H) if(!length(possible)) to_chat(user,"Despite your best efforts, there are no scents to be found on [sniffed]...") return @@ -501,4 +501,4 @@ if(!transfered.has_embedded_objects()) transfered.clear_alert("embeddedobject") SEND_SIGNAL(transfered, COMSIG_CLEAR_MOOD_EVENT, "embedded") - spikey.unembedded() \ No newline at end of file + spikey.unembedded() From d3385fb8c840fdb05d4b1b9e966a23c10a55222f Mon Sep 17 00:00:00 2001 From: Seris02 <49109742+Seris02@users.noreply.github.com> Date: Thu, 27 Feb 2020 21:03:50 +0800 Subject: [PATCH 21/27] yeet 3 --- code/datums/mutations/body.dm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/code/datums/mutations/body.dm b/code/datums/mutations/body.dm index 144936ab95..83b78b88eb 100644 --- a/code/datums/mutations/body.dm +++ b/code/datums/mutations/body.dm @@ -357,9 +357,11 @@ /datum/mutation/human/spastic/on_acquiring() if(..()) return - owner.apply_status_effect(STATUS_EFFECT_SPASMS) + if (owner) + owner.apply_status_effect(STATUS_EFFECT_SPASMS) /datum/mutation/human/spastic/on_losing() if(..()) return - owner.remove_status_effect(STATUS_EFFECT_SPASMS) \ No newline at end of file + if (owner) + owner.remove_status_effect(STATUS_EFFECT_SPASMS) From 8140962275d145010251643bb3d351715357d71f Mon Sep 17 00:00:00 2001 From: Seris02 <49109742+Seris02@users.noreply.github.com> Date: Thu, 27 Feb 2020 21:05:27 +0800 Subject: [PATCH 22/27] yeet 4 --- code/datums/mutations/actions.dm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/code/datums/mutations/actions.dm b/code/datums/mutations/actions.dm index 9755e103f0..6e704e3440 100644 --- a/code/datums/mutations/actions.dm +++ b/code/datums/mutations/actions.dm @@ -233,10 +233,9 @@ if(sniffed) var/old_target = tracking_target possible = list() - var/list/prints = sniffed.fingerprints for(var/mob/living/carbon/human/H in GLOB.alive_mob_list) if(md5(H.dna.uni_identity) in sniffed.fingerprints) - LAZYOR(possible, H) + possible |= H if(!length(possible)) to_chat(user,"Despite your best efforts, there are no scents to be found on [sniffed]...") return From f8adb4a80cfd8ece4ca5ac530f2a8fa60083d86a Mon Sep 17 00:00:00 2001 From: Seris02 <49109742+Seris02@users.noreply.github.com> Date: Fri, 28 Feb 2020 14:30:29 +0800 Subject: [PATCH 23/27] yeet 5 --- code/modules/spells/spell_types/conjure.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/spells/spell_types/conjure.dm b/code/modules/spells/spell_types/conjure.dm index 8336c06edb..7ff4f30e33 100644 --- a/code/modules/spells/spell_types/conjure.dm +++ b/code/modules/spells/spell_types/conjure.dm @@ -80,11 +80,11 @@ school = "conjuration" charge_max = 150 cooldown_min = 10 + var/delete_old = TRUE /obj/effect/proc_holder/spell/targeted/conjure_item/cast(list/targets, mob/user = usr) - if (item && !QDELETED(item)) - qdel(item) - item = null + if (delete_old && item && !QDELETED(item)) + QDEL_NULL(item) else for(var/mob/living/carbon/C in targets) if(C.dropItemToGround(C.get_active_held_item())) From b195783dfba6b5ceeeed11ec6b23d7178d40a426 Mon Sep 17 00:00:00 2001 From: Seris02 <49109742+Seris02@users.noreply.github.com> Date: Fri, 28 Feb 2020 14:31:47 +0800 Subject: [PATCH 24/27] yeet 6 --- code/datums/mutations/cold.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/datums/mutations/cold.dm b/code/datums/mutations/cold.dm index 717d1e8183..55dc309eae 100644 --- a/code/datums/mutations/cold.dm +++ b/code/datums/mutations/cold.dm @@ -14,6 +14,7 @@ item_type = /obj/item/stack/sheet/mineral/snow charge_max = 50 action_icon_state = "snow" + delete_old = FALSE /datum/mutation/human/cryokinesis From 8a647f8a8c428071d7323f80c9c1070678b72579 Mon Sep 17 00:00:00 2001 From: Seris02 <49109742+Seris02@users.noreply.github.com> Date: Mon, 2 Mar 2020 04:22:40 +0800 Subject: [PATCH 25/27] happy now? --- code/datums/mutations/body.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/datums/mutations/body.dm b/code/datums/mutations/body.dm index 83b78b88eb..e229fdde9a 100644 --- a/code/datums/mutations/body.dm +++ b/code/datums/mutations/body.dm @@ -291,6 +291,8 @@ var/warpchance = 0 /datum/mutation/human/badblink/on_life() + if (!owner) + return if(prob(warpchance)) var/warpmessage = pick( "With a sickening 720-degree twist of [owner.p_their()] back, [owner] vanishes into thin air.", From 9b66940807169bce361803bbe560b28da5fbc509 Mon Sep 17 00:00:00 2001 From: Seris02 Date: Mon, 9 Mar 2020 16:27:46 +0800 Subject: [PATCH 26/27] fixes the web --- code/datums/mutations/actions.dm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/code/datums/mutations/actions.dm b/code/datums/mutations/actions.dm index 6e704e3440..31f427c830 100644 --- a/code/datums/mutations/actions.dm +++ b/code/datums/mutations/actions.dm @@ -333,20 +333,20 @@ action_icon = 'icons/mob/actions/actions_genetic.dmi' action_icon_state = "lay_web" -/obj/effect/proc_holder/spell/self/lay_genetic_web/cast_check(skipcharge = 0,mob/user = usr) - . = ..() +/obj/effect/proc_holder/spell/self/lay_genetic_web/cast(list/targets, mob/user = usr) + var/failed = FALSE if(!isturf(user.loc)) to_chat(user, "You can't lay webs here!") - return FALSE + failed = TRUE var/turf/T = get_turf(user) var/obj/structure/spider/stickyweb/genetic/W = locate() in T if(W) to_chat(user, "There's already a web here!") + failed = TRUE + if(failed) + revert_cast(user) return FALSE -/obj/effect/proc_holder/spell/self/lay_genetic_web/cast(list/targets, mob/user = usr) - var/turf/T = get_turf(user) - user.visible_message("[user] begins to secrete a sticky substance.","You begin to lay a web.") if(!do_after(user, 4 SECONDS, target = T)) to_chat(user, "Your web spinning was interrupted!") From 067e2e45063980e0628e40004f70682ec8829d71 Mon Sep 17 00:00:00 2001 From: Seris02 Date: Mon, 9 Mar 2020 18:15:12 +0800 Subject: [PATCH 27/27] probably fixes hulk --- code/datums/mutations/hulk.dm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/code/datums/mutations/hulk.dm b/code/datums/mutations/hulk.dm index b6987959c2..3c00cc352d 100644 --- a/code/datums/mutations/hulk.dm +++ b/code/datums/mutations/hulk.dm @@ -9,22 +9,22 @@ species_allowed = list("human") //no skeleton/lizard hulk health_req = 25 instability = 40 - locked = TRUE /datum/mutation/human/hulk/on_acquiring(mob/living/carbon/human/owner) if(..()) return ADD_TRAIT(owner, TRAIT_STUNIMMUNE, TRAIT_HULK) ADD_TRAIT(owner, TRAIT_PUSHIMMUNE, TRAIT_HULK) + ADD_TRAIT(owner, TRAIT_CHUNKYFINGERS, TRAIT_HULK) owner.update_body_parts() SEND_SIGNAL(owner, COMSIG_ADD_MOOD_EVENT, "hulk", /datum/mood_event/hulk) RegisterSignal(owner, COMSIG_MOB_SAY, .proc/handle_speech) -/datum/mutation/human/hulk/on_attack_hand(atom/target, proximity) +/datum/mutation/human/hulk/on_attack_hand(mob/living/carbon/human/owner,atom/target, proximity) if(proximity) //no telekinetic hulk attack return target.attack_hulk(owner) -/datum/mutation/human/hulk/on_life() +/datum/mutation/human/hulk/on_life(mob/living/carbon/human/owner) if(owner.health < 0) on_losing(owner) to_chat(owner, "You suddenly feel very weak.") @@ -34,6 +34,7 @@ return REMOVE_TRAIT(owner, TRAIT_STUNIMMUNE, TRAIT_HULK) REMOVE_TRAIT(owner, TRAIT_PUSHIMMUNE, TRAIT_HULK) + REMOVE_TRAIT(owner, TRAIT_CHUNKYFINGERS, TRAIT_HULK) owner.update_body_parts() SEND_SIGNAL(owner, COMSIG_CLEAR_MOOD_EVENT, "hulk") UnregisterSignal(owner, COMSIG_MOB_SAY)