This commit is contained in:
Ghommie
2020-04-17 21:57:21 +02:00
113 changed files with 4923 additions and 6388 deletions
@@ -2356,6 +2356,219 @@ All effects don't start immediately, but rather get worse over time; the rate is
M.adjustStaminaLoss(-2)
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 palettes."
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 non-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 dark matter mixed with coffee."
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 Hollow 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 = "Horrible mix of Co2, toxins and heat. Meant for slime based life."
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 it's 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 life."
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"
description = "A wine made from grown plants."
@@ -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
@@ -33,6 +33,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 ..()
@@ -507,93 +507,83 @@
/datum/reagent/spraytan/reaction_mob(mob/living/M, method=TOUCH, reac_volume, show_message = 1)
if(ishuman(M))
if(method == PATCH || method == VAPOR)
var/mob/living/carbon/human/N = M
if(N.dna.species.id == "human")
switch(N.skin_tone)
if("african1")
N.skin_tone = "african2"
if("indian")
N.skin_tone = "african1"
if("arab")
N.skin_tone = "indian"
if("asian2")
N.skin_tone = "arab"
if("asian1")
N.skin_tone = "asian2"
if("mediterranean")
N.skin_tone = "african1"
if("latino")
N.skin_tone = "mediterranean"
if("caucasian3")
N.skin_tone = "mediterranean"
if("caucasian2")
N.skin_tone = pick("caucasian3", "latino")
if("caucasian1")
N.skin_tone = "caucasian2"
if ("albino")
N.skin_tone = "caucasian1"
var/mob/living/carbon/human/H = M
if(H.dna.species.use_skintones)
if(!H.dna.skin_tone_override)
var/diff_len = length(GLOB.skin_tones - GLOB.nonstandard_skin_tones)
H.skin_tone = GLOB.skin_tones[min(diff_len, GLOB.skin_tones.Find(H.skin_tone) + 1)]
else
H.skin_tone = H.dna.skin_tone_override = tan_mutant_color(H.dna.skin_tone_override, "#202020")
if(MUTCOLORS in H.dna.species.species_traits) //take current alien color and darken it slightly
H.dna.features["mcolor"] = tan_mutant_color(H.dna.features["mcolor"])
H.update_body()
if(MUTCOLORS in N.dna.species.species_traits) //take current alien color and darken it slightly
var/newcolor = ""
var/string = N.dna.features["mcolor"]
var/len = length(string)
var/char = ""
var/ascii = 0
for(var/i=1, i<=len, i += length(char))
char = string[i]
ascii = text2ascii(char)
switch(ascii)
if(48)
newcolor += "0"
if(49 to 57)
newcolor += ascii2text(ascii-1) //numbers 1 to 9
if(97)
newcolor += "9"
if(98 to 102)
newcolor += ascii2text(ascii-1) //letters b to f lowercase
if(65)
newcolor += "9"
if(66 to 70)
newcolor += ascii2text(ascii+31) //letters B to F - translates to lowercase
else
break
if(ReadHSV(newcolor)[3] >= ReadHSV("#7F7F7F")[3])
N.dna.features["mcolor"] = newcolor
N.regenerate_icons()
if(method == INGEST)
if(show_message)
to_chat(M, "<span class='notice'>That tasted horrible.</span>")
return ..()
/datum/reagent/spraytan/proc/tan_mutant_color(color, limit = "#7F7F7F")
var/newcolor = ""
var/len = length(color)
var/char = ""
var/ascii = 0
for(var/i=1, i<=len, i += length(char))
char = color[i]
ascii = text2ascii(char)
switch(ascii)
if(35)
newcolor += "#"
if(48)
newcolor += "0"
if(49 to 57)
newcolor += ascii2text(ascii-1) //numbers 1 to 9
if(97)
newcolor += "9"
if(98 to 102)
newcolor += ascii2text(ascii-1) //letters b to f lowercase
if(65)
newcolor += "9"
if(66 to 70)
newcolor += ascii2text(ascii+31) //letters B to F - translates to lowercase
else
break
if(ReadHSV(newcolor)[3] >= ReadHSV(limit)[3])
return newcolor
return color
if(method == INGEST)
if(show_message)
to_chat(M, "<span class='notice'>That tasted horrible.</span>")
..()
/datum/reagent/spraytan/overdose_start(mob/living/M)
. = ..()
if(ishuman(M))
var/mob/living/carbon/human/H = M
H.hair_style = "Spiky"
H.facial_hair_style = "Shaved"
H.facial_hair_color = "000"
H.hair_color = "000"
if(!(HAIR in H.dna.species.species_traits)) //No hair? No problem!
H.dna.species.species_traits += HAIR
if(H.dna.species.use_skintones)
if(H.dna.skin_tone_override)
H.skin_tone = H.dna.skin_tone_override = "#FF8800"
else
H.skin_tone = "orange"
else if(MUTCOLORS in H.dna.species.species_traits) //Aliens with custom colors simply get turned orange
H.dna.features["mcolor"] = "f80"
H.update_body()
/datum/reagent/spraytan/overdose_process(mob/living/M)
metabolization_rate = 1 * REAGENTS_METABOLISM
if(ishuman(M))
var/mob/living/carbon/human/N = M
N.hair_style = "Spiky"
N.facial_hair_style = "Shaved"
N.facial_hair_color = "000"
N.hair_color = "000"
if(!(HAIR in N.dna.species.species_traits)) //No hair? No problem!
N.dna.species.species_traits += HAIR
if(N.dna.species.use_skintones)
N.skin_tone = "orange"
else if(MUTCOLORS in N.dna.species.species_traits) //Aliens with custom colors simply get turned orange
N.dna.features["mcolor"] = "f80"
N.regenerate_icons()
var/mob/living/carbon/human/H = M
if(prob(7))
if(N.w_uniform)
M.visible_message(pick("<b>[M]</b>'s collar pops up without warning.</span>", "<b>[M]</b> flexes [M.p_their()] arms."))
if(H.w_uniform)
H.visible_message(pick("<b>[H]</b>'s collar pops up without warning.</span>", "<b>[H]</b> flexes [H.p_their()] arms."))
else
M.visible_message("<b>[M]</b> flexes [M.p_their()] arms.")
H.visible_message("<b>[H]</b> flexes [H.p_their()] arms.")
if(prob(10))
M.say(pick("Shit was SO cash.", "You are everything bad in the world.", "What sports do you play, other than 'jack off to naked drawn Japanese people?'", "Dont be a stranger. Just hit me with your best shot.", "My name is John and I hate every single one of you."), forced = "spraytan")
..()
return
return ..()
/datum/reagent/mutationtoxin
name = "Stable Mutation Toxin"