Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions code/__DEFINES/crafting.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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)

Expand Down
9 changes: 4 additions & 5 deletions code/datums/components/crafting/crafting.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
6 changes: 3 additions & 3 deletions code/datums/wounds/burns.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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)

Expand All @@ -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
Expand Down
2 changes: 1 addition & 1 deletion code/datums/wounds/internal_bleeding.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
11 changes: 11 additions & 0 deletions code/game/objects/items/food/frozen.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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."
Expand Down
1 change: 1 addition & 0 deletions code/modules/clothing/under/jobs/medical.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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)
. = ..()
Expand Down
2 changes: 1 addition & 1 deletion code/modules/food_and_drinks/recipes/food_mixtures.dm
Original file line number Diff line number Diff line change
@@ -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)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand All @@ -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"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
2 changes: 1 addition & 1 deletion code/modules/mob/living/carbon/human/death.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
2 changes: 1 addition & 1 deletion code/modules/projectiles/projectile/beams.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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'
Expand Down
2 changes: 1 addition & 1 deletion code/modules/surgery/operations/operation_bone_repair.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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())
Expand Down
Loading