Merge branch 'master' into final_shuttle_touches_and_stuff

# Conflicts:
#	code/game/objects/structures/window.dm
#	code/modules/client/preference_setup/loadout/loadout_uniform.dm
This commit is contained in:
alberyk
2021-12-21 16:51:40 -03:00
375 changed files with 118163 additions and 3628 deletions
+1 -1
View File
@@ -94,7 +94,7 @@
if(is_overdosing(M, location, holder))
overdose(M, alien, removed, LAZYACCESS(M.chem_doses, type)/get_overdose(M, location, holder), holder) //Actual overdose threshold now = overdose + od_minimum_dose. ie. Synaptizine; 5u OD threshold + 1 unit min. metab'd dose = 6u actual OD threshold.
if(LAZYACCESS(M.chem_doses, type) == 0)
if(LAZYACCESS(M.chem_doses, type) <= 0)
initial_effect(M,alien, holder)
LAZYSET(M.chem_doses, type, LAZYACCESS(M.chem_doses, type) + removed)
@@ -170,6 +170,9 @@
if(check_min_dose(M, 0.5))
M.add_chemical_effect(CE_OXYGENATED, strength/6) // 1 for dexalin, 2 for dexplus
holder.remove_reagent(/decl/reagent/lexorin, strength/3 * removed)
if(alien == IS_VAURCA) //Vaurca need a mixture of phoron and oxygen. Dexalin likely imbalances that.
M.adjustToxLoss(removed * strength / 2)
M.eye_blurry = max(M.eye_blurry, 5)
//Hyperoxia causes brain and eye damage
/decl/reagent/dexalin/overdose(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder)
@@ -179,9 +182,6 @@
var/obj/item/organ/internal/eyes/E = H.get_eyes(no_synthetic = TRUE)
if(E && istype(E))
E.take_damage(removed * (strength / 12))
if(alien == IS_VAURCA) //Vaurca need a mixture of phoron and oxygen. Too much dexalin likely imbalances that.
M.adjustToxLoss(removed * strength / 2)
M.eye_blurry = max(M.eye_blurry, 5)
/decl/reagent/dexalin/plus
name = "Dexalin Plus"
@@ -488,6 +488,9 @@
if(E && istype(E))
if(E.damage > 0)
E.damage = max(E.damage - 5 * removed, 0)
if(isvaurca(H))
if(E.damage < E.min_broken_damage && H.sdisabilities & BLIND)
H.sdisabilities -= BLIND
/decl/reagent/oculine/affect_chem_effect(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder)
. = ..()
@@ -666,8 +666,9 @@
M.add_chemical_effect(CE_BERSERK, 1)
if(M.a_intent != I_HURT)
M.a_intent_change(I_HURT)
if(prob(10))
M.add_chemical_effect(CE_NEUROTOXIC, 5*removed)
var/obj/item/organ/internal/heart = M.internal_organs_by_name[BP_HEART]
if(heart)
M.add_chemical_effect(CE_CARDIOTOXIC, removed * 0.020)
/decl/reagent/toxin/spectrocybin
name = "Spectrocybin"
@@ -33,6 +33,32 @@
desc = "Your standard drinking glass."
center_of_mass = list("x"=16, "y"=10)
/obj/item/reagent_containers/food/drinks/drinkingglass/afterattack(var/atom/target, var/mob/user, var/proximity, var/params)
if(ishuman(target) && user.a_intent == I_HELP && (user.zone_sel.selecting == BP_L_HAND || user.zone_sel.selecting == BP_R_HAND))
if(!user.Adjacent(target))
return
var/mob/living/carbon/human/H = target
var/obj/item/reagent_containers/food/drinks/drinkingglass/glass = H.get_type_in_hands(/obj/item/reagent_containers/food/drinks/drinkingglass)
if(!use_check(H))
to_chat(user, SPAN_WARNING("[H] is in no condition to perform a toast!"))
return
else if(!glass)
to_chat(user, SPAN_WARNING("[H] needs to be holding a glass to perform a toast."))
return
else
user.visible_message("<b>[user]</b> holds \the [src] out for a toast with [H].")
if(alert(H,"[user] wants to do a toast with you. Will you accept it?",,"Yes","No") == "No")
H.visible_message("<b>[H]</b> pushes [user]'s hand away.")
return
if(!user.Adjacent(H))
to_chat(user, SPAN_WARNING("You need to remain next to [H]!"))
to_chat(H, SPAN_WARNING("You need to remain next to [user]!"))
return
user.visible_message("<b>[user]</b> clinks \the [src] with [H]'s [glass.name].")
playsound(user.loc, pick('sound/items/glass_clink_1.ogg', 'sound/items/glass_clink_2.ogg', 'sound/items/glass_clink_3.ogg'), 50, 0, vary = FALSE)
return
..()
// for /obj/machinery/vending/sovietsoda
/obj/item/reagent_containers/food/drinks/drinkingglass/soda
reagents_to_add = list(/decl/reagent/drink/sodawater = 50)
@@ -145,12 +145,6 @@
/obj/item/reagent_containers/food/snacks/examine(mob/user)
if(!..(user, 1))
return
if(name != initial(name))
if(istype(src, /obj/item/reagent_containers/food/snacks/grown))
var/obj/item/reagent_containers/food/snacks/grown/G = src
to_chat(user, SPAN_NOTICE("You know the item as [G.seed.seed_name], but a little piece of propped-up paper indicates it's \a [name]."))
else
to_chat(user, SPAN_NOTICE("You know the item as [initial(name)], but a little piece of propped-up paper indicates it's \a [name]."))
if (coating)
var/decl/reagent/coating_reagent = decls_repository.get_decl(coating)
to_chat(user, SPAN_NOTICE("It's coated in [coating_reagent.name]!"))