diff --git a/_maps/map_files/KiloStation/KiloStation.dmm b/_maps/map_files/KiloStation/KiloStation.dmm index 455667a476e7..86b1167e23fc 100644 --- a/_maps/map_files/KiloStation/KiloStation.dmm +++ b/_maps/map_files/KiloStation/KiloStation.dmm @@ -15040,7 +15040,6 @@ /area/station/engineering/atmos) "fdp" = ( /obj/machinery/power/smes{ - capacity = 9e+006; charge = 10000 }, /obj/effect/turf_decal/tile/neutral/half/contrasted{ @@ -50937,7 +50936,6 @@ pixel_x = 24; pixel_y = 24 }, -/obj/item/paper/fluff/ids_for_dummies, /obj/machinery/button/door/directional/east{ id = "hopqueue"; name = "Queue Shutters Toggle"; diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm index e121142d0ebf..fed8261a8661 100644 --- a/_maps/map_files/PubbyStation/PubbyStation.dmm +++ b/_maps/map_files/PubbyStation/PubbyStation.dmm @@ -32692,7 +32692,7 @@ /turf/open/floor/plating, /area/station/maintenance/department/security/brig) "gum" = ( -/obj/structure/filingcabinet/filingcabinet, +/obj/structure/filingcabinet/white, /obj/effect/turf_decal/tile/blue/anticorner/contrasted{ dir = 8 }, diff --git a/code/controllers/subsystem/dynamic/dynamic_rulesets_midround.dm b/code/controllers/subsystem/dynamic/dynamic_rulesets_midround.dm index 7d983a881365..a643637da59f 100644 --- a/code/controllers/subsystem/dynamic/dynamic_rulesets_midround.dm +++ b/code/controllers/subsystem/dynamic/dynamic_rulesets_midround.dm @@ -6,7 +6,6 @@ /// Midround Rulesets /datum/dynamic_ruleset/midround // Can be drafted once in a while during a round ruletype = MIDROUND_RULESET - var/midround_ruleset_style /// If the ruleset should be restricted from ghost roles. var/restrict_ghost_roles = TRUE /// What mob type the ruleset is restricted to. @@ -229,7 +228,7 @@ /// Midround Traitor Ruleset (From Living) /datum/dynamic_ruleset/midround/from_living/autotraitor name = "Syndicate Sleeper Agent" - midround_ruleset_style = MIDROUND_RULESET_STYLE_LIGHT + midround_type = LIGHT_MIDROUND antag_datum = /datum/antagonist/traitor/infiltrator/sleeper_agent antag_flag = ROLE_SLEEPER_AGENT antag_flag_override = ROLE_TRAITOR @@ -277,7 +276,7 @@ /// Midround Malf AI Ruleset (From Living) /datum/dynamic_ruleset/midround/malf name = "Malfunctioning AI" - midround_ruleset_style = MIDROUND_RULESET_STYLE_HEAVY + midround_type = HEAVY_MIDROUND antag_datum = /datum/antagonist/malf_ai antag_flag = ROLE_MALF_MIDROUND antag_flag_override = ROLE_MALF @@ -337,7 +336,7 @@ /// Midround Wizard Ruleset (From Ghosts) /datum/dynamic_ruleset/midround/from_ghosts/wizard name = "Wizard" - midround_ruleset_style = MIDROUND_RULESET_STYLE_HEAVY + midround_type = HEAVY_MIDROUND antag_datum = /datum/antagonist/wizard antag_flag = ROLE_WIZARD_MIDROUND antag_flag_override = ROLE_WIZARD @@ -367,7 +366,7 @@ /// Midround Nuclear Operatives Ruleset (From Ghosts) /datum/dynamic_ruleset/midround/from_ghosts/nuclear name = "Nuclear Assault" - midround_ruleset_style = MIDROUND_RULESET_STYLE_HEAVY + midround_type = HEAVY_MIDROUND antag_flag = ROLE_OPERATIVE_MIDROUND antag_flag_override = ROLE_OPERATIVE antag_datum = /datum/antagonist/nukeop @@ -424,7 +423,7 @@ /// Midround Blob Ruleset (From Ghosts) /datum/dynamic_ruleset/midround/from_ghosts/blob name = "Blob" - midround_ruleset_style = MIDROUND_RULESET_STYLE_HEAVY + midround_type = HEAVY_MIDROUND antag_datum = /datum/antagonist/blob antag_flag = ROLE_BLOB ruleset_category = parent_type::ruleset_category | RULESET_CATEGORY_NO_WITTING_CREW_ANTAGONISTS @@ -444,7 +443,7 @@ /// Midround Blob Infection Ruleset (From Living) /datum/dynamic_ruleset/midround/from_living/blob_infection name = "Blob Infection" - midround_ruleset_style = MIDROUND_RULESET_STYLE_HEAVY + midround_type = HEAVY_MIDROUND antag_datum = /datum/antagonist/blob/infection antag_flag = ROLE_BLOB_INFECTION antag_flag_override = ROLE_BLOB @@ -498,7 +497,7 @@ /// Midround Xenomorph Ruleset (From Ghosts) /datum/dynamic_ruleset/midround/from_ghosts/xenomorph name = "Alien Infestation" - midround_ruleset_style = MIDROUND_RULESET_STYLE_HEAVY + midround_type = HEAVY_MIDROUND antag_datum = /datum/antagonist/xeno antag_flag = ROLE_ALIEN ruleset_category = parent_type::ruleset_category | RULESET_CATEGORY_NO_WITTING_CREW_ANTAGONISTS @@ -547,7 +546,7 @@ /// Midround Nightmare Ruleset (From Ghosts) /datum/dynamic_ruleset/midround/from_ghosts/nightmare name = "Nightmare" - midround_ruleset_style = MIDROUND_RULESET_STYLE_LIGHT + midround_type = LIGHT_MIDROUND antag_datum = /datum/antagonist/nightmare antag_flag = ROLE_NIGHTMARE antag_flag_override = ROLE_ALIEN @@ -585,7 +584,7 @@ /// Midround Space Dragon Ruleset (From Ghosts) /datum/dynamic_ruleset/midround/from_ghosts/space_dragon name = "Space Dragon" - midround_ruleset_style = MIDROUND_RULESET_STYLE_HEAVY + midround_type = HEAVY_MIDROUND antag_datum = /datum/antagonist/space_dragon antag_flag = ROLE_SPACE_DRAGON ruleset_category = parent_type::ruleset_category | RULESET_CATEGORY_NO_WITTING_CREW_ANTAGONISTS @@ -626,7 +625,7 @@ /datum/dynamic_ruleset/midround/from_ghosts/abductors name = "Abductors" - midround_ruleset_style = MIDROUND_RULESET_STYLE_LIGHT + midround_type = LIGHT_MIDROUND antag_datum = /datum/antagonist/abductor antag_flag = ROLE_ABDUCTOR ruleset_category = parent_type::ruleset_category | RULESET_CATEGORY_NO_WITTING_CREW_ANTAGONISTS @@ -664,7 +663,7 @@ /// Midround Space Ninja Ruleset (From Ghosts) /datum/dynamic_ruleset/midround/from_ghosts/space_ninja name = "Space Ninja" - midround_ruleset_style = MIDROUND_RULESET_STYLE_HEAVY + midround_type = HEAVY_MIDROUND antag_datum = /datum/antagonist/ninja antag_flag = ROLE_NINJA ruleset_category = parent_type::ruleset_category | RULESET_CATEGORY_NO_WITTING_CREW_ANTAGONISTS @@ -706,7 +705,7 @@ /// Midround Spiders Ruleset (From Ghosts) /datum/dynamic_ruleset/midround/spiders name = "Spiders" - midround_ruleset_style = MIDROUND_RULESET_STYLE_HEAVY + midround_type = HEAVY_MIDROUND antag_flag = ROLE_SPIDER ruleset_category = parent_type::ruleset_category | RULESET_CATEGORY_NO_WITTING_CREW_ANTAGONISTS required_type = /mob/dead/observer @@ -725,7 +724,7 @@ /// Midround Revenant Ruleset (From Ghosts) /datum/dynamic_ruleset/midround/from_ghosts/revenant name = "Revenant" - midround_ruleset_style = MIDROUND_RULESET_STYLE_LIGHT + midround_type = LIGHT_MIDROUND ruleset_category = parent_type::ruleset_category | RULESET_CATEGORY_NO_WITTING_CREW_ANTAGONISTS antag_datum = /datum/antagonist/revenant antag_flag = ROLE_REVENANT @@ -777,7 +776,7 @@ /// Midround Space Pirates Ruleset (From Ghosts) /datum/dynamic_ruleset/midround/pirates name = "Space Pirates" - midround_ruleset_style = MIDROUND_RULESET_STYLE_LIGHT + midround_type = LIGHT_MIDROUND ruleset_category = parent_type::ruleset_category | RULESET_CATEGORY_NO_WITTING_CREW_ANTAGONISTS antag_flag = "Space Pirates" required_type = /mob/dead/observer @@ -800,7 +799,7 @@ /// Dangerous Space Pirates ruleset /datum/dynamic_ruleset/midround/dangerous_pirates name = "Dangerous Space Pirates" - midround_ruleset_style = MIDROUND_RULESET_STYLE_HEAVY + midround_type = HEAVY_MIDROUND ruleset_category = parent_type::ruleset_category | RULESET_CATEGORY_NO_WITTING_CREW_ANTAGONISTS antag_flag = "Space Pirates" required_type = /mob/dead/observer @@ -823,7 +822,7 @@ /// Midround Obsessed Ruleset (From Living) /datum/dynamic_ruleset/midround/from_living/obsessed name = "Obsessed" - midround_ruleset_style = MIDROUND_RULESET_STYLE_LIGHT + midround_type = LIGHT_MIDROUND antag_datum = /datum/antagonist/obsessed antag_flag = ROLE_OBSESSED ruleset_category = parent_type::ruleset_category | RULESET_CATEGORY_NO_WITTING_CREW_ANTAGONISTS @@ -866,7 +865,7 @@ /// Midround Space Changeling Ruleset (From Ghosts) /datum/dynamic_ruleset/midround/from_ghosts/changeling_midround name = "Space Changeling" - midround_ruleset_style = MIDROUND_RULESET_STYLE_LIGHT + midround_type = LIGHT_MIDROUND antag_datum = /datum/antagonist/changeling/space antag_flag = ROLE_CHANGELING_MIDROUND antag_flag_override = ROLE_CHANGELING @@ -889,7 +888,7 @@ /// Midround Paradox Clone Ruleset (From Ghosts) /datum/dynamic_ruleset/midround/from_ghosts/paradox_clone name = "Paradox Clone" - midround_ruleset_style = MIDROUND_RULESET_STYLE_LIGHT + midround_type = LIGHT_MIDROUND antag_datum = /datum/antagonist/paradox_clone antag_flag = ROLE_PARADOX_CLONE ruleset_category = parent_type::ruleset_category | RULESET_CATEGORY_NO_WITTING_CREW_ANTAGONISTS @@ -962,7 +961,7 @@ /// Midround Voidwalker Ruleset (From Ghosts) /datum/dynamic_ruleset/midround/from_ghosts/voidwalker name = "Voidwalker" - midround_ruleset_style = MIDROUND_RULESET_STYLE_LIGHT + midround_type = LIGHT_MIDROUND antag_datum = /datum/antagonist/voidwalker antag_flag = ROLE_VOIDWALKER antag_flag_override = ROLE_VOIDWALKER diff --git a/code/modules/unit_tests/worn_icons.dm b/code/modules/unit_tests/worn_icons.dm index ae9eb30068b2..297a56d8bf78 100644 --- a/code/modules/unit_tests/worn_icons.dm +++ b/code/modules/unit_tests/worn_icons.dm @@ -4,7 +4,7 @@ /// additional_icon_location is for downstream modularity support for finding missing sprites in additonal DMI file locations. /// Make sure this location is also present in tools/deploy.sh /// If you need additional paths ontop of this second one, you can add another generate_possible_icon_states_list("your/folder/path/") below the if(additional_icon_location) block in Run(), and make sure to add that path to tools/deploy.sh as well. - var/additional_icon_location = "modular_meta/features/heads_on_belts/icons/" //MASSMETA CHANGE (heads_on_belts) этого требуют тесты + var/additional_icon_location = "modular_meta/tweaks/heads_on_belts/icons/" //MASSMETA CHANGE (heads_on_belts) этого требуют тесты /datum/unit_test/worn_icons/proc/generate_possible_icon_states_list(directory_path) if(!directory_path) @@ -100,6 +100,10 @@ if(cached_slot_flags & ITEM_SLOT_BELT) icon_file = 'icons/mob/clothing/belt.dmi' + //MASSMETA ADD BEGIN (heads_on_belts) без этого орут тесты + if((icon_state in icon_states('modular_meta/tweaks/heads_on_belts/icons/belt.dmi', 1))) + continue + //MASSMETA ADD END if(!(icon_state in icon_states(icon_file, 1))) already_warned_icons += icon_state TEST_FAIL("[item_path] using invalid [worn_icon_state ? "worn_icon_state" : "icon_state"], \"[icon_state]\" in '[icon_file]'[match_message]") diff --git a/modular_meta/features/antagonists/bloodsuckers/rulesets.dm b/modular_meta/features/antagonists/bloodsuckers/rulesets.dm index ca9b25db768d..83a25f682027 100644 --- a/modular_meta/features/antagonists/bloodsuckers/rulesets.dm +++ b/modular_meta/features/antagonists/bloodsuckers/rulesets.dm @@ -28,6 +28,7 @@ /datum/dynamic_ruleset/midround/bloodsucker name = "Vampiric Accident" + midround_type = LIGHT_MIDROUND config_tag = "Midround Bloodsucker" preview_antag_datum = /datum/antagonist/bloodsucker pref_flag = ROLE_VAMPIRICACCIDENT diff --git a/modular_meta/features/kumiss_beverage/code/kumiss_reagent.dm b/modular_meta/features/kumiss_beverage/code/kumiss_reagent.dm index a35e327bcc0d..64f67eb8f1f3 100644 --- a/modular_meta/features/kumiss_beverage/code/kumiss_reagent.dm +++ b/modular_meta/features/kumiss_beverage/code/kumiss_reagent.dm @@ -44,7 +44,21 @@ /datum/chemical_reaction/consumable/kumiss results = list(/datum/reagent/consumable/kumiss = 3) - required_reagents = list(/datum/reagent/consumable/sugar = 1, /datum/reagent/consumable/milk = 1) + required_reagents = list(/datum/reagent/consumable/sugar = 1, /datum/reagent/consumable/milk/horse = 1) required_catalysts = list(/datum/reagent/consumable/enzyme = 5) reaction_tags = REACTION_TAG_EASY | REACTION_TAG_OTHER +// молоко кобылы +/datum/reagent/consumable/milk/horse + name = "Mare milk" + description = "An opaque white liquid produced by the mammary glands of mammals, in this case horses." + +/mob/living/basic/pony + var/milked_reagent = /datum/reagent/consumable/milk/horse + +/mob/living/basic/pony/Initialize(mapload) + setup_udder() + . = ..() + +/mob/living/basic/pony/proc/setup_udder() + AddComponent(/datum/component/udder, reagent_produced_override = milked_reagent) diff --git a/modular_meta/features/novichok/code/bottle.dm b/modular_meta/features/novichok/code/bottle.dm index f28e2e407fd0..e66605f9b021 100644 --- a/modular_meta/features/novichok/code/bottle.dm +++ b/modular_meta/features/novichok/code/bottle.dm @@ -1,5 +1,5 @@ -/obj/item/reagent_containers/cup/bottle/novichok - name = "novichok bottle" - desc = "A bottle full of an odd liquid, that seemingly has no color, as well as any sort of distinctive smell" - list_reagents = list(/datum/reagent/toxin/novichok = 30) - +/obj/item/reagent_containers/cup/bottle/novichok + name = "novichok bottle" + desc = "A bottle full of an odd liquid, that seemingly has no color, as well as any sort of distinctive smell" + list_reagents = list(/datum/reagent/toxin/novichok = 30) + diff --git a/modular_meta/features/novichok/code/novichok_reagent.dm b/modular_meta/features/novichok/code/novichok_reagent.dm index f215929958b8..cb90dc6d548c 100644 --- a/modular_meta/features/novichok/code/novichok_reagent.dm +++ b/modular_meta/features/novichok/code/novichok_reagent.dm @@ -1,39 +1,39 @@ -/datum/reagent/toxin/novichok - name = "Novichok" - description = "A lethal nerve agent." - color = "#AAAAAA77" - toxpwr = 2 - metabolization_rate = 0.7 * REAGENTS_METABOLISM - -/datum/reagent/toxin/novichok/proc/pick_paralyzed_limb() - return pick(TRAIT_PARALYSIS_L_ARM, TRAIT_PARALYSIS_R_ARM, TRAIT_PARALYSIS_R_LEG, TRAIT_PARALYSIS_L_LEG) - -/datum/reagent/toxin/novichok/on_mob_life(mob/living/carbon/M, seconds_per_tick, times_fired) - . = ..() - var/need_update - if(times_fired % 3 == 0) - need_update += M.adjustOxyLoss(12, updating_health = TRUE) - need_update += M.adjustOrganLoss(ORGAN_SLOT_HEART, 3 * REM * seconds_per_tick) - need_update += M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 3 * REM * seconds_per_tick) - if(times_fired % 30 == 0 && times_fired > 0) - if(ishuman(M) && !M.undergoing_cardiac_arrest() && M.can_heartattack()) - M.set_heartattack(TRUE) - if(M.stat == CONSCIOUS) - M.visible_message(span_userdanger("[M] clutches at [M.p_their()] chest as if [M.p_their()] heart stopped!")) - if(SPT_PROB(10, seconds_per_tick)) - var/paralyzed_limb = pick_paralyzed_limb() - ADD_TRAIT(M, paralyzed_limb, type) - need_update += M.adjustStaminaLoss(10 * REM * seconds_per_tick, updating_stamina = FALSE) - if(need_update) - return UPDATE_MOB_HEALTH - -/datum/reagent/toxin/novichok/on_mob_end_metabolize(mob/living/carbon/M) - . = ..() - if(!ishuman(M)) - return - REMOVE_TRAIT(M, TRAIT_PARALYSIS_L_ARM, type) - REMOVE_TRAIT(M, TRAIT_PARALYSIS_R_ARM, type) - REMOVE_TRAIT(M, TRAIT_PARALYSIS_L_LEG, type) - - REMOVE_TRAIT(M, TRAIT_PARALYSIS_R_LEG, type) - +/datum/reagent/toxin/novichok + name = "Novichok" + description = "A lethal nerve agent." + color = "#AAAAAA77" + toxpwr = 2 + metabolization_rate = 0.7 * REAGENTS_METABOLISM + +/datum/reagent/toxin/novichok/proc/pick_paralyzed_limb() + return pick(TRAIT_PARALYSIS_L_ARM, TRAIT_PARALYSIS_R_ARM, TRAIT_PARALYSIS_R_LEG, TRAIT_PARALYSIS_L_LEG) + +/datum/reagent/toxin/novichok/on_mob_life(mob/living/carbon/M, seconds_per_tick, times_fired) + . = ..() + var/need_update + if(times_fired % 3 == 0) + need_update += M.adjustOxyLoss(12, updating_health = TRUE) + need_update += M.adjustOrganLoss(ORGAN_SLOT_HEART, 3 * REM * seconds_per_tick) + need_update += M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 3 * REM * seconds_per_tick) + if(times_fired % 30 == 0 && times_fired > 0) + if(ishuman(M) && !M.undergoing_cardiac_arrest() && M.can_heartattack()) + M.set_heartattack(TRUE) + if(M.stat == CONSCIOUS) + M.visible_message(span_userdanger("[M] clutches at [M.p_their()] chest as if [M.p_their()] heart stopped!")) + if(SPT_PROB(10, seconds_per_tick)) + var/paralyzed_limb = pick_paralyzed_limb() + ADD_TRAIT(M, paralyzed_limb, type) + need_update += M.adjustStaminaLoss(10 * REM * seconds_per_tick, updating_stamina = FALSE) + if(need_update) + return UPDATE_MOB_HEALTH + +/datum/reagent/toxin/novichok/on_mob_end_metabolize(mob/living/carbon/M) + . = ..() + if(!ishuman(M)) + return + REMOVE_TRAIT(M, TRAIT_PARALYSIS_L_ARM, type) + REMOVE_TRAIT(M, TRAIT_PARALYSIS_R_ARM, type) + REMOVE_TRAIT(M, TRAIT_PARALYSIS_L_LEG, type) + + REMOVE_TRAIT(M, TRAIT_PARALYSIS_R_LEG, type) + diff --git a/modular_meta/features/novichok/code/poison_kit.dm b/modular_meta/features/novichok/code/poison_kit.dm index 63713913eecb..173fb4377696 100644 --- a/modular_meta/features/novichok/code/poison_kit.dm +++ b/modular_meta/features/novichok/code/poison_kit.dm @@ -1,5 +1,5 @@ - -/obj/item/storage/box/syndie_kit/chemical/PopulateContents() - .=..() - new /obj/item/reagent_containers/cup/bottle/novichok(src) - + +/obj/item/storage/box/syndie_kit/chemical/PopulateContents() + .=..() + new /obj/item/reagent_containers/cup/bottle/novichok(src) + diff --git a/modular_meta/features/novichok/includes.dm b/modular_meta/features/novichok/includes.dm index 8018710ba6d0..eff94af91c24 100644 --- a/modular_meta/features/novichok/includes.dm +++ b/modular_meta/features/novichok/includes.dm @@ -1,11 +1,11 @@ -#include "code\novichok_reagent.dm" -#include "code\poison_kit.dm" -#include "code\bottle.dm" - -/datum/modpack/novichok - id = "novichok" - name = "Новичок" - group = "Features" - desc = "Добавляет яд из СССР" - author = "DarkPush" - +#include "code\novichok_reagent.dm" +#include "code\poison_kit.dm" +#include "code\bottle.dm" + +/datum/modpack/novichok + id = "novichok" + name = "Новичок" + group = "Features" + desc = "Добавляет яд из СССР" + author = "DarkPush" +