diff --git a/code/__DEFINES/crafting.dm b/code/__DEFINES/crafting.dm index cb7930e9d1fb..62658dde50b4 100644 --- a/code/__DEFINES/crafting.dm +++ b/code/__DEFINES/crafting.dm @@ -28,8 +28,9 @@ #define CRAFT_CHECK_DENSITY (1<<5) /// If the created atom will gain custom mat datums #define CRAFT_APPLIES_MATS (1<<6) -/// Crafting passes reagents of components to the finished product -#define CRAFT_TRANSFERS_REAGENTS (1<<7) +/// Any reagent inputs to the craft will be transferred to the finishing product instead of being deleted +/// Note this only handles reagents that are SPECIFICALLY ASKED FOR in the component list, not all reagents in all components +#define CRAFT_TRANSFERS_REAGENT_COMPONENTS (1<<7) /// Crafting clears all reagents present in the finished product #define CRAFT_CLEARS_REAGENTS (1<<8) diff --git a/code/datums/components/crafting/crafting.dm b/code/datums/components/crafting/crafting.dm index d0c0bb56986a..3e06eca64c13 100644 --- a/code/datums/components/crafting/crafting.dm +++ b/code/datums/components/crafting/crafting.dm @@ -260,13 +260,12 @@ if(result.atom_storage && recipe.delete_contents) for(var/obj/item/thing in result) qdel(thing) + if(recipe.crafting_flags & CRAFT_CLEARS_REAGENTS) + result.reagents?.clear_reagents() var/datum/reagents/holder = locate() in parts if(holder) //transfer reagents from ingredients to result - if(!ispath(recipe.result, /obj/item/reagent_containers) && result.reagents) - if(recipe.crafting_flags & CRAFT_CLEARS_REAGENTS) - result.reagents.clear_reagents() - if(recipe.crafting_flags & CRAFT_TRANSFERS_REAGENTS) - holder.trans_to(result.reagents, holder.total_volume, no_react = TRUE) + if(result.reagents && (recipe.crafting_flags & CRAFT_TRANSFERS_REAGENT_COMPONENTS)) + holder.trans_to(result.reagents, holder.total_volume, no_react = TRUE) parts -= holder qdel(holder) result.CheckParts(parts, recipe) diff --git a/code/datums/wounds/burns.dm b/code/datums/wounds/burns.dm index 12b0e45754ba..45b65f64533c 100644 --- a/code/datums/wounds/burns.dm +++ b/code/datums/wounds/burns.dm @@ -444,7 +444,7 @@ damage_multiplier_penalty = 1.1 interaction_efficiency_penalty = 0.9 threshold_penalty = 25 - infection_rate = 0.05 + infection_rate = 0.01 flesh_damage = 10 treatable_by = list(/obj/item/flashlight/pen/paramedic) @@ -467,13 +467,13 @@ return switch(severity) if(WOUND_SEVERITY_SEVERE) - infection_rate = 0.075 + infection_rate = 0.025 damage_multiplier_penalty = 1.2 interaction_efficiency_penalty = 0.6 threshold_penalty = 50 examine_desc = "is turning white" if(WOUND_SEVERITY_CRITICAL) - infection_rate = 0.1 + infection_rate = 0.05 damage_multiplier_penalty = 1.25 interaction_efficiency_penalty = 0.3 threshold_penalty = 75 diff --git a/code/datums/wounds/internal_bleeding.dm b/code/datums/wounds/internal_bleeding.dm index 206267e0fdbe..db73b8daab4b 100644 --- a/code/datums/wounds/internal_bleeding.dm +++ b/code/datums/wounds/internal_bleeding.dm @@ -80,7 +80,7 @@ if(SPT_PROB(1, seconds_per_tick)) var/datum/blood_type/blood_type = victim.get_blood_type() if(blood_type) - to_chat(victim, span_notice("You can taste [blood_type.reagent_type::name].")) + to_chat(victim, span_notice("You can taste [LOWER_TEXT(blood_type.reagent_type::name)].")) switch(limb.body_zone) if(BODY_ZONE_HEAD) diff --git a/code/game/objects/items/food/frozen.dm b/code/game/objects/items/food/frozen.dm index bf1f1ecf490c..baa2a5d6e4d3 100644 --- a/code/game/objects/items/food/frozen.dm +++ b/code/game/objects/items/food/frozen.dm @@ -107,6 +107,17 @@ drop_sound = 'maplestation_modules/sound/items/drop/papercup.ogg' pickup_sound = 'maplestation_modules/sound/items/pickup/papercup.ogg' +/obj/item/food/snowcones/CheckParts(list/parts_list, datum/crafting_recipe/current_recipe) + . = ..() + if(isnull(current_recipe)) + return + // replaces the ice from the input with water + reagents.remove_reagent(/datum/reagent/consumable/ice, 15) + reagents.add_reagent(/datum/reagent/water, 11) + // then add 1u nutriment for free + reagents.add_reagent(/datum/reagent/consumable/nutriment, 1) + // the juice component will be transferred in from crafting + /obj/item/food/snowcones/lime name = "lime snowcone" desc = "Lime syrup drizzled over a snowball in a paper cup." diff --git a/code/modules/clothing/under/jobs/medical.dm b/code/modules/clothing/under/jobs/medical.dm index 24030717a676..9d4e2a41f3b1 100644 --- a/code/modules/clothing/under/jobs/medical.dm +++ b/code/modules/clothing/under/jobs/medical.dm @@ -90,6 +90,7 @@ /obj/item/clothing/under/rank/medical/scrubs name = "medical scrubs" + gender = PLURAL /obj/item/clothing/under/rank/medical/scrubs/Initialize(mapload) . = ..() diff --git a/code/modules/food_and_drinks/recipes/food_mixtures.dm b/code/modules/food_and_drinks/recipes/food_mixtures.dm index f87ebc62ae6c..bbea09b57d32 100644 --- a/code/modules/food_and_drinks/recipes/food_mixtures.dm +++ b/code/modules/food_and_drinks/recipes/food_mixtures.dm @@ -1,6 +1,6 @@ /datum/crafting_recipe/food mass_craftable = TRUE - crafting_flags = CRAFT_TRANSFERS_REAGENTS | CRAFT_CLEARS_REAGENTS + crafting_flags = parent_type::crafting_flags | CRAFT_TRANSFERS_REAGENT_COMPONENTS | CRAFT_CLEARS_REAGENTS /datum/crafting_recipe/food/on_craft_completion(mob/user, atom/result) SHOULD_CALL_PARENT(TRUE) diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_lizard.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_lizard.dm index 3f24b61ac1cc..a3e827ffd5ef 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_lizard.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_lizard.dm @@ -186,7 +186,7 @@ ) result = /obj/item/food/rootdough category = CAT_LIZARD - crafting_flags = CRAFT_CLEARS_REAGENTS + crafting_flags = parent_type::crafting_flags & ~CRAFT_TRANSFERS_REAGENT_COMPONENTS // prevents water from reacting immediately, clearing the dish /datum/crafting_recipe/food/rootdough2 name = "Rootdough" @@ -198,7 +198,7 @@ ) result = /obj/item/food/rootdough category = CAT_LIZARD - crafting_flags = CRAFT_CLEARS_REAGENTS + crafting_flags = parent_type::crafting_flags & ~CRAFT_TRANSFERS_REAGENT_COMPONENTS // prevents water from reacting immediately, clearing the dish /datum/crafting_recipe/food/snail_nizaya name = "Desert snail nizaya" diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_moth.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_moth.dm index bb20f4ab0b37..30b4eff80666 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_moth.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_moth.dm @@ -27,6 +27,7 @@ ) result = /obj/item/food/toasted_seeds category = CAT_MOTH + crafting_flags = parent_type::crafting_flags & ~CRAFT_CLEARS_REAGENTS // seeds don't have nutriment /datum/crafting_recipe/food/engine_fodder name = "Engine fodder" diff --git a/code/modules/mob/living/carbon/human/death.dm b/code/modules/mob/living/carbon/human/death.dm index e500632e7dc2..ce24b4907035 100644 --- a/code/modules/mob/living/carbon/human/death.dm +++ b/code/modules/mob/living/carbon/human/death.dm @@ -70,7 +70,7 @@ GLOBAL_LIST_EMPTY(dead_players_during_shift) switch(probable_cause) // This should all be refactored later it's a bit of a mess ngl - if(null, "revival_sickess", "anesthetics", "recent_defib") + if(null, /datum/status_effect/anesthetic::id, /datum/status_effect/recent_defib::id) return "unknown causes" if(OXY_DAMAGE) diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm index 3545c38ded81..ff0798873057 100644 --- a/code/modules/projectiles/projectile/beams.dm +++ b/code/modules/projectiles/projectile/beams.dm @@ -3,7 +3,7 @@ name = "laser" icon_state = "laser" pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE - damage = 20 + damage = 25 damage_type = BURN hitsound = 'sound/weapons/sear.ogg' hitsound_wall = 'sound/weapons/effects/searwall.ogg' diff --git a/code/modules/surgery/operations/operation_bone_repair.dm b/code/modules/surgery/operations/operation_bone_repair.dm index a13fa90540ba..9f17181e2779 100644 --- a/code/modules/surgery/operations/operation_bone_repair.dm +++ b/code/modules/surgery/operations/operation_bone_repair.dm @@ -101,7 +101,7 @@ return TRUE if(locate(/datum/wound/blunt/bone/rib_break) in limb.wounds) return TRUE - return TRUE + return FALSE /datum/surgery_operation/limb/repair_hairline/on_preop(obj/item/bodypart/limb, mob/living/surgeon, obj/item/tool, list/operation_args) display_results( diff --git a/maplestation_modules/code/datums/pain/pain_status_effects/anesthetic.dm b/maplestation_modules/code/datums/pain/pain_status_effects/anesthetic.dm index ad429101e059..b70c7282b52f 100644 --- a/maplestation_modules/code/datums/pain/pain_status_effects/anesthetic.dm +++ b/maplestation_modules/code/datums/pain/pain_status_effects/anesthetic.dm @@ -38,16 +38,16 @@ if(HAS_TRAIT(owner, TRAIT_SLEEPIMMUNE)) return FALSE RegisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_SLEEPIMMUNE), PROC_REF(qdel_us)) - owner.add_max_consciousness_value(type, 10) - owner.set_pain_mod(type, 0.1) + owner.add_max_consciousness_value(id, 10) + owner.set_pain_mod(id, 0.1) applied_at = world.time return TRUE /datum/status_effect/anesthetic/on_remove() UnregisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_SLEEPIMMUNE)) if(!QDELETED(owner)) - owner.remove_max_consciousness_value(type) - owner.unset_pain_mod(type) + owner.remove_max_consciousness_value(id) + owner.unset_pain_mod(id) owner.apply_status_effect(/datum/status_effect/anesthesia_grog, applied_at) /datum/status_effect/anesthetic/get_examine_text() diff --git a/maplestation_modules/code/modules/mob/living/carbon/human/rad_rework/radiation.dm b/maplestation_modules/code/modules/mob/living/carbon/human/rad_rework/radiation.dm index ef23e8d57e6b..3e6c9a79c2f9 100644 --- a/maplestation_modules/code/modules/mob/living/carbon/human/rad_rework/radiation.dm +++ b/maplestation_modules/code/modules/mob/living/carbon/human/rad_rework/radiation.dm @@ -105,7 +105,7 @@ var/mob/living/carbon/get_sick = owner get_sick.vomit(VOMIT_CATEGORY_BLOOD, lost_nutrition = 10) else if(blood_type) - to_chat(owner, span_notice("You can taste [blood_type.reagent_type::name].")) + to_chat(owner, span_notice("You can taste [LOWER_TEXT(blood_type.reagent_type::name)].")) if(time_since_irradiated > 2 MINUTES && SPT_PROB(0.5, seconds_per_tick)) if(!owner.IsParalyzed())