From 1a4f8cb51805422f515ea3b0c437570bfebf9679 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mieszko=20J=C4=99drzejczak?= Date: Sun, 19 Jun 2016 17:52:44 +0200 Subject: [PATCH] Alcohol refactor v12413526345. (#4647) * Refactors booze. Yes. I killed other commits. * Lime juice --- code/modules/mob/living/carbon/human/life.dm | 75 ++++++++++++++ .../living/carbon/human/species/station.dm | 54 +++++++++- code/modules/mob/living/life.dm | 8 +- code/modules/mob/mob.dm | 3 + code/modules/mob/mob_defines.dm | 1 + code/modules/reagents/newchem/drinks.dm | 45 ++------- code/modules/reagents/newchem/medicine.dm | 3 +- .../chemical_reaction_drink.dm | 6 +- .../reagents/drink/reagents_alcohol.dm | 99 ++++--------------- code/modules/surgery/organs/subtypes/diona.dm | 1 + code/modules/surgery/organs/subtypes/drask.dm | 3 +- code/modules/surgery/organs/subtypes/grey.dm | 2 + code/modules/surgery/organs/subtypes/kidan.dm | 2 + .../modules/surgery/organs/subtypes/skrell.dm | 2 +- .../surgery/organs/subtypes/tajaran.dm | 2 + .../modules/surgery/organs/subtypes/unathi.dm | 2 + code/modules/surgery/organs/subtypes/vox.dm | 2 + .../surgery/organs/subtypes/vulpkanin.dm | 2 + paradise.dme | 6 ++ 19 files changed, 190 insertions(+), 128 deletions(-) create mode 100644 code/modules/surgery/organs/subtypes/grey.dm create mode 100644 code/modules/surgery/organs/subtypes/kidan.dm create mode 100644 code/modules/surgery/organs/subtypes/tajaran.dm create mode 100644 code/modules/surgery/organs/subtypes/unathi.dm create mode 100644 code/modules/surgery/organs/subtypes/vox.dm create mode 100644 code/modules/surgery/organs/subtypes/vulpkanin.dm diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 14585c8d972..d96dd018f2a 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -39,6 +39,7 @@ handle_pain() handle_heartbeat() handle_heartattack() + handle_drunk() species.handle_life(src) if(!client) @@ -730,6 +731,80 @@ return //TODO: DEFERRED +/mob/living/carbon/human/handle_drunk() + var/slur_start = 30 //12u ethanol, 30u whiskey FOR HUMANS + var/confused_start = 40 + var/brawl_start = 30 + var/blur_start = 75 + var/vomit_start = 60 + var/pass_out = 90 + var/spark_start = 50 //40u synthanol + var/collapse_start = 75 + var/braindamage_start = 120 + var/alcohol_strength = drunk + var/sober_str=!(SOBER in mutations)?1:2 + + if(drunk) + alcohol_strength/=sober_str + + var/obj/item/organ/internal/liver/L + if(!isSynthetic()) + L = get_int_organ(/obj/item/organ/internal/liver) + if(L) + alcohol_strength *= L.alcohol_intensity + else + alcohol_strength *= 5 + + if(alcohol_strength >= slur_start) //slurring + if (!slurring) slurring = 1 + slurring = drunk + if(alcohol_strength >= brawl_start) //the drunken martial art + if(!istype(martial_art, /datum/martial_art/drunk_brawling)) + var/datum/martial_art/drunk_brawling/F = new + F.teach(src,1) + if(alcohol_strength < brawl_start) //removing the art + if(istype(martial_art, /datum/martial_art/drunk_brawling)) + martial_art.remove(src) + if(alcohol_strength >= confused_start && prob(33)) //confused walking + if (!confused) confused = 1 + confused = max(confused+(3/sober_str),0) + if(alcohol_strength >= blur_start) //blurry eyes + eye_blurry = max(eye_blurry, 10/sober_str) + drowsyness = max(drowsyness, 0) + if(!isSynthetic()) //stuff only for non-synthetics + if(alcohol_strength >= vomit_start) //vomiting + if(prob(8)) + fakevomit() + if(alcohol_strength >= pass_out) + Paralyse(5 / sober_str) + drowsyness = max(drowsyness, 30/sober_str) + if (L) + L.take_damage(0.1, 1) + adjustToxLoss(0.1) + else //stuff only for synthetics + if(alcohol_strength >= spark_start && prob(25)) + var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread + s.set_up(3, 1, src) + s.start() + if(alcohol_strength >= collapse_start && prob(10)) + emote("collapse") + var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread + s.set_up(3, 1, src) + s.start() + if(alcohol_strength >= braindamage_start && prob(10)) + adjustBrainLoss(1) + + if(!has_booze()) + AdjustDrunk(-0.5) + return + +/mob/living/carbon/human/proc/has_booze() //checks if the human has ethanol or its subtypes inside + for(var/A in reagents.reagent_list) + var/datum/reagent/R = A + if(istype(R, /datum/reagent/ethanol)) + return 1 + return 0 + /mob/living/carbon/human/handle_regular_status_updates() if(status_flags & GODMODE) return 0 diff --git a/code/modules/mob/living/carbon/human/species/station.dm b/code/modules/mob/living/carbon/human/species/station.dm index 9d533b89532..7f5daa824d5 100644 --- a/code/modules/mob/living/carbon/human/species/station.dm +++ b/code/modules/mob/living/carbon/human/species/station.dm @@ -59,6 +59,16 @@ default_hair = "Unathi Horns" butt_sprite = "unathi" + has_organ = list( + "heart" = /obj/item/organ/internal/heart, + "lungs" = /obj/item/organ/internal/lungs, + "liver" = /obj/item/organ/internal/liver/unathi, + "kidneys" = /obj/item/organ/internal/kidneys, + "brain" = /obj/item/organ/internal/brain, + "appendix" = /obj/item/organ/internal/appendix, + "eyes" = /obj/item/organ/internal/eyes, + ) + allowed_consumed_mobs = list(/mob/living/simple_animal/mouse, /mob/living/simple_animal/lizard, /mob/living/simple_animal/chick, /mob/living/simple_animal/chicken, /mob/living/simple_animal/crab, /mob/living/simple_animal/butterfly, /mob/living/simple_animal/parrot, /mob/living/simple_animal/tribble) @@ -116,6 +126,16 @@ default_headacc = "Tajaran Ears" butt_sprite = "tajaran" + has_organ = list( + "heart" = /obj/item/organ/internal/heart, + "lungs" = /obj/item/organ/internal/lungs, + "liver" = /obj/item/organ/internal/liver/tajaran, + "kidneys" = /obj/item/organ/internal/kidneys, + "brain" = /obj/item/organ/internal/brain, + "appendix" = /obj/item/organ/internal/appendix, + "eyes" = /obj/item/organ/internal/eyes, + ) + allowed_consumed_mobs = list(/mob/living/simple_animal/mouse, /mob/living/simple_animal/chick, /mob/living/simple_animal/butterfly, /mob/living/simple_animal/parrot, /mob/living/simple_animal/tribble) @@ -161,6 +181,16 @@ base_color = "#B43214" butt_sprite = "vulp" + has_organ = list( + "heart" = /obj/item/organ/internal/heart, + "lungs" = /obj/item/organ/internal/lungs, + "liver" = /obj/item/organ/internal/liver/vulpkanin, + "kidneys" = /obj/item/organ/internal/kidneys, + "brain" = /obj/item/organ/internal/brain, + "appendix" = /obj/item/organ/internal/appendix, + "eyes" = /obj/item/organ/internal/eyes, + ) + allowed_consumed_mobs = list(/mob/living/simple_animal/mouse, /mob/living/simple_animal/lizard, /mob/living/simple_animal/chick, /mob/living/simple_animal/chicken, /mob/living/simple_animal/crab, /mob/living/simple_animal/butterfly, /mob/living/simple_animal/parrot, /mob/living/simple_animal/tribble) @@ -293,7 +323,7 @@ has_organ = list( "heart" = /obj/item/organ/internal/heart, "lungs" = /obj/item/organ/internal/lungs, - "liver" = /obj/item/organ/internal/liver, + "liver" = /obj/item/organ/internal/liver/vox, "kidneys" = /obj/item/organ/internal/kidneys, "brain" = /obj/item/organ/internal/brain, "appendix" = /obj/item/organ/internal/appendix, @@ -454,6 +484,16 @@ reagent_tag = PROCESS_ORG butt_sprite = "kidan" + has_organ = list( + "heart" = /obj/item/organ/internal/heart, + "lungs" = /obj/item/organ/internal/lungs, + "liver" = /obj/item/organ/internal/liver/kidan, + "kidneys" = /obj/item/organ/internal/kidneys, + "brain" = /obj/item/organ/internal/brain, + "appendix" = /obj/item/organ/internal/appendix, + "eyes" = /obj/item/organ/internal/eyes, + ) + allowed_consumed_mobs = list(/mob/living/simple_animal/diona) suicide_messages = list( @@ -658,6 +698,16 @@ eyes = "grey_eyes_s" butt_sprite = "grey" + has_organ = list( + "heart" = /obj/item/organ/internal/heart, + "lungs" = /obj/item/organ/internal/lungs, + "liver" = /obj/item/organ/internal/liver/grey, + "kidneys" = /obj/item/organ/internal/kidneys, + "brain" = /obj/item/organ/internal/brain, + "appendix" = /obj/item/organ/internal/appendix, + "eyes" = /obj/item/organ/internal/eyes, + ) + brute_mod = 1.25 //greys are fragile default_genes = list(REMOTE_TALK) @@ -880,4 +930,4 @@ spawn(100) if(H) H.update_hair() - H.update_fhair() \ No newline at end of file + H.update_fhair() diff --git a/code/modules/mob/living/life.dm b/code/modules/mob/living/life.dm index 85526945b54..82f865621da 100644 --- a/code/modules/mob/living/life.dm +++ b/code/modules/mob/living/life.dm @@ -114,6 +114,7 @@ handle_paralysed() handle_sleeping() handle_slowed() + handle_drunk() /mob/living/proc/handle_stunned() @@ -168,6 +169,11 @@ slowed = max(slowed-1, 0) return slowed +/mob/living/proc/handle_drunk() + if(drunk) + AdjustDrunk(-1) + return drunk + /mob/living/proc/handle_disabilities() //Eyes if(sdisabilities & BLIND || stat) //blindness from disability or unconsciousness doesn't get better on its own @@ -323,4 +329,4 @@ if(client) var/client/C = client for(var/mob/living/carbon/human/H in view(src, world.view)) - C.images += H.hud_list[NATIONS_HUD] \ No newline at end of file + C.images += H.hud_list[NATIONS_HUD] diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 872350d6d9e..b82cf48c22e 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -1094,6 +1094,9 @@ var/list/slot_equipment_priority = list( \ /mob/proc/Dizzy(amount) dizziness = max(dizziness, amount, 0) +/mob/proc/AdjustDrunk(amount) + drunk = max(drunk + amount, 0) + /mob/proc/Stun(amount) SetStunned(max(stunned, amount)) diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index bc09aa11a1b..d235595a8f9 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -63,6 +63,7 @@ var/ajourn = 0 var/druggy = 0 //Carbon var/confused = 0 //Carbon + var/drunk = 0 var/antitoxs = null var/plasma = null var/sleeping = 0 //Carbon diff --git a/code/modules/reagents/newchem/drinks.dm b/code/modules/reagents/newchem/drinks.dm index c09b1a06fba..a9912f8722b 100644 --- a/code/modules/reagents/newchem/drinks.dm +++ b/code/modules/reagents/newchem/drinks.dm @@ -36,9 +36,6 @@ id = "applejack" description = "A highly concentrated alcoholic beverage made by repeatedly freezing cider and removing the ice." color = "#997A00" - slur_start = 30 - brawl_start = 40 - confused_start = 100 alcohol_perc = 0.4 /datum/chemical_reaction/applejack @@ -120,14 +117,7 @@ color = "#1BB1FF" process_flags = ORGANIC | SYNTHETIC metabolization_rate = 0.4 - vomit_start = INFINITY // - blur_start = INFINITY // - pass_out = INFINITY //INFINITY, so that IPCs don't puke and stuff - var/spark_start = 50 //amount absorbed after which mob starts sparking - var/collapse_start = 80 //amount absorbed after wich mob starts sparking and collapsing (DOUBLE THE SPARKS, DOUBLE THE FUN) - var/braindamage_start = 250 //amount absorbed after which mob starts taking a small amount of brain damage - - + alcohol_perc = 0.5 /datum/chemical_reaction/synthanol name = "Synthanol" @@ -139,26 +129,7 @@ mix_sound = 'sound/goonstation/misc/drinkfizz.ogg' /datum/reagent/ethanol/synthanol/on_mob_life(var/mob/living/M as mob, var/alien) - - var/d = 0 - // make all the beverages work together - for(var/datum/reagent/ethanol/synthanol/A in holder.reagent_list) - if(isnum(A.current_cycle)) d += A.current_cycle * A.alcohol_perc - - if(M.isSynthetic()) //works normally on synthetics - if(d >= spark_start && prob(25)) - var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread - s.set_up(3, 1, M) - s.start() - if(d >= collapse_start && prob(10)) - M.emote("collapse") - var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread - s.set_up(3, 1, M) - s.start() - if(d >= braindamage_start && prob(10)) - M.adjustBrainLoss(1) - - else + if(!M.isSynthetic()) holder.remove_reagent(id, 3.6) //gets removed from organics very fast if(prob(25)) holder.remove_reagent(id, 15) @@ -179,7 +150,7 @@ datum/reagent/ethanol/synthanol/reaction_mob(var/mob/M, var/method=TOUCH, var/vo description = "An oily substance that an IPC could technically consider a 'drink'." reagent_state = LIQUID color = "#363636" - alcohol_perc = 0.5 + alcohol_perc = 0.25 /datum/chemical_reaction/synthanol/robottears name = "Robot Tears" @@ -195,7 +166,7 @@ datum/reagent/ethanol/synthanol/reaction_mob(var/mob/M, var/method=TOUCH, var/vo description = "A fruit drink meant only for synthetics, however that works." reagent_state = LIQUID color = "#adb21f" - alcohol_perc = 0.3 + alcohol_perc = 0.2 /datum/chemical_reaction/synthanol/trinary name = "Trinary" @@ -211,7 +182,7 @@ datum/reagent/ethanol/synthanol/reaction_mob(var/mob/M, var/method=TOUCH, var/vo description = "A drink containing some organic ingredients, but meant only for synthetics." reagent_state = LIQUID color = "#5b3210" - alcohol_perc = 0.5 + alcohol_perc = 0.25 /datum/chemical_reaction/synthanol/servo name = "Servo" @@ -227,7 +198,7 @@ datum/reagent/ethanol/synthanol/reaction_mob(var/mob/M, var/method=TOUCH, var/vo description = "A potent mix of alcohol and synthanol. Will only work on synthetics." reagent_state = LIQUID color = "#e7ae04" - alcohol_perc = 0.2 + alcohol_perc = 0.15 /datum/chemical_reaction/synthanol/uplink name = "Uplink" @@ -242,7 +213,7 @@ datum/reagent/ethanol/synthanol/reaction_mob(var/mob/M, var/method=TOUCH, var/vo description = "The classic drink adjusted for a robot's tastes." reagent_state = LIQUID color = "#7204e7" - alcohol_perc = 0.5 + alcohol_perc = 0.25 /datum/chemical_reaction/synthanol/synthnsoda name = "Synth 'n Soda" @@ -257,7 +228,7 @@ datum/reagent/ethanol/synthanol/reaction_mob(var/mob/M, var/method=TOUCH, var/vo description = "Someone mixed wine and alcohol for robots. Hope you're proud of yourself." reagent_state = LIQUID color = "#d004e7" - alcohol_perc = 0.5 + alcohol_perc = 0.25 /datum/chemical_reaction/synthanol/synthignon name = "Synthignon" diff --git a/code/modules/reagents/newchem/medicine.dm b/code/modules/reagents/newchem/medicine.dm index 33f04d5e6a8..a1e990ec51e 100644 --- a/code/modules/reagents/newchem/medicine.dm +++ b/code/modules/reagents/newchem/medicine.dm @@ -774,6 +774,7 @@ datum/reagent/antihol datum/reagent/antihol/on_mob_life(var/mob/living/M as mob) M.slurring = 0 + M.AdjustDrunk(-4) M.reagents.remove_all_type(/datum/reagent/ethanol, 8, 0, 1) if(M.toxloss <= 25) M.adjustToxLoss(-2.0) @@ -1059,4 +1060,4 @@ datum/reagent/medicine/syndicate_nanites/on_mob_life(mob/living/M) M.adjustBrainLoss(-15*REM) M.adjustCloneLoss(-3*REM) ..() - return \ No newline at end of file + return diff --git a/code/modules/reagents/oldchem/chemical_reaction/chemical_reaction_drink.dm b/code/modules/reagents/oldchem/chemical_reaction/chemical_reaction_drink.dm index c394af15a4e..10b5ff13344 100644 --- a/code/modules/reagents/oldchem/chemical_reaction/chemical_reaction_drink.dm +++ b/code/modules/reagents/oldchem/chemical_reaction/chemical_reaction_drink.dm @@ -156,8 +156,8 @@ name = "Cuba Libre" id = "cubalibre" result = "cubalibre" - required_reagents = list("rum" = 2, "cola" = 1) - result_amount = 3 + required_reagents = list("rum" = 2, "cola" = 2, "limejuice" = 1) + result_amount = 5 mix_sound = 'sound/goonstation/misc/drinkfizz.ogg' /datum/chemical_reaction/mojito @@ -675,4 +675,4 @@ result = "rewriter" required_reagents = list("spacemountainwind" = 1, "coffee" = 1) result_amount = 2 - mix_sound = 'sound/goonstation/misc/drinkfizz.ogg' \ No newline at end of file + mix_sound = 'sound/goonstation/misc/drinkfizz.ogg' diff --git a/code/modules/reagents/oldchem/reagents/drink/reagents_alcohol.dm b/code/modules/reagents/oldchem/reagents/drink/reagents_alcohol.dm index 82d46d60519..a40345ffaac 100644 --- a/code/modules/reagents/oldchem/reagents/drink/reagents_alcohol.dm +++ b/code/modules/reagents/oldchem/reagents/drink/reagents_alcohol.dm @@ -7,64 +7,13 @@ nutriment_factor = 0 //So alcohol can fill you up! If they want to. color = "#404030" // rgb: 64, 64, 48 can_grow_in_plants = 0 //Alcoholic drinks won't be grown in plants (would "water down" random seed chems too much) - var/datum/martial_art/drunk_brawling/F = new var/dizzy_adj = 3 - var/slurr_adj = 3 - var/confused_adj = 2 - var/slur_start = 20 //amount absorbed after which mob starts slurring - var/brawl_start = 25 //amount absorbed after which mob switches to drunken brawling as a fighting style - var/confused_start = 30 //amount absorbed after which mob starts confusing directions - var/vomit_start = 45 //amount absorbed after which mob starts vomitting - var/blur_start = 70 //amount absorbed after which mob starts getting blurred vision - var/pass_out = 90 //amount absorbed after which mob starts passing out var/alcohol_perc = 1 //percentage of ethanol in a beverage 0.0 - 1.0 /datum/reagent/ethanol/on_mob_life(var/mob/living/M as mob, var/alien) - // Sobering multiplier. - // Sober block makes it more difficult to get drunk - var/sober_str=!(SOBER in M.mutations)?1:2 M.nutrition += nutriment_factor - - var/d = 0 - // make all the beverages work together - for(var/datum/reagent/ethanol/A in holder.reagent_list) - if(isnum(A.current_cycle)) d += A.current_cycle * A.alcohol_perc - - d/=sober_str - - var/obj/item/organ/internal/liver/L - if(ishuman(M) && !M.isSynthetic()) - var/mob/living/carbon/human/H = M - L = H.get_int_organ(/obj/item/organ/internal/liver) - d *= L ? L.alcohol_intensity : 5 - - M.dizziness += dizzy_adj. - if(d >= slur_start && d < pass_out) - if (!M.slurring) M.slurring = 1 - M.slurring += slurr_adj/sober_str - if(d >= brawl_start && ishuman(M)) - var/mob/living/carbon/human/H = M - F.teach(H,1) - if(src.volume < 3) - if(H.martial_art == F) - F.remove(H) - if(d >= confused_start && prob(33)) - if (!M.confused) M.confused = 1 - M.confused = max(M.confused+(confused_adj/sober_str),0) - if(d >= blur_start) - M.eye_blurry = max(M.eye_blurry, 10/sober_str) - M.drowsyness = max(M.drowsyness, 0) - if(d >= vomit_start) - if(prob(8)) - M.fakevomit() - if(d >= pass_out) - M.Paralyse(20 / sober_str) - M.drowsyness = max(M.drowsyness, 30/sober_str) - if(ishuman(M)) - var/mob/living/carbon/human/H = M - if (L) - L.take_damage(0.1, 1) - H.adjustToxLoss(0.1) + M.AdjustDrunk(alcohol_perc) + M.dizziness += dizzy_adj ..() return @@ -97,7 +46,7 @@ description = "An alcoholic beverage made from malted grains, hops, yeast, and water." nutriment_factor = 2 * FOOD_METABOLISM color = "#664300" // rgb: 102, 67, 0 - alcohol_perc = 0.1 + alcohol_perc = 0.2 /datum/reagent/ethanol/beer/on_mob_life(var/mob/living/M as mob) ..() @@ -109,7 +58,7 @@ id = "cider" description = "An alcoholic beverage derived from apples." color = "#174116" - alcohol_perc = 0.1 + alcohol_perc = 0.2 /datum/reagent/ethanol/whiskey name = "Whiskey" @@ -174,7 +123,7 @@ id = "mojito" description = "If it's good enough for Spesscuba, it's good enough for you." color = "#664300" // rgb: 102, 67, 0 - alcohol_perc = 0.1 + alcohol_perc = 0.2 /datum/reagent/ethanol/vodka name = "Vodka" @@ -226,8 +175,6 @@ description = "An unbelievably strong and potent variety of Cider." color = "#CF3811" dizzy_adj = 20 - slurr_adj = 20 - confused_adj = 3 alcohol_perc = 1 //because that's a thing it's supposed to do, I guess /datum/reagent/ethanol/ale @@ -265,7 +212,7 @@ description = "This appears to be beer mixed with milk. Disgusting." reagent_state = LIQUID color = "#895C4C" // rgb: 137, 92, 76 - alcohol_perc = 0.1 + alcohol_perc = 0.2 /datum/reagent/ethanol/atomicbomb name = "Atomic Bomb" @@ -429,7 +376,7 @@ description = "Beer and Ale, brought together in a delicious mix. Intended for true men only." reagent_state = LIQUID color = "#664300" // rgb: 102, 67, 0 - alcohol_perc = 0.1 + alcohol_perc = 0.2 /datum/reagent/ethanol/longislandicedtea name = "Long Island Iced Tea" @@ -517,7 +464,7 @@ description = "Barefoot and pregnant" reagent_state = LIQUID color = "#664300" // rgb: 102, 67, 0 - alcohol_perc = 0.1 + alcohol_perc = 0.2 /datum/reagent/ethanol/snowwhite name = "Snow White" @@ -525,7 +472,7 @@ description = "A cold refreshment" reagent_state = LIQUID color = "#664300" // rgb: 102, 67, 0 - alcohol_perc = 0.1 + alcohol_perc = 0.2 /datum/reagent/ethanol/demonsblood name = "Demons Blood" @@ -534,7 +481,6 @@ reagent_state = LIQUID color = "#664300" // rgb: 102, 67, 0 dizzy_adj = 10 - slurr_adj = 10 alcohol_perc = 0.4 /datum/reagent/ethanol/vodkatonic @@ -544,7 +490,6 @@ reagent_state = LIQUID color = "#664300" // rgb: 102, 67, 0 dizzy_adj = 4 - slurr_adj = 3 alcohol_perc = 0.3 /datum/reagent/ethanol/ginfizz @@ -554,7 +499,6 @@ reagent_state = LIQUID color = "#664300" // rgb: 102, 67, 0 dizzy_adj = 4 - slurr_adj = 3 alcohol_perc = 0.4 /datum/reagent/ethanol/bahama_mama @@ -563,7 +507,7 @@ description = "Tropic cocktail." reagent_state = LIQUID color = "#664300" // rgb: 102, 67, 0 - alcohol_perc = 0.1 + alcohol_perc = 0.2 /datum/reagent/ethanol/singulo name = "Singulo" @@ -572,7 +516,6 @@ reagent_state = LIQUID color = "#2E6671" // rgb: 46, 102, 113 dizzy_adj = 15 - slurr_adj = 15 alcohol_perc = 0.7 /datum/reagent/ethanol/sbiten @@ -603,7 +546,7 @@ description = "The true Viking drink! Even though it has a strange red color." reagent_state = LIQUID color = "#664300" // rgb: 102, 67, 0 - alcohol_perc = 0.1 + alcohol_perc = 0.2 /datum/reagent/ethanol/mead name = "Mead" @@ -611,7 +554,7 @@ description = "A Vikings drink, though a cheap one." reagent_state = LIQUID color = "#664300" // rgb: 102, 67, 0 - alcohol_perc = 0.1 + alcohol_perc = 0.2 /datum/reagent/ethanol/iced_beer name = "Iced Beer" @@ -619,7 +562,7 @@ description = "A beer which is so cold the air around it freezes." reagent_state = LIQUID color = "#664300" // rgb: 102, 67, 0 - alcohol_perc = 0.1 + alcohol_perc = 0.2 /datum/reagent/ethanol/iced_beer/on_mob_life(var/mob/living/M as mob) ..() @@ -685,16 +628,10 @@ /datum/reagent/ethanol/neurotoxin/on_mob_life(var/mob/living/M as mob) M.weakened = max(M.weakened, 3) - M.dizziness +=6 - if(current_cycle >= 15 && current_cycle <45) - if (!M.slurring) - M.slurring = 1 - M.slurring += 3 - else if(current_cycle >= 45 && prob(50) && current_cycle <55) - M.confused = max(M.confused+3,0) - else if(current_cycle >=55) + dizzy_adj = 6 + if(current_cycle >=55) M.druggy = max(M.druggy, 55) - else if(current_cycle >=200) + if(current_cycle >=200) M.adjustToxLoss(2) ..() return @@ -739,7 +676,7 @@ description = "The surprise is, it's green!" reagent_state = LIQUID color = "#2E6671" // rgb: 46, 102, 113 - alcohol_perc = 0.1 + alcohol_perc = 0.2 /datum/reagent/ethanol/driestmartini name = "Driest Martini" @@ -754,8 +691,6 @@ if(current_cycle >= 55 && current_cycle <115) if (!M.stuttering) M.stuttering = 1 M.stuttering += 10 - else if(current_cycle >= 115 && prob(33)) - M.confused = max(M.confused+15,15) ..() return diff --git a/code/modules/surgery/organs/subtypes/diona.dm b/code/modules/surgery/organs/subtypes/diona.dm index 5d2bf63035b..9cf0a1020cc 100644 --- a/code/modules/surgery/organs/subtypes/diona.dm +++ b/code/modules/surgery/organs/subtypes/diona.dm @@ -169,6 +169,7 @@ icon = 'icons/mob/alien.dmi' icon_state = "claw" slot = "liver" + alcohol_intensity = 0.5 //TODO:Make absorb light on insert. diff --git a/code/modules/surgery/organs/subtypes/drask.dm b/code/modules/surgery/organs/subtypes/drask.dm index 3e9b37cebe8..e76f557088e 100644 --- a/code/modules/surgery/organs/subtypes/drask.dm +++ b/code/modules/surgery/organs/subtypes/drask.dm @@ -31,6 +31,7 @@ organ_tag = "kidneys" parent_organ = "groin" slot = "kidneys" + alcohol_intensity = 0.8 /obj/item/organ/internal/brain/drask name = "brain" @@ -49,4 +50,4 @@ organ_tag = "eyes" parent_organ = "head" slot = "eyes" - desc = "Drask eyes. They look even stranger disembodied" \ No newline at end of file + desc = "Drask eyes. They look even stranger disembodied" diff --git a/code/modules/surgery/organs/subtypes/grey.dm b/code/modules/surgery/organs/subtypes/grey.dm new file mode 100644 index 00000000000..45798486d4f --- /dev/null +++ b/code/modules/surgery/organs/subtypes/grey.dm @@ -0,0 +1,2 @@ +/obj/item/organ/internal/liver/grey + alcohol_intensity = 1.6 diff --git a/code/modules/surgery/organs/subtypes/kidan.dm b/code/modules/surgery/organs/subtypes/kidan.dm new file mode 100644 index 00000000000..2866e3904fb --- /dev/null +++ b/code/modules/surgery/organs/subtypes/kidan.dm @@ -0,0 +1,2 @@ +/obj/item/organ/internal/liver/kidan + alcohol_intensity = 0.5 diff --git a/code/modules/surgery/organs/subtypes/skrell.dm b/code/modules/surgery/organs/subtypes/skrell.dm index faf58b7a3ef..78c43c3a370 100644 --- a/code/modules/surgery/organs/subtypes/skrell.dm +++ b/code/modules/surgery/organs/subtypes/skrell.dm @@ -1,2 +1,2 @@ /obj/item/organ/internal/liver/skrell - alcohol_intensity = 5 \ No newline at end of file + alcohol_intensity = 4 diff --git a/code/modules/surgery/organs/subtypes/tajaran.dm b/code/modules/surgery/organs/subtypes/tajaran.dm new file mode 100644 index 00000000000..462c94be822 --- /dev/null +++ b/code/modules/surgery/organs/subtypes/tajaran.dm @@ -0,0 +1,2 @@ +/obj/item/organ/internal/liver/tajaran + alcohol_intensity = 1.4 diff --git a/code/modules/surgery/organs/subtypes/unathi.dm b/code/modules/surgery/organs/subtypes/unathi.dm new file mode 100644 index 00000000000..5f204ab1750 --- /dev/null +++ b/code/modules/surgery/organs/subtypes/unathi.dm @@ -0,0 +1,2 @@ +/obj/item/organ/internal/liver/unathi + alcohol_intensity = 0.8 diff --git a/code/modules/surgery/organs/subtypes/vox.dm b/code/modules/surgery/organs/subtypes/vox.dm new file mode 100644 index 00000000000..c5e86640364 --- /dev/null +++ b/code/modules/surgery/organs/subtypes/vox.dm @@ -0,0 +1,2 @@ +/obj/item/organ/internal/liver/vox + alcohol_intensity = 1.6 diff --git a/code/modules/surgery/organs/subtypes/vulpkanin.dm b/code/modules/surgery/organs/subtypes/vulpkanin.dm new file mode 100644 index 00000000000..30b8d51f667 --- /dev/null +++ b/code/modules/surgery/organs/subtypes/vulpkanin.dm @@ -0,0 +1,2 @@ +/obj/item/organ/internal/liver/vulpkanin + alcohol_intensity = 1.4 diff --git a/paradise.dme b/paradise.dme index 043f4208d45..4e9794a5950 100644 --- a/paradise.dme +++ b/paradise.dme @@ -2012,12 +2012,18 @@ #include "code\modules\surgery\organs\wound.dm" #include "code\modules\surgery\organs\subtypes\diona.dm" #include "code\modules\surgery\organs\subtypes\drask.dm" +#include "code\modules\surgery\organs\subtypes\grey.dm" +#include "code\modules\surgery\organs\subtypes\kidan.dm" #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\tajaran.dm" +#include "code\modules\surgery\organs\subtypes\unathi.dm" #include "code\modules\surgery\organs\subtypes\unbreakable.dm" +#include "code\modules\surgery\organs\subtypes\vox.dm" +#include "code\modules\surgery\organs\subtypes\vulpkanin.dm" #include "code\modules\surgery\organs\subtypes\wryn.dm" #include "code\modules\surgery\organs\subtypes\xenos.dm" #include "code\modules\telesci\bscrystal.dm"