From afe2aa8e31a4257d33b8a3ae2fcbc46ed8c6113e Mon Sep 17 00:00:00 2001 From: Tastyfish Date: Fri, 20 May 2016 04:27:59 -0400 Subject: [PATCH 1/2] Makes gas reagents have standardized behavior, skrell liver behavior generalized --- .../living/carbon/human/species/station.dm | 10 ++++++++++ .../oldchem/reagents/_reagent_base.dm | 15 +++++++++----- .../reagents/drink/reagents_alcohol.dm | 3 +-- .../oldchem/reagents/reagents_misc.dm | 20 ------------------- code/modules/surgery/organs/organ_internal.dm | 1 + .../modules/surgery/organs/subtypes/skrell.dm | 2 ++ paradise.dme | 1 + 7 files changed, 25 insertions(+), 27 deletions(-) create mode 100644 code/modules/surgery/organs/subtypes/skrell.dm diff --git a/code/modules/mob/living/carbon/human/species/station.dm b/code/modules/mob/living/carbon/human/species/station.dm index 39eb7c9d4a9..b19249d671e 100644 --- a/code/modules/mob/living/carbon/human/species/station.dm +++ b/code/modules/mob/living/carbon/human/species/station.dm @@ -197,6 +197,16 @@ default_hair = "Skrell Male Tentacles" reagent_tag = PROCESS_ORG + has_organ = list( + "heart" = /obj/item/organ/internal/heart, + "lungs" = /obj/item/organ/internal/lungs, + "liver" = /obj/item/organ/internal/liver/skrell, + "kidneys" = /obj/item/organ/internal/kidneys, + "brain" = /obj/item/organ/internal/brain, + "appendix" = /obj/item/organ/internal/appendix, + "eyes" = /obj/item/organ/internal/eyes, + ) + suicide_messages = list( "is attempting to bite their tongue off!", "is jamming their thumbs into their eye sockets!", diff --git a/code/modules/reagents/oldchem/reagents/_reagent_base.dm b/code/modules/reagents/oldchem/reagents/_reagent_base.dm index 9221c42f0c8..9c6e6296228 100644 --- a/code/modules/reagents/oldchem/reagents/_reagent_base.dm +++ b/code/modules/reagents/oldchem/reagents/_reagent_base.dm @@ -63,13 +63,18 @@ return /datum/reagent/proc/on_mob_life(var/mob/living/M as mob, var/alien) - if(!istype(M, /mob/living)) // YOU'RE A FUCKING RETARD NEO WHY CAN'T YOU JUST FIX THE PROBLEM ON THE REAGENT - Iamgoofball - return //Noticed runtime errors from facid trying to damage ghosts, this should fix. --NEO - // Certain elements in too large amounts cause side-effects + if(!istype(M)) + return + if(reagent_state == GAS && M.stat != DEAD && ishuman(M)) + // make gas reagents affect people like the gasses + var/mob/living/carbon/human/H = M + if(id == H.species.breath_type) + M.adjustOxyLoss(-2*REM) + else if(id == H.species.poison_type) + M.adjustToxLoss(REAGENTS_METABOLISM) if(holder) - holder.remove_reagent(src.id, metabolization_rate) //By default it slowly disappears. + holder.remove_reagent(id, metabolization_rate) //By default it slowly disappears. current_cycle++ - return // Called when two reagents of the same are mixing. /datum/reagent/proc/on_merge(var/data) diff --git a/code/modules/reagents/oldchem/reagents/drink/reagents_alcohol.dm b/code/modules/reagents/oldchem/reagents/drink/reagents_alcohol.dm index 12e1a554edd..82d46d60519 100644 --- a/code/modules/reagents/oldchem/reagents/drink/reagents_alcohol.dm +++ b/code/modules/reagents/oldchem/reagents/drink/reagents_alcohol.dm @@ -36,8 +36,7 @@ if(ishuman(M) && !M.isSynthetic()) var/mob/living/carbon/human/H = M L = H.get_int_organ(/obj/item/organ/internal/liver) - if(!L || (istype(L) && L.dna.species in list("Skrell", "Neara"))) - d*=5 + d *= L ? L.alcohol_intensity : 5 M.dizziness += dizzy_adj. if(d >= slur_start && d < pass_out) diff --git a/code/modules/reagents/oldchem/reagents/reagents_misc.dm b/code/modules/reagents/oldchem/reagents/reagents_misc.dm index 8c3352243eb..889a2011d48 100644 --- a/code/modules/reagents/oldchem/reagents/reagents_misc.dm +++ b/code/modules/reagents/oldchem/reagents/reagents_misc.dm @@ -42,16 +42,6 @@ reagent_state = GAS color = "#808080" // rgb: 128, 128, 128 -/datum/reagent/oxygen/on_mob_life(var/mob/living/M as mob, var/alien) - if(M.stat == 2) return - if(ishuman(M)) - var/mob/living/carbon/human/H = M - if(H.species && (H.species.name == "Vox" || H.species.name =="Vox Armalis")) - M.adjustToxLoss(REAGENTS_METABOLISM) - holder.remove_reagent(src.id, REAGENTS_METABOLISM) //By default it slowly disappears. - return - ..() - /datum/reagent/nitrogen name = "Nitrogen" @@ -60,16 +50,6 @@ reagent_state = GAS color = "#808080" // rgb: 128, 128, 128 -/datum/reagent/nitrogen/on_mob_life(var/mob/living/M as mob, var/alien) - if(M.stat == 2) return - if(ishuman(M)) - var/mob/living/carbon/human/H = M - if(H.species && (H.species.name == "Vox" || H.species.name =="Vox Armalis")) - M.adjustOxyLoss(-2*REM) - holder.remove_reagent(src.id, REAGENTS_METABOLISM) //By default it slowly disappears. - return - ..() - /datum/reagent/hydrogen name = "Hydrogen" diff --git a/code/modules/surgery/organs/organ_internal.dm b/code/modules/surgery/organs/organ_internal.dm index 8c80b58519a..5982237cbac 100644 --- a/code/modules/surgery/organs/organ_internal.dm +++ b/code/modules/surgery/organs/organ_internal.dm @@ -292,6 +292,7 @@ organ_tag = "liver" parent_organ = "groin" slot = "liver" + var/alcohol_intensity = 1 /obj/item/organ/internal/liver/process() diff --git a/code/modules/surgery/organs/subtypes/skrell.dm b/code/modules/surgery/organs/subtypes/skrell.dm new file mode 100644 index 00000000000..faf58b7a3ef --- /dev/null +++ b/code/modules/surgery/organs/subtypes/skrell.dm @@ -0,0 +1,2 @@ +/obj/item/organ/internal/liver/skrell + alcohol_intensity = 5 \ No newline at end of file diff --git a/paradise.dme b/paradise.dme index 0adb0c5b5b4..2aa4f486887 100644 --- a/paradise.dme +++ b/paradise.dme @@ -2008,6 +2008,7 @@ #include "code\modules\surgery\organs\subtypes\machine.dm" #include "code\modules\surgery\organs\subtypes\misc.dm" #include "code\modules\surgery\organs\subtypes\nucleation.dm" +#include "code\modules\surgery\organs\subtypes\skrell.dm" #include "code\modules\surgery\organs\subtypes\standard.dm" #include "code\modules\surgery\organs\subtypes\unbreakable.dm" #include "code\modules\surgery\organs\subtypes\wryn.dm" From 487778eb3d36fac70f06ffda76bedc70ded27f1e Mon Sep 17 00:00:00 2001 From: Tastyfish Date: Sat, 21 May 2016 11:56:45 -0400 Subject: [PATCH 2/2] Removes air pill thing completely --- code/modules/reagents/oldchem/reagents/_reagent_base.dm | 7 ------- 1 file changed, 7 deletions(-) diff --git a/code/modules/reagents/oldchem/reagents/_reagent_base.dm b/code/modules/reagents/oldchem/reagents/_reagent_base.dm index 9c6e6296228..5b755c1ee98 100644 --- a/code/modules/reagents/oldchem/reagents/_reagent_base.dm +++ b/code/modules/reagents/oldchem/reagents/_reagent_base.dm @@ -65,13 +65,6 @@ /datum/reagent/proc/on_mob_life(var/mob/living/M as mob, var/alien) if(!istype(M)) return - if(reagent_state == GAS && M.stat != DEAD && ishuman(M)) - // make gas reagents affect people like the gasses - var/mob/living/carbon/human/H = M - if(id == H.species.breath_type) - M.adjustOxyLoss(-2*REM) - else if(id == H.species.poison_type) - M.adjustToxLoss(REAGENTS_METABOLISM) if(holder) holder.remove_reagent(id, metabolization_rate) //By default it slowly disappears. current_cycle++