Skip to content
Merged
5 changes: 5 additions & 0 deletions modular_meta/features/novichok/code/bottle.dm
Original file line number Diff line number Diff line change
@@ -0,0 +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)

37 changes: 37 additions & 0 deletions modular_meta/features/novichok/code/novichok_reagent.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
/datum/reagent/toxin/novichok
name = "Novichok"
description = "A lethal nerve agent."
color = "#D9D9D9"
toxpwr = 2
metabolization_rate = 0.3 * 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)
5 changes: 5 additions & 0 deletions modular_meta/features/novichok/code/poison_kit.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@

/obj/item/storage/box/syndie_kit/chemical/PopulateContents()
.=..()
new /obj/item/reagent_containers/cup/bottle/novichok(src)

11 changes: 11 additions & 0 deletions modular_meta/features/novichok/includes.dm
Original file line number Diff line number Diff line change
@@ -0,0 +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"

1 change: 1 addition & 0 deletions modular_meta/main_modular_include.dm
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
#include "features\telescience\includes.dm"
#include "features\deathmatch\includes.dm"
#include "features\countdown_antimov_sfx\includes.dm"
#include "features\novichok\includes.dm"

/* --- Reverts --- */

Expand Down
Loading