Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-sync

This commit is contained in:
xPokee
2025-09-24 10:13:01 -04:00
313 changed files with 6548 additions and 4624 deletions
@@ -452,7 +452,7 @@
var/mode = tgui_alert(usr, "Play all or a specific reaction?","Select Reaction", list("All", "Specific"))
if(mode == "All")
reactions_to_test.Cut()
for(var/reaction as anything in all_reaction_list)
for(var/reaction in all_reaction_list)
reactions_to_test += all_reaction_list[reaction]
current_reaction_index = 0
return TRUE
@@ -97,7 +97,7 @@
total_weight += target.w_class
if(to_process.len)
. += span_notice("Currently holding:")
for(var/target_name as anything in to_process)
for(var/target_name in to_process)
. += span_notice("[to_process[target_name]] [target_name]")
. += span_notice("Filled to <b>[round((total_weight / maximum_weight) * 100)]%</b> capacity.")
@@ -662,9 +662,9 @@ Basically, we fill the time between now and 2s from now with hands based off the
)
traumalist -= abstracttraumas
for (var/type as anything in forbiddentraumas)
for (var/type in forbiddentraumas)
traumalist -= typesof(type)
for (var/type as anything in forbiddensubtypes)
for (var/type in forbiddensubtypes)
traumalist -= subtypesof(type)
traumalist = shuffle(traumalist)
+1 -3
View File
@@ -405,9 +405,7 @@
holder.my_atom.audible_message("The [holder.my_atom] suddenly explodes, sending a shockwave rippling through the air!")
playsound(this_turf, 'sound/effects/chemistry/shockwave_explosion.ogg', 80, TRUE)
//Modified goonvortex
for(var/atom/movable/movey as anything in orange(range, this_turf))
if(!istype(movey, /atom/movable))
continue
for(var/atom/movable/movey in orange(range, this_turf))
if(isliving(movey) && damage)
var/mob/living/live = movey
live.apply_damage(damage)//Since this can be called multiple times
@@ -30,7 +30,7 @@
if(purge_power >= 1)
var/has_purging_chemical = FALSE
// They need one of the purge reagents in them
for(var/purging_chem as anything in PURGING_REAGENTS)
for(var/purging_chem in PURGING_REAGENTS)
if(holder.has_reagent(purging_chem))
// We have a purging chemical
has_purging_chemical = TRUE
@@ -25,7 +25,7 @@
age_restricted = TRUE // wrryy can't set an init value to see if drink_type contains ALCOHOL so here we go
///Directly relates to the 'knockdown' duration. Lowered by armor (i.e. helmets)
var/bottle_knockdown_duration = BOTTLE_KNOCKDOWN_DEFAULT_DURATION
tool_behaviour = TOOL_ROLLINGPIN // Used to knock out the Chef.
tool_behaviour = TOOL_ROLLINGPIN // Glass bottles can be used as rolling pins when empty
toolspeed = 1.3 //it's a little awkward to use, but it's a cylinder alright.
/// A contained piece of paper, a photo, or space cash, that we can use as a message or gift to future spessmen.
var/obj/item/message_in_a_bottle
@@ -51,6 +51,13 @@
return CONTEXTUAL_SCREENTIP_SET
return NONE
/obj/item/reagent_containers/cup/glass/bottle/on_reagent_change(datum/reagents/holder, ...)
. = ..()
if(!reagents?.total_volume)
tool_behaviour = TOOL_ROLLINGPIN // Glass bottles can be used as rolling pins when empty
else
tool_behaviour = null
/obj/item/reagent_containers/cup/glass/bottle/Exited(atom/movable/gone, atom/newloc)
if(gone == message_in_a_bottle)
message_in_a_bottle = null
@@ -633,7 +633,6 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/reagent_dispensers/wall/virusfood, 30
name = "vat of cooking oil"
desc = "A huge metal vat with a tap on the front. Filled with cooking oil for use in frying food."
icon_state = "vat"
anchored = TRUE
reagent_id = /datum/reagent/consumable/nutriment/fat/oil
openable = TRUE
@@ -642,7 +641,6 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/reagent_dispensers/wall/virusfood, 30
desc = "A dish full of food slop for your bowl."
icon = 'icons/obj/service/kitchen.dmi'
icon_state = "serving"
anchored = TRUE
reagent_id = /datum/reagent/consumable/nutraslop
/obj/structure/reagent_dispensers/plumbed