diff --git a/code/__DEFINES/is_helpers.dm b/code/__DEFINES/is_helpers.dm index 0f5e52f69e..97717f4463 100644 --- a/code/__DEFINES/is_helpers.dm +++ b/code/__DEFINES/is_helpers.dm @@ -68,9 +68,14 @@ GLOBAL_LIST_INIT(turfs_without_ground, typecacheof(list( #define isdwarf(A) (is_species(A, /datum/species/dwarf)) #define isdullahan(A) (is_species(A, /datum/species/dullahan)) #define isangel(A) (is_species(A, /datum/species/angel)) +#define isvampire(A) (is_species(A, /datum/species/vampire)) +#define ismush(A) (is_species(A, /datum/species/mush)) +#define isshadow(A) (is_species(A, /datum/species/shadow)) +#define isskeleton(A) (is_species(A, /datum/species/skeleton)) // Citadel specific species #define isipcperson(A) (is_species(A, /datum/species/ipc)) +#define issynthliz(A) (is_species(A, /datum/species/synthliz)) #define ismammal(A) (is_species(A, /datum/species/mammal)) #define isavian(A) (is_species(A, /datum/species/avian)) #define isaquatic(A) (is_species(A, /datum/species/aquatic)) diff --git a/code/modules/food_and_drinks/recipes/drinks_recipes.dm b/code/modules/food_and_drinks/recipes/drinks_recipes.dm index 9754b46773..a02013e7d3 100644 --- a/code/modules/food_and_drinks/recipes/drinks_recipes.dm +++ b/code/modules/food_and_drinks/recipes/drinks_recipes.dm @@ -920,75 +920,75 @@ /datum/chemical_reaction/coldscales name = "Cold Scales" - id = /datum/reagent/consumable/coldscales - results = list(/datum/reagent/consumable/coldscales = 3) + id = /datum/reagent/consumable/ethanol/coldscales + results = list(/datum/reagent/consumable/ethanol/coldscales = 3) required_reagents = list(/datum/reagent/consumable/tea = 1, /datum/reagent/consumable/ethanol/lizardwine = 1, /datum/reagent/consumable/menthol = 1) /datum/chemical_reaction/oil_drum name = "Oil Drum" - id = /datum/reagent/consumable/oil_drum - results = list(/datum/reagent/consumable/oil_drum = 3) + id = /datum/reagent/consumable/ethanol/oil_drum + results = list(/datum/reagent/consumable/ethanol/oil_drum = 3) required_reagents = list(/datum/reagent/consumable/ethanol = 1, /datum/reagent/oil = 1, /datum/reagent/consumable/ethanol/champagne = 12) /datum/chemical_reaction/nord_king name = "Nord King" - id = /datum/reagent/consumable/nord_king - results = list(/datum/reagent/consumable/nord_king = 10) + id = /datum/reagent/consumable/ethanol/nord_king + results = list(/datum/reagent/consumable/ethanol/nord_king = 10) required_reagents = list(/datum/reagent/consumable/ethanol = 5, /datum/reagent/consumable/honey = 1, /datum/reagent/consumable/ethanol/red_mead = 10) /datum/chemical_reaction/velvet_kiss name = "Velvet Kiss" - id = /datum/reagent/consumable/velvet_kiss - results = list(/datum/reagent/consumable/velvet_kiss = 15) //Limited races use this + id = /datum/reagent/consumable/ethanol/velvet_kiss + results = list(/datum/reagent/consumable/ethanol/velvet_kiss = 15) //Limited races use this required_reagents = list(/datum/reagent/blood = 5, /datum/reagent/consumable/tea = 1, /datum/reagent/consumable/ethanol/wine = 10) /datum/chemical_reaction/abduction_fruit name = "Abduction Fruit" - id = /datum/reagent/consumable/abduction_fruit - results = list(/datum/reagent/consumable/abduction_fruit = 3) + id = /datum/reagent/consumable/ethanol/abduction_fruit + results = list(/datum/reagent/consumable/ethanol/abduction_fruit = 3) required_reagents = list(/datum/reagent/consumable/limejuice = 10, /datum/reagent/consumable/strawberryjuice = 5, /datum/reagent/consumable/watermelonjuice = 10) /datum/chemical_reaction/bug_zapper name = "Bug Zapper" - id = /datum/reagent/consumable/bug_zapper - results = list(/datum/reagent/consumable/bug_zapper = 20) //Harder to make + id = /datum/reagent/consumable/ethanol/bug_zapper + results = list(/datum/reagent/consumable/ethanol/bug_zapper = 20) //Harder to make required_reagents = list(/datum/reagent/consumable/lemonjuice = 10, /datum/reagent/teslium = 1, /datum/reagent/copper = 10) /datum/chemical_reaction/mush_crush name = "Mush Crush" - id = /datum/reagent/consumable/mush_crush - results = list(/datum/reagent/consumable/mush_crush = 10) + id = /datum/reagent/consumable/ethanol/mush_crush + results = list(/datum/reagent/consumable/ethanol/mush_crush = 10) required_reagents = list(/datum/reagent/iron = 5, /datum/reagent/water = 5, /datum/reagent/toxin/coffeepowder = 10) /datum/chemical_reaction/darkbrew name = "Darkbrew" - id = /datum/reagent/consumable/darkbrew - results = list(/datum/reagent/consumable/darkbrew = 20)//Limited races use this + id = /datum/reagent/consumable/ethanol/darkbrew + results = list(/datum/reagent/consumable/ethanol/darkbrew = 20)//Limited races use this required_reagents = list(/datum/reagent/liquid_dark_matter = 5, /datum/reagent/toxin/bungotoxin = 5, /datum/reagent/toxin/coffeepowder = 10) /datum/chemical_reaction/hollow_bone name = "Hollow Bone" - id = /datum/reagent/consumable/hollow_bone - results = list(/datum/reagent/consumable/hollow_bone = 10) + id = /datum/reagent/consumable/ethanol/hollow_bone + results = list(/datum/reagent/consumable/ethanol/hollow_bone = 10) required_reagents = list(/datum/reagent/toxin/bonehurtingjuice = 5, /datum/reagent/consumable/milk = 10, /datum/reagent/consumable/coconutmilk = 10) /datum/chemical_reaction/frisky_kitty name = "Frisky Kitty" - id = /datum/reagent/consumable/frisky_kitty - results = list(/datum/reagent/consumable/frisky_kitty = 2) + id = /datum/reagent/consumable/ethanol/frisky_kitty + results = list(/datum/reagent/consumable/ethanol/frisky_kitty = 2) required_reagents = list(/datum/reagent/consumable/catnip_tea = 1, /datum/reagent/consumable/milk = 1) required_temp = 296 //Just above room temp (22.85'C) /datum/chemical_reaction/jell_wyrm name = "Jell Wyrm" - id = /datum/reagent/consumable/jell_wyrm - results = list(/datum/reagent/consumable/jell_wyrm = 2) + id = /datum/reagent/consumable/ethanol/jell_wyrm + results = list(/datum/reagent/consumable/ethanol/jell_wyrm = 2) required_reagents = list(/datum/reagent/toxin/slimejelly = 1, /datum/reagent/toxin/carpotoxin = 1, /datum/reagent/carbondioxide = 5) required_temp = 333 // (59.85'C) /datum/chemical_reaction/laval_spit name = "Laval Spit" - id = /datum/reagent/consumable/laval_spit - results = list(/datum/reagent/consumable/laval_spit = 20) //Limited use + id = /datum/reagent/consumable/ethanol/laval_spit + results = list(/datum/reagent/consumable/ethanol/laval_spit = 20) //Limited use required_reagents = list(/datum/reagent/iron = 5, /datum/reagent/consumable/ethanol/mauna_loa = 10, /datum/reagent/sulfur = 5) required_temp = 900 // (626.85'C) diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm index b7f32421aa..f9fd1d7727 100644 --- a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm @@ -1646,7 +1646,7 @@ All effects don't start immediately, but rather get worse over time; the rate is glass_icon_state = "pina_colada" glass_name = "Pina Colada" glass_desc = "If you like pina coladas, and getting caught in the rain... well, you'll like this drink." - + /datum/reagent/consumable/ethanol/grasshopper name = "Grasshopper" description = "A fresh and sweet dessert shooter. Difficult to look manly while drinking this." @@ -2354,7 +2354,220 @@ All effects don't start immediately, but rather get worse over time; the rate is /datum/reagent/consumable/ethanol/hotlime_miami/on_mob_life(mob/living/carbon/M) M.set_drugginess(50) M.adjustStaminaLoss(-2) - return ..() + return ..() + +//////////////////// +//Race-Base-Drinks// +//////////////////// + +/datum/reagent/consumable/ethanol/coldscales + name = "Coldscales" + color = "#5AEB52" //(90, 235, 82) + description = "A cold looking drink made for people with scales." + boozepwr = 50 //strong! + taste_description = "dead flies" + glass_icon_state = "coldscales" + glass_name = "glass of Coldscales" + glass_desc = "A soft green drink that looks inviting!" + +/datum/reagent/consumable/ethanol/coldscales/on_mob_life(mob/living/carbon/M) + if(islizard(M)) + quality = RACE_DRINK + else + M.adjust_disgust(25) + return ..() + +/datum/reagent/consumable/ethanol/oil_drum + name = "Oil Drum" + color = "#000000" //(0, 0, 0) + description = "Industeral grade oil mixed with some ethanol to make it a drink. Somehow not known to be toxic." + boozepwr = 45 + taste_description = "oil spill" + glass_icon_state = "oil_drum" + glass_name = "Drum of oil" + glass_desc = "A gray can of booze and oil..." + +/datum/reagent/consumable/ethanol/oil_drum/on_mob_life(mob/living/carbon/M) + if(isipcperson(M) || issynthliz(M)) + quality = RACE_DRINK + else + M.adjust_disgust(25) + return ..() + +/datum/reagent/consumable/ethanol/nord_king + name = "Nord King" + color = "#EB1010" //(235, 16, 16) + description = "Strong mead mixed with more honey and ethanol. Known to beloved by most pallets." + boozepwr = 50 //strong! + taste_description = "honey and red wine" + glass_icon_state = "nord_king" + glass_name = "Keg of Nord King" + glass_desc = "A dripping keg of red mead." + +/datum/reagent/consumable/ethanol/nord_king/on_mob_life(mob/living/carbon/M) + if(ishumanbasic(M) || isdwarf(M) || isangel(M)) //Humans and angel races are rare + quality = RACE_DRINK + else + M.adjust_disgust(25) + return ..() + +/datum/reagent/consumable/ethanol/velvet_kiss + name = "Velvet Kiss" + color = "#EB1010" //(235, 16, 16) + description = "A bloody drink mixed with wine." + boozepwr = 10 //weak + taste_description = "iron with grapejuice" + glass_icon_state = "velvet_kiss" + glass_name = "glass of Velvet Kiss" + glass_desc = "Red and white drink for the upper classes or undead." + +/datum/reagent/consumable/ethanol/velvet_kiss/on_mob_life(mob/living/carbon/M) + if(iszombie(M) || isvampire(M) || isdullahan(M)) //Rare races! + quality = RACE_DRINK + else + M.adjust_disgust(25) + return ..() + +/datum/reagent/consumable/ethanol/abduction_fruit + name = "Abduction Fruit" + color = "#DEFACD" //(222, 250, 205) + description = "Mixing of juices to make an alien taste." + boozepwr = 80 //Strong + taste_description = "grass and lime" + glass_icon_state = "abduction_fruit" + glass_name = "glass of Abduction Fruit" + glass_desc = "Mixed fruits that were never ment to be mixed..." + +/datum/reagent/consumable/ethanol/abduction_fruit/on_mob_life(mob/living/carbon/M) + if(isabductor(M) || isxenoperson(M)) + quality = RACE_DRINK + else + M.adjust_disgust(25) + return ..() + +/datum/reagent/consumable/ethanol/bug_zapper + name = "Bug Zapper" + color = "#F5882A" //(222, 250, 205) + description = "Metals and lemon juice. Hardly even a drink." + boozepwr = 5 //No booze really + taste_description = "copper and AC power" + glass_icon_state = "bug_zapper" + glass_name = "glass of Bug Zapper" + glass_desc = "An odd mix of copper, lemon juice and power meant for none-human consumption." + +/datum/reagent/consumable/ethanol/bug_zapper/on_mob_life(mob/living/carbon/M) + if(isinsect(M) || isflyperson(M) || ismoth(M)) + quality = RACE_DRINK + else + M.adjust_disgust(25) + return ..() + +/datum/reagent/consumable/ethanol/mush_crush + name = "Mush Crush" + color = "#F5882A" //(222, 250, 205) + description = "Soil in a glass." + boozepwr = 5 //No booze really + taste_description = "dirt and iron" + glass_icon_state = "mush_crush" + glass_name = "glass of Mush Crush" + glass_desc = "Popular among people that want to grow their own food rather then drink the soil." + +/datum/reagent/consumable/ethanol/mush_crush/on_mob_life(mob/living/carbon/M) + if(ispodperson(M) || ismush(M)) + quality = RACE_DRINK + else + M.adjust_disgust(25) + return ..() + +/datum/reagent/consumable/ethanol/darkbrew + name = "Darkbrew" + color = "#000000" //(0, 0, 0) + description = "Contained and acholic dark matter." + boozepwr = 5 //No booze really + taste_description = "Shadows and coffee trees" + glass_icon_state = "darkbrew" + glass_name = "glass of Darkbrew" + glass_desc = "A pitch black drink that's commonly confused with a type of coffee." + +/datum/reagent/consumable/ethanol/darkbrew/on_mob_life(mob/living/carbon/M) + if(isshadow(M)) + quality = RACE_DRINK + else + M.adjust_disgust(25) + return ..() + +/datum/reagent/consumable/ethanol/hollow_bone + name = "Hollow Bone" + color = "#FCF7D4" //(252, 247, 212) + description = "Shockingly none-harmful mix of toxins and milk." + boozepwr = 15 + taste_description = "Milk and salt" + glass_icon_state = "hollow_bone" + glass_name = "skull of Hollw Bone" + glass_desc = "Mixing of milk and bone hurting juice for enjoyment for rather skinny people." + +/datum/reagent/consumable/ethanol/hollow_bone/on_mob_life(mob/living/carbon/M) + if(isplasmaman(M) || isskeleton(M)) + quality = RACE_DRINK + else + M.adjust_disgust(25) + return ..() + +/datum/reagent/consumable/ethanol/frisky_kitty + name = "Frisky Kitty" + color = "#FCF7D4" //(252, 247, 212) + description = "Warm milk mixed with a catnip." + boozepwr = 0 //No one dont get drunk off milk! + taste_description = "Warm milk and catnip" + glass_icon_state = "frisky_kitty" + glass_name = "cup of Drisky Kitty" + glass_desc = "Warm milk and some catnip." + +/datum/reagent/consumable/ethanol/frisky_kitty/on_mob_life(mob/living/carbon/M) + if(ismammal(M) || iscatperson(M)) //well its not to bad for mammals + quality = RACE_DRINK + else + M.adjust_disgust(25) + return ..() + +/datum/reagent/consumable/ethanol/jell_wyrm + name = "Jell Wyrm" + color = "#FF6200" //(255, 98, 0) + description = "Horrable mix of Co2, toxins and heat. Meant for slime based live." + boozepwr = 40 + taste_description = "tropical sea" + glass_icon_state = "jell_wyrm" + glass_name = "glass of Jell Wyrm" + glass_desc = "A bubbly drink that is rather inviting to those that don't know who is meant for." + +/datum/reagent/consumable/ethanol/jell_wyrm/on_mob_life(mob/living/carbon/M) + if(isjellyperson(M) || isstartjelly(M) || isslimeperson(M) || isluminescent(M)) + quality = RACE_DRINK + else + M.adjust_disgust(25) + M.adjustToxLoss(1, 0) //Low tox do to being carp + jell toxins. + return ..() + +/datum/reagent/consumable/ethanol/laval_spit //Yes Laval + name = "Laval Spit" + color = "#DE3009" //(222, 48, 9) + description = "Heat minerals and some mauna loa. Meant for rock based live." + boozepwr = 30 + taste_description = "tropical island" + glass_icon_state = "laval_spit" + glass_name = "glass of Laval Spit" + glass_desc = "Piping hot drink for those who can stomach the heat of lava." + +/datum/reagent/consumable/ethanol/laval_spit/on_mob_life(mob/living/carbon/M) + if(isgolem(M)) + quality = RACE_DRINK + else + M.adjust_disgust(25) + return ..() + +/////////////// +//Barrle Wine// +/////////////// /datum/reagent/consumable/ethanol/fruit_wine name = "Fruit Wine" diff --git a/code/modules/reagents/chemistry/reagents/drink_reagents.dm b/code/modules/reagents/chemistry/reagents/drink_reagents.dm index d354d030f5..ebbce61c57 100644 --- a/code/modules/reagents/chemistry/reagents/drink_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drink_reagents.dm @@ -1,7 +1,7 @@ ///////////////////////////////////////////////////////////////////////////////////////////////////////// -/////////////////////// DRINKS BELOW, Beer is up there though, along with cola. Cap'n Pete's Cuban Spiced Rum//////////////////////////////// +//////DRINKS BELOW, Beer is up there though, along with cola. Cap'n Pete's Cuban Spiced Rum////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////////// /datum/reagent/consumable/orangejuice @@ -965,12 +965,3 @@ glass_icon_state = "glass_yellow" glass_name = "glass of bungo juice" glass_desc = "Exotic! You feel like you are on vacation already." - -/datum/reagent/consumable/coldscales - name = "Coldscales" - color = "#5AEB52" //(90, 235, 82) - description = "A cold looking drink made for people with scales." - taste_description = "dead flies" - glass_icon_state = "coldscales" - glass_name = "glass of coldscales" - glass_desc = "A soft green drink that looks inviting!" diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm index fa30609c54..5cec2f961c 100644 --- a/code/modules/reagents/chemistry/reagents/food_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm @@ -32,6 +32,8 @@ SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "quality_drink", /datum/mood_event/quality_verygood) if (DRINK_FANTASTIC) SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "quality_drink", /datum/mood_event/quality_fantastic) + if (RACE_DRINK) + SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "quality_drink", /datum/mood_event/race_drink) if (FOOD_AMAZING) SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "quality_food", /datum/mood_event/amazingtaste) return ..() diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index 5e28766cd3..d9b2aafb4b 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -370,8 +370,6 @@ M.stuttering = 0 holder.del_reagent(type) // maybe this is a little too perfect and a max() cap on the statuses would be better?? return - if(isangel(M)) - quality = DRINK_GOOD holder.remove_reagent(type, 0.4) //fixed consumption to prevent balancing going out of whack /datum/reagent/water/holywater/reaction_turf(turf/T, reac_volume)