From 856950caa82eda38e06b9fbda6b65503b35d8b59 Mon Sep 17 00:00:00 2001 From: "Robert (Hopek)" Date: Mon, 14 Oct 2019 19:39:23 -0500 Subject: [PATCH 1/5] Revert "Restoring my main branch" This reverts commit 39cb2325420652af5edf2ccda8ebcd306a611d16. --- .../chemistry/reagents/medicine_reagents.dm | 147 ++++++++++++++++++ .../reagents/chemistry/recipes/medicine.dm | 24 +++ 2 files changed, 171 insertions(+) diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index eb5303bf8dbe..a5a978b8d624 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -1335,5 +1335,152 @@ ..() . = 1 +/datum/reagent/medicine/burnmix + name = "BurnMix" + description = "Take in moderation. Heals damage at a snail's pace. Effects increase when used with Epinephrine or Perfluorodecalin. You don't want this in your body for longer than needed." + reagent_state = LIQUID + color = "#BD328A" // R 189 G 50 B 138 , Medium Red Violet , Hue of Violet + overdose_threshold = 12 + taste_description = "dixel" + glass_name = "glass of ...red?" + glass_desc = "Looks like some chunky dark red mix." + reagent_weight = 4 + addiction_threshold = 40 + // Max healing non OD with best rolls + buffs: 0.2 + 0.15 + 0.2 = 0.55 + // Max healing with OD + best rolls and all buffs: 0.4 + 0.35 + 0.4 = 1.15 + +/datum/reagent/medicine/burnmix/on_mob_life(mob/living/carbon/M) + var/heal_roll = pick(-0.1,-0.2) // Base heal, Non OD + var/slur = 10 // Slur 10 sets up for future slur gains as real effects seem to start at 30 + var/jitter = 0 + if(M.health <= M.crit_threshold) + heal_roll = 0 // Burnmix will not heal anyone inside of crit without epipen or morhpine + if(prob(10)) + heal_roll = 0 // Burnmix has a chance not to basic heal at all + if(holder.has_reagent(/datum/reagent/medicine/epinephrine)) // start IF has Epinephrine in body + jitter = jitter + 5 + slur = slur + 25 + heal_roll = heal_roll - 0.15 + if(prob(15)) + M.losebreath++ + if(prob(80)) + M.adjustStaminaLoss(1.25*REM, 0) // end IF has Epinephrine in body + + if(holder.has_reagent(/datum/reagent/medicine/perfluorodecalin)) // start IF has Perfluorodecalin in body + jitter = jitter + 5 + slur = slur + 25 + M.drowsyness += 0.5 + heal_roll = heal_roll - 0.2 // start IF has Perfluorodecalin in body + + if(prob(10)) // Start of base probability effects + var/tox_roll = pick(1,-1) // Rolls for damage or healing + if(tox_roll == 1) + M.emote("moan") + if(tox_roll == -1) + M.emote("twitch") + if(prob(90)) + M.adjustToxLoss(tox_roll*REM, 0) + M.Jitter(jitter) + if(prob(1)) // Last set of non OD probability effects + M.Dizzy(jitter) + M.slurring = slur // End of base probability effects + if(heal_roll < 0) // Healing payload after calculations + if (M.stat == DEAD) // Non OD , if dead , 30% chance to discard healing payload + if(prob(70)) + M.adjustFireLoss(heal_roll*REM, FALSE, FALSE, BODYPART_ORGANIC) + M.adjustBruteLoss(heal_roll*REM, 0) + else + M.adjustFireLoss(heal_roll*REM, 0) + M.adjustBruteLoss(heal_roll*REM, 0) + ..() + . = 1 + +/datum/reagent/drug/burnmix/overdose_start(mob/living/M) + to_chat(M, "You feel the BurnMix increase in potency.") + + +/datum/reagent/medicine/burnmix/overdose_process(mob/living/M) + var/heal_roll = pick(-0.2,-0.4) + var/slur = 20 + var/jitter = 2 + if(M.health <= M.crit_threshold) + heal_roll = heal_roll + 0.2 // Burnmix in overdose will heal inside of crit without epipen or perfluorodecalin. Being in crit means a roll for either no base healing or half reduction to base heal. + if(heal_roll > 0 && prob(10)) + heal_roll = 0 // Burnmix has a chance not to basic heal at all + if(holder.has_reagent(/datum/reagent/medicine/epinephrine)) + heal_roll = heal_roll - 0.35 + jitter = jitter + 15 + slur = slur + 25 + if(prob(25)) + M.losebreath++ + M.adjustStaminaLoss(2.5*REM, 0) + if(prob(80)) + M.adjustToxLoss(0.5*REM, 0) + M.adjustToxLoss(pick(0,-0.25), 0) // gives a chance to negate half epinephrine tox damage + + if(holder.has_reagent(/datum/reagent/medicine/perfluorodecalin)) + heal_roll = heal_roll - 0.4 + jitter = jitter + 15 + slur = slur + 25 + if(prob(25)) + M.adjustToxLoss(0.5*REM, 0) + M.adjustToxLoss(pick(0,-0.25), 0) // gives a chance to negate half perfluorodecalin tox damage + + if(holder.has_reagent(holder.has_reagent(/datum/reagent/medicine/epinephrine) && /datum/reagent/medicine/perfluorodecalin)) // start IF both drugs present + if(prob(0.5)) // Should be 1 in 200 chance of a 1 in 3 chance to roll for faint if both epinephrine and perfluorodecalin are present + M.emote((pick("scream","faint","gasp"))) + if(prob(60)) // Original edit did too much brain damage. Moved to both drug effects. Was default OD effect + M.adjustOrganLoss(ORGAN_SLOT_BRAIN,pick(1,-1)) + if(prob(30)) + slur = slur + 25 + if(prob(30)) + jitter = 50 + if(prob(30)) + M.drowsyness += 0.5 + if(prob(2)) + to_chat(M, "Your fingers spasm!") + M.drop_all_held_items() // end IF both drugs present + + if(prob(40)) // start last set of OD probability effects + M.emote(pick("twitch","drool","moan","giggle","spin")) + if(prob(60)) + M.adjustOrganLoss(ORGAN_SLOT_BRAIN, pick(0,1,2,2.5,-1,-2)) + if(prob(15)) + M.set_drugginess(pick(2,4,6)) + M.Jitter(jitter) + if(prob(40)) + M.adjustToxLoss(pick(1,-1)*REM, 0) + if(prob(1)) + M.Dizzy(jitter) // end last set of OD probability effects + M.Jitter(jitter) // OD slur and jitter after calculations + M.slurring = slur + if(heal_roll < 0) // OD Healing payload after calculations + M.adjustFireLoss(heal_roll*REM, FALSE, FALSE, BODYPART_ORGANIC) + M.adjustBruteLoss(heal_roll*REM, 0) + ..() + . = 1 + +/datum/reagent/medicine/burnmix/reaction_mob(mob/living/M, method=TOUCH, reac_volume,show_message = 1) + if(iscarbon(M)) + if (M.stat == DEAD) // If the mob is dead and you apply it via touch. You get to play an RNG healing game. + if(method in list(PATCH, TOUCH)) + var/RNG_ROLL = pick(-0.5,-0.25,-0.1,0,0.2) + var/RNG_TEXT = "no effect" + if(RNG_ROLL == -0.5) + RNG_TEXT = "had a great effect" + if(RNG_ROLL == -0.25) + RNG_TEXT = "had a good effect" + if(RNG_ROLL == -0.1) + RNG_TEXT = "had a somewhat good effect" + if(RNG_ROLL == 0.2) + RNG_TEXT = "made things worse!" + if(RNG_ROLL != 0) + SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "painful_medicine", /datum/mood_event/painful_medicine) + M.adjustBruteLoss(RNG_ROLL*reac_volume) + M.adjustFireLoss(RNG_ROLL*reac_volume) + M.visible_message("[M]'s body reacts with the Burnmix. It seemed to have [RNG_TEXT]!") + ..() + + #undef PERF_BASE_DAMAGE diff --git a/code/modules/reagents/chemistry/recipes/medicine.dm b/code/modules/reagents/chemistry/recipes/medicine.dm index 003e60804339..2fbaaf0eef75 100644 --- a/code/modules/reagents/chemistry/recipes/medicine.dm +++ b/code/modules/reagents/chemistry/recipes/medicine.dm @@ -264,3 +264,27 @@ id = /datum/reagent/medicine/psicodine results = list(/datum/reagent/medicine/psicodine = 5) required_reagents = list( /datum/reagent/medicine/mannitol = 2, /datum/reagent/water = 2, /datum/reagent/impedrezene = 1) + +/datum/chemical_reaction/burnmix // Chemistry recipe + name = "BurnMix" + required_temp = 700 + id = /datum/reagent/medicine/burnmix + mix_message = "The solution boils, binding the remaining ingredients." + results = list(/datum/reagent/medicine/burnmix = 2) + required_reagents = list(/datum/reagent/fuel = 1, /datum/reagent/carbon = 1, /datum/reagent/iron = 1) + +/datum/chemical_reaction/burnmix2 // Ghetto recipe + name = "BurnMix" + id = /datum/reagent/medicine/burnmix + required_temp = 500 + mix_message = "The solution bubbles, binding the ingredients." + results = list(/datum/reagent/medicine/burnmix = 3) // Fuel burns away to form BurnMix from Nutriment and ash + required_reagents = list(/datum/reagent/fuel = 1, /datum/reagent/consumable/nutriment = 1, /datum/reagent/ash = 2) // Some welding fluid, any food and ash (burn some paper) + +/datum/chemical_reaction/burnmix3 // Ghetto recipe 2; wasteful . Replaces nutriment with ethenol but most of the ethenol dissolves in the process + name = "BurnMix" + id = /datum/reagent/medicine/burnmix + required_temp = 500 + mix_message = "The solution partially dissolves, binding the remaining ingredients." + results = list(/datum/reagent/medicine/burnmix = 3) // fuel and most ethenol burns away to form BurnMix from remaining ethenol and ash + required_reagents = list(/datum/reagent/fuel = 1, /datum/reagent/consumable/ethanol/beer = 3, /datum/reagent/ash = 2) // Take a booze bottle, drink some , add welding fuel and ash. Heat up with lighter From 00b5eb044a905263ed61310cad6698f856a71ce1 Mon Sep 17 00:00:00 2001 From: "Robert (Hopek)" Date: Mon, 14 Oct 2019 19:39:39 -0500 Subject: [PATCH 2/5] Revert "Revert "Restoring my main branch"" This reverts commit 856950caa82eda38e06b9fbda6b65503b35d8b59. --- .../chemistry/reagents/medicine_reagents.dm | 147 ------------------ .../reagents/chemistry/recipes/medicine.dm | 24 --- 2 files changed, 171 deletions(-) diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index a5a978b8d624..eb5303bf8dbe 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -1335,152 +1335,5 @@ ..() . = 1 -/datum/reagent/medicine/burnmix - name = "BurnMix" - description = "Take in moderation. Heals damage at a snail's pace. Effects increase when used with Epinephrine or Perfluorodecalin. You don't want this in your body for longer than needed." - reagent_state = LIQUID - color = "#BD328A" // R 189 G 50 B 138 , Medium Red Violet , Hue of Violet - overdose_threshold = 12 - taste_description = "dixel" - glass_name = "glass of ...red?" - glass_desc = "Looks like some chunky dark red mix." - reagent_weight = 4 - addiction_threshold = 40 - // Max healing non OD with best rolls + buffs: 0.2 + 0.15 + 0.2 = 0.55 - // Max healing with OD + best rolls and all buffs: 0.4 + 0.35 + 0.4 = 1.15 - -/datum/reagent/medicine/burnmix/on_mob_life(mob/living/carbon/M) - var/heal_roll = pick(-0.1,-0.2) // Base heal, Non OD - var/slur = 10 // Slur 10 sets up for future slur gains as real effects seem to start at 30 - var/jitter = 0 - if(M.health <= M.crit_threshold) - heal_roll = 0 // Burnmix will not heal anyone inside of crit without epipen or morhpine - if(prob(10)) - heal_roll = 0 // Burnmix has a chance not to basic heal at all - if(holder.has_reagent(/datum/reagent/medicine/epinephrine)) // start IF has Epinephrine in body - jitter = jitter + 5 - slur = slur + 25 - heal_roll = heal_roll - 0.15 - if(prob(15)) - M.losebreath++ - if(prob(80)) - M.adjustStaminaLoss(1.25*REM, 0) // end IF has Epinephrine in body - - if(holder.has_reagent(/datum/reagent/medicine/perfluorodecalin)) // start IF has Perfluorodecalin in body - jitter = jitter + 5 - slur = slur + 25 - M.drowsyness += 0.5 - heal_roll = heal_roll - 0.2 // start IF has Perfluorodecalin in body - - if(prob(10)) // Start of base probability effects - var/tox_roll = pick(1,-1) // Rolls for damage or healing - if(tox_roll == 1) - M.emote("moan") - if(tox_roll == -1) - M.emote("twitch") - if(prob(90)) - M.adjustToxLoss(tox_roll*REM, 0) - M.Jitter(jitter) - if(prob(1)) // Last set of non OD probability effects - M.Dizzy(jitter) - M.slurring = slur // End of base probability effects - if(heal_roll < 0) // Healing payload after calculations - if (M.stat == DEAD) // Non OD , if dead , 30% chance to discard healing payload - if(prob(70)) - M.adjustFireLoss(heal_roll*REM, FALSE, FALSE, BODYPART_ORGANIC) - M.adjustBruteLoss(heal_roll*REM, 0) - else - M.adjustFireLoss(heal_roll*REM, 0) - M.adjustBruteLoss(heal_roll*REM, 0) - ..() - . = 1 - -/datum/reagent/drug/burnmix/overdose_start(mob/living/M) - to_chat(M, "You feel the BurnMix increase in potency.") - - -/datum/reagent/medicine/burnmix/overdose_process(mob/living/M) - var/heal_roll = pick(-0.2,-0.4) - var/slur = 20 - var/jitter = 2 - if(M.health <= M.crit_threshold) - heal_roll = heal_roll + 0.2 // Burnmix in overdose will heal inside of crit without epipen or perfluorodecalin. Being in crit means a roll for either no base healing or half reduction to base heal. - if(heal_roll > 0 && prob(10)) - heal_roll = 0 // Burnmix has a chance not to basic heal at all - if(holder.has_reagent(/datum/reagent/medicine/epinephrine)) - heal_roll = heal_roll - 0.35 - jitter = jitter + 15 - slur = slur + 25 - if(prob(25)) - M.losebreath++ - M.adjustStaminaLoss(2.5*REM, 0) - if(prob(80)) - M.adjustToxLoss(0.5*REM, 0) - M.adjustToxLoss(pick(0,-0.25), 0) // gives a chance to negate half epinephrine tox damage - - if(holder.has_reagent(/datum/reagent/medicine/perfluorodecalin)) - heal_roll = heal_roll - 0.4 - jitter = jitter + 15 - slur = slur + 25 - if(prob(25)) - M.adjustToxLoss(0.5*REM, 0) - M.adjustToxLoss(pick(0,-0.25), 0) // gives a chance to negate half perfluorodecalin tox damage - - if(holder.has_reagent(holder.has_reagent(/datum/reagent/medicine/epinephrine) && /datum/reagent/medicine/perfluorodecalin)) // start IF both drugs present - if(prob(0.5)) // Should be 1 in 200 chance of a 1 in 3 chance to roll for faint if both epinephrine and perfluorodecalin are present - M.emote((pick("scream","faint","gasp"))) - if(prob(60)) // Original edit did too much brain damage. Moved to both drug effects. Was default OD effect - M.adjustOrganLoss(ORGAN_SLOT_BRAIN,pick(1,-1)) - if(prob(30)) - slur = slur + 25 - if(prob(30)) - jitter = 50 - if(prob(30)) - M.drowsyness += 0.5 - if(prob(2)) - to_chat(M, "Your fingers spasm!") - M.drop_all_held_items() // end IF both drugs present - - if(prob(40)) // start last set of OD probability effects - M.emote(pick("twitch","drool","moan","giggle","spin")) - if(prob(60)) - M.adjustOrganLoss(ORGAN_SLOT_BRAIN, pick(0,1,2,2.5,-1,-2)) - if(prob(15)) - M.set_drugginess(pick(2,4,6)) - M.Jitter(jitter) - if(prob(40)) - M.adjustToxLoss(pick(1,-1)*REM, 0) - if(prob(1)) - M.Dizzy(jitter) // end last set of OD probability effects - M.Jitter(jitter) // OD slur and jitter after calculations - M.slurring = slur - if(heal_roll < 0) // OD Healing payload after calculations - M.adjustFireLoss(heal_roll*REM, FALSE, FALSE, BODYPART_ORGANIC) - M.adjustBruteLoss(heal_roll*REM, 0) - ..() - . = 1 - -/datum/reagent/medicine/burnmix/reaction_mob(mob/living/M, method=TOUCH, reac_volume,show_message = 1) - if(iscarbon(M)) - if (M.stat == DEAD) // If the mob is dead and you apply it via touch. You get to play an RNG healing game. - if(method in list(PATCH, TOUCH)) - var/RNG_ROLL = pick(-0.5,-0.25,-0.1,0,0.2) - var/RNG_TEXT = "no effect" - if(RNG_ROLL == -0.5) - RNG_TEXT = "had a great effect" - if(RNG_ROLL == -0.25) - RNG_TEXT = "had a good effect" - if(RNG_ROLL == -0.1) - RNG_TEXT = "had a somewhat good effect" - if(RNG_ROLL == 0.2) - RNG_TEXT = "made things worse!" - if(RNG_ROLL != 0) - SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "painful_medicine", /datum/mood_event/painful_medicine) - M.adjustBruteLoss(RNG_ROLL*reac_volume) - M.adjustFireLoss(RNG_ROLL*reac_volume) - M.visible_message("[M]'s body reacts with the Burnmix. It seemed to have [RNG_TEXT]!") - ..() - - #undef PERF_BASE_DAMAGE diff --git a/code/modules/reagents/chemistry/recipes/medicine.dm b/code/modules/reagents/chemistry/recipes/medicine.dm index 2fbaaf0eef75..003e60804339 100644 --- a/code/modules/reagents/chemistry/recipes/medicine.dm +++ b/code/modules/reagents/chemistry/recipes/medicine.dm @@ -264,27 +264,3 @@ id = /datum/reagent/medicine/psicodine results = list(/datum/reagent/medicine/psicodine = 5) required_reagents = list( /datum/reagent/medicine/mannitol = 2, /datum/reagent/water = 2, /datum/reagent/impedrezene = 1) - -/datum/chemical_reaction/burnmix // Chemistry recipe - name = "BurnMix" - required_temp = 700 - id = /datum/reagent/medicine/burnmix - mix_message = "The solution boils, binding the remaining ingredients." - results = list(/datum/reagent/medicine/burnmix = 2) - required_reagents = list(/datum/reagent/fuel = 1, /datum/reagent/carbon = 1, /datum/reagent/iron = 1) - -/datum/chemical_reaction/burnmix2 // Ghetto recipe - name = "BurnMix" - id = /datum/reagent/medicine/burnmix - required_temp = 500 - mix_message = "The solution bubbles, binding the ingredients." - results = list(/datum/reagent/medicine/burnmix = 3) // Fuel burns away to form BurnMix from Nutriment and ash - required_reagents = list(/datum/reagent/fuel = 1, /datum/reagent/consumable/nutriment = 1, /datum/reagent/ash = 2) // Some welding fluid, any food and ash (burn some paper) - -/datum/chemical_reaction/burnmix3 // Ghetto recipe 2; wasteful . Replaces nutriment with ethenol but most of the ethenol dissolves in the process - name = "BurnMix" - id = /datum/reagent/medicine/burnmix - required_temp = 500 - mix_message = "The solution partially dissolves, binding the remaining ingredients." - results = list(/datum/reagent/medicine/burnmix = 3) // fuel and most ethenol burns away to form BurnMix from remaining ethenol and ash - required_reagents = list(/datum/reagent/fuel = 1, /datum/reagent/consumable/ethanol/beer = 3, /datum/reagent/ash = 2) // Take a booze bottle, drink some , add welding fuel and ash. Heat up with lighter From c46ab39931676c6d97cf6319bbdcce4db0dcfdd0 Mon Sep 17 00:00:00 2001 From: Hopek Date: Fri, 20 Dec 2019 22:32:14 -0600 Subject: [PATCH 3/5] Bees can ventcrawl Bzzzzz --- code/modules/mob/living/simple_animal/hostile/bees.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/mob/living/simple_animal/hostile/bees.dm b/code/modules/mob/living/simple_animal/hostile/bees.dm index ec1cb385a152..88502dc49251 100644 --- a/code/modules/mob/living/simple_animal/hostile/bees.dm +++ b/code/modules/mob/living/simple_animal/hostile/bees.dm @@ -41,6 +41,7 @@ movement_type = FLYING gold_core_spawnable = HOSTILE_SPAWN search_objects = 1 //have to find those plant trays! + ventcrawler = VENTCRAWLER_ALWAYS //Spaceborn beings don't get hurt by space atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) From dfdba6ed1bc7ee8ea5a0dc636b27ef6b09ed4f8a Mon Sep 17 00:00:00 2001 From: Hopek Date: Fri, 20 Dec 2019 22:32:24 -0600 Subject: [PATCH 4/5] Revert "Bees can ventcrawl" This reverts commit c46ab39931676c6d97cf6319bbdcce4db0dcfdd0. --- code/modules/mob/living/simple_animal/hostile/bees.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/modules/mob/living/simple_animal/hostile/bees.dm b/code/modules/mob/living/simple_animal/hostile/bees.dm index 88502dc49251..ec1cb385a152 100644 --- a/code/modules/mob/living/simple_animal/hostile/bees.dm +++ b/code/modules/mob/living/simple_animal/hostile/bees.dm @@ -41,7 +41,6 @@ movement_type = FLYING gold_core_spawnable = HOSTILE_SPAWN search_objects = 1 //have to find those plant trays! - ventcrawler = VENTCRAWLER_ALWAYS //Spaceborn beings don't get hurt by space atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) From 116237e3dd0265d3f880d8dc3ed817140e5dea12 Mon Sep 17 00:00:00 2001 From: Hopek Date: Sun, 5 Jan 2020 13:16:07 -0600 Subject: [PATCH 5/5] Adds a language holder to preternis to fix sheltered Tgui next broke preternis because TG doesn't have preternis --- code/modules/language/language_holder.dm | 6 ++++++ .../carbon/human/species_types/preternis/preternis.dm | 1 + 2 files changed, 7 insertions(+) diff --git a/code/modules/language/language_holder.dm b/code/modules/language/language_holder.dm index 2c876cd9a3e6..c7ffab63782d 100644 --- a/code/modules/language/language_holder.dm +++ b/code/modules/language/language_holder.dm @@ -306,6 +306,12 @@ Key procs /datum/language/machine = list(LANGUAGE_ATOM), /datum/language/draconic = list(LANGUAGE_ATOM)) +/datum/language_holder/preternis + understood_languages = list(/datum/language/common = list(LANGUAGE_ATOM), + /datum/language/machine = list(LANGUAGE_ATOM),) + spoken_languages = list(/datum/language/common = list(LANGUAGE_ATOM), + /datum/language/machine = list(LANGUAGE_ATOM),) + /datum/language_holder/empty understood_languages = list() spoken_languages = list() diff --git a/yogstation/code/modules/mob/living/carbon/human/species_types/preternis/preternis.dm b/yogstation/code/modules/mob/living/carbon/human/species_types/preternis/preternis.dm index 58be79b7b16e..78d27cb90238 100644 --- a/yogstation/code/modules/mob/living/carbon/human/species_types/preternis/preternis.dm +++ b/yogstation/code/modules/mob/living/carbon/human/species_types/preternis/preternis.dm @@ -30,6 +30,7 @@ adjust_charge - take a positive or negative value to adjust the charge level var/tesliumtrip = FALSE var/draining = FALSE screamsound = 'goon/sound/robot_scream.ogg' + species_language_holder = /datum/language_holder/preternis /datum/species/preternis/on_species_gain(mob/living/carbon/C, datum/species/old_species, pref_load) . = ..()