diff --git a/modular_meta/features/jukeboxes_to_bartender/code/beacon.dm b/modular_meta/features/jukeboxes_to_bartender/code/beacon.dm new file mode 100644 index 000000000000..7b154fa114a3 --- /dev/null +++ b/modular_meta/features/jukeboxes_to_bartender/code/beacon.dm @@ -0,0 +1,19 @@ +/obj/item/choice_beacon/jukebox + name = "Jukebox delivery beacon" + desc = "Is it party time already?" +/obj/item/choice_beacon/jukebox/examine() + . = ..() + .+= span_warning("Chosen item will be bolted with floor upon an arrival. Please, be careful \ +with your pleased location") + +/obj/item/choice_beacon/jukebox/generate_display_names() + . = ..() + var/static/list/jukebox_items + if(!jukebox_items) + jukebox_items = list() + var/list/possible_jukebox_items = list( + /obj/machinery/jukebox + ) + for(var/obj/item/jukebox_item as anything in possible_jukebox_items) + jukebox_items[initial(jukebox_item.name)] = jukebox_item + return jukebox_items diff --git a/modular_meta/features/jukeboxes_to_bartender/code/loadout.dm b/modular_meta/features/jukeboxes_to_bartender/code/loadout.dm new file mode 100644 index 000000000000..401609edb72d --- /dev/null +++ b/modular_meta/features/jukeboxes_to_bartender/code/loadout.dm @@ -0,0 +1,5 @@ +/datum/outfit/job/bartender + backpack_contents = list( + /obj/item/storage/box/beanbag = 1, + /obj/item/choice_beacon/jukebox + ) diff --git a/modular_meta/features/jukeboxes_to_bartender/includes.dm b/modular_meta/features/jukeboxes_to_bartender/includes.dm new file mode 100644 index 000000000000..9b570d6e7b24 --- /dev/null +++ b/modular_meta/features/jukeboxes_to_bartender/includes.dm @@ -0,0 +1,9 @@ +#include "code\loadout.dm" +#include "code\beacon.dm" + +/datum/modpack/jukebox + id = "jukebox" + name = "jukebox beacon" + group = "Features" + desc = "Добавляет маяк отправляющий капсулу с джукбоксом " + author = "Bruh24" 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" + diff --git a/modular_meta/main_modular_include.dm b/modular_meta/main_modular_include.dm index 5b8a0cbb1f69..9bb50424c79b 100644 --- a/modular_meta/main_modular_include.dm +++ b/modular_meta/main_modular_include.dm @@ -40,6 +40,7 @@ #include "features\deathmatch\includes.dm" #include "features\countdown_antimov_sfx\includes.dm" #include "features\novichok\includes.dm" +#include "features\jukeboxes_to_bartender\includes.dm" /* --- Reverts --- */