Merge branch 'master' into Dispencer-UI-change

This commit is contained in:
Fermi
2021-02-06 02:40:27 +00:00
836 changed files with 9220 additions and 5737 deletions
@@ -2288,6 +2288,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
//Race-Base-Drinks//
////////////////////
/datum/reagent/consumable/ethanol/species_drink
name = "Species Drink"
var/species_required
var/disgust = 26
boozepwr = 50
@@ -504,6 +504,14 @@
glass_desc = "Don't cry, Don't raise your eye, It's only nuclear wasteland."
value = REAGENT_VALUE_COMMON
/datum/reagent/consumable/nuka_cola/on_mob_metabolize(mob/living/carbon/M)
M.add_movespeed_modifier(/datum/movespeed_modifier/reagent/meth)
return ..()
/datum/reagent/consumable/nuka_cola/on_mob_end_metabolize(mob/living/carbon/M)
M.remove_movespeed_modifier(/datum/movespeed_modifier/reagent/meth)
return ..()
/datum/reagent/consumable/nuka_cola/on_mob_life(mob/living/carbon/M)
M.Jitter(20)
M.set_drugginess(30)
@@ -625,8 +633,9 @@
myseed.adjust_potency(round(chems.get_reagent_amount(src.type) * 0.5))
/datum/reagent/consumable/buzz_fuzz/on_mob_life(mob/living/carbon/M)
M.reagents.add_reagent(/datum/reagent/consumable/sugar,1)
if(prob(5))
if(prob(33))
M.reagents.add_reagent(/datum/reagent/consumable/sugar,1)
if(prob(1))
M.reagents.add_reagent(/datum/reagent/consumable/honey,1)
..()
@@ -174,11 +174,13 @@
ADD_TRAIT(L, TRAIT_IGNOREDAMAGESLOWDOWN, type)
L.update_movespeed()
ADD_TRAIT(L, TRAIT_TASED_RESISTANCE, type)
L.add_movespeed_modifier(/datum/movespeed_modifier/reagent/meth)
/datum/reagent/drug/methamphetamine/on_mob_end_metabolize(mob/living/L)
REMOVE_TRAIT(L, TRAIT_IGNOREDAMAGESLOWDOWN, type)
L.update_movespeed()
REMOVE_TRAIT(L, TRAIT_TASED_RESISTANCE, type)
L.remove_movespeed_modifier(/datum/movespeed_modifier/reagent/meth)
..()
/datum/reagent/drug/methamphetamine/on_mob_life(mob/living/carbon/M)
@@ -272,10 +272,10 @@
overdose_threshold = 50
/datum/reagent/medicine/silver_sulfadiazine/reaction_obj(obj/O, reac_volume)
if(istype(O, /obj/item/stack/medical/gauze))
if(istype(O, /obj/item/stack/medical/gauze/adv))
var/obj/item/stack/medical/gauze/G = O
reac_volume = min((reac_volume / 10), G.amount)
new/obj/item/stack/medical/mesh(get_turf(G), reac_volume)
reac_volume = min((reac_volume / 5), G.amount)
new /obj/item/stack/medical/mesh/five(get_turf(G), reac_volume)
G.use(reac_volume)
/datum/reagent/medicine/silver_sulfadiazine/reaction_mob(mob/living/M, method=TOUCH, reac_volume, show_message = 1)
@@ -358,10 +358,10 @@
..()
/datum/reagent/medicine/styptic_powder/reaction_obj(obj/O, reac_volume)
if(istype(O, /obj/item/stack/medical/gauze))
if(istype(O, /obj/item/stack/medical/gauze/adv))
var/obj/item/stack/medical/gauze/G = O
reac_volume = min((reac_volume / 10), G.amount)
new/obj/item/stack/medical/suture(get_turf(G), reac_volume)
reac_volume = min((reac_volume / 5), G.amount)
new /obj/item/stack/medical/suture/five(get_turf(G), reac_volume)
G.use(reac_volume)
/datum/reagent/medicine/styptic_powder/on_mob_life(mob/living/carbon/M)
@@ -1125,7 +1125,7 @@
/datum/reagent/space_cleaner/sterilizine/reaction_obj(obj/O, reac_volume)
if(istype(O, /obj/item/stack/medical/gauze))
var/obj/item/stack/medical/gauze/G = O
reac_volume = min((reac_volume / 10), G.amount)
reac_volume = min((reac_volume / 5), G.amount)
new /obj/item/stack/medical/gauze/adv(get_turf(G), reac_volume)
G.use(reac_volume)
@@ -2528,7 +2528,7 @@
M.adjustStaminaLoss(-0.25*REM) // the more wounds, the more stamina regen
..()
datum/reagent/eldritch
/datum/reagent/eldritch
name = "Eldritch Essence"
description = "Strange liquid that defies the laws of physics"
taste_description = "Ag'hsj'saje'sh"
@@ -783,6 +783,8 @@
value = REAGENT_VALUE_VERY_RARE
/datum/reagent/toxin/rotatium/on_mob_life(mob/living/carbon/M)
return ..() // until fixed - the rotations never stop
/*
if(M.hud_used)
if(current_cycle >= 20 && current_cycle%20 == 0)
var/list/screens = list(M.hud_used.plane_masters["[FLOOR_PLANE]"], M.hud_used.plane_masters["[GAME_PLANE]"],
@@ -800,6 +802,7 @@
for(var/whole_screen in screens)
animate(whole_screen, transform = matrix(), time = 5, easing = QUAD_EASING)
..()
*/
/datum/reagent/toxin/skewium
name = "Skewium"
@@ -104,31 +104,44 @@
return ..()
/obj/item/reagent_containers/blood/attack(mob/living/carbon/C, mob/user, def_zone)
if(user.a_intent == INTENT_HELP && reagents.total_volume > 0 && iscarbon(C) && user.a_intent == INTENT_HELP)
if(C.is_mouth_covered())
to_chat(user, "<span class='notice'>You cant drink from the [src] while your mouth is covered.</span>")
return
if(user != C)
user.visible_message("<span class='danger'>[user] forces [C] to drink from the [src].</span>", \
"<span class='notice'>You force [C] to drink from the [src]</span>")
if(!do_mob(user, C, 50))
return
else
if(!do_mob(user, C, 10))
return
if(!iscarbon(C) || user.a_intent != INTENT_HELP || reagents.total_volume <= 0)
..()
to_chat(user, "<span class='notice'>You take a sip from the [src].</span>")
user.visible_message("<span class='notice'>[user] puts the [src] up to their mouth.</span>")
if(reagents.total_volume <= 0) // Safety: In case you spam clicked the blood bag on yourself, and it is now empty (below will divide by zero)
if(C.is_mouth_covered())
if(user != C)
to_chat(user, "<span class='notice'>You can't force [C] to drink from [src] while their mouth is covered.</span>")
return
var/gulp_size = 3
var/fraction = min(gulp_size / reagents.total_volume, 1)
reagents.reaction(C, INGEST, fraction) //checkLiked(fraction, M) // Blood isn't food, sorry.
reagents.trans_to(C, gulp_size)
reagents.remove_reagent(src, 2) //Inneficency, so hey, IVs are usefull.
playsound(C.loc,'sound/items/drink.ogg', rand(10, 50), TRUE)
to_chat(user, "<span class='notice'>You can't drink from [src] while your mouth is covered.</span>")
return
..()
if(!user.CheckActionCooldown())
return
if(user != C)
user.visible_message("<span class='danger'>[user] forces [C] to drink from [src].</span>", \
"<span class='notice'>You force [C] to drink from [src]</span>")
user.DelayNextAction(50)
if(do_mob(user, C, 50))
do_drink(C, user)
else
user.DelayNextAction(10)
if(do_mob(user, C, 10))
user.visible_message("<span class='notice'>[user] puts [src] up to their mouth.</span>", \
"<span class='notice'>You take a sip from [src].</span>")
do_drink(C, user)
/obj/item/reagent_containers/blood/proc/do_drink(mob/living/carbon/C, mob/user)
if(reagents.total_volume <= 0) // Safety: In case you spam clicked the blood bag on yourself, and it is now empty (below will divide by zero)
to_chat(user, "<span class='notice'>...and notice [src] is empty.</span>")
return
var/gulp_size = 3
var/fraction = min(gulp_size / reagents.total_volume, 1)
reagents.reaction(C, INGEST, fraction) //checkLiked(fraction, M) // Blood isn't food, sorry.
reagents.remove_any(5) //Inneficency, so hey, IVs are usefull.
reagents.trans_to(C, gulp_size)
playsound(C.loc,'sound/items/drink.ogg', rand(10, 50), TRUE)
/obj/item/reagent_containers/blood/bluespace
name = "bluespace blood pack"
@@ -44,8 +44,7 @@
else
. += "<span class='notice'>Alt-click to seal it.</span>"
obj/item/reagent_containers/chem_pack/attack_self(mob/user)
/obj/item/reagent_containers/chem_pack/attack_self(mob/user)
if(sealed)
return
..()