diff --git a/code/__DEFINES/~darkpack/traits/declarations.dm b/code/__DEFINES/~darkpack/traits/declarations.dm
index 5291c3c51d00..393e5b1c1a7d 100644
--- a/code/__DEFINES/~darkpack/traits/declarations.dm
+++ b/code/__DEFINES/~darkpack/traits/declarations.dm
@@ -68,8 +68,8 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai
#define TRAIT_REPELLED_BY_HOLINESS "repelled_by_holiness"
/// Any changes in this Kindred's Humanity will be doubled
#define TRAIT_SENSITIVE_HUMANITY "sensitive_humanity"
-/// Duration of frenzy is doubled
-#define TRAIT_LONGER_FRENZY "longer_frenzy"
+/// Difficultie rolls to resist or guide frenzy are two higher. They can also never spend willpower to avoid frenzy
+#define TRAIT_DIFFICULT_FRENZY "difficult_frenzy"
// DARKPACK TODO - refactor these traits into mutant bodyparts and a component maybe
/// If eyes are uncovered, they will be obviously supernatural to everyone nearby
#define TRAIT_MASQUERADE_VIOLATING_EYES "masquerade_violating_eyes"
diff --git a/code/__DEFINES/~darkpack/traits/sources.dm b/code/__DEFINES/~darkpack/traits/sources.dm
index 6402f89925de..27de70c1cba1 100644
--- a/code/__DEFINES/~darkpack/traits/sources.dm
+++ b/code/__DEFINES/~darkpack/traits/sources.dm
@@ -11,3 +11,5 @@
// used by the obfuscate ability
#define OBFUSCATE_TRAIT "obfuscate_trait"
+
+#define FRENZY_TRAIT "frenzy" // FRENZY
diff --git a/code/_globalvars/traits/_traits.dm b/code/_globalvars/traits/_traits.dm
index 4b30fcfba89b..95c8a5b7a44d 100644
--- a/code/_globalvars/traits/_traits.dm
+++ b/code/_globalvars/traits/_traits.dm
@@ -403,7 +403,7 @@ GLOBAL_LIST_INIT(traits_by_type, list(
"TRAIT_LIMBATTACHMENT" = TRAIT_LIMBATTACHMENT,
"TRAIT_LITERATE" = TRAIT_LITERATE,
"TRAIT_LIVERLESS_METABOLISM" = TRAIT_LIVERLESS_METABOLISM,
- "TRAIT_LONGER_FRENZY" = TRAIT_LONGER_FRENZY, // DARKPACK EDIT ADD
+ "TRAIT_DIFFICULT_FRENZY" = TRAIT_DIFFICULT_FRENZY, // DARKPACK EDIT ADD
"TRAIT_LOUD_BINARY" = TRAIT_LOUD_BINARY,
"TRAIT_LUMINESCENT_EYES" = TRAIT_LUMINESCENT_EYES,
"TRAIT_MADNESS_IMMUNE" = TRAIT_MADNESS_IMMUNE,
diff --git a/code/game/objects/items/cigarettes.dm b/code/game/objects/items/cigarettes.dm
index 4a4ab465f0ae..b587f47cfd8d 100644
--- a/code/game/objects/items/cigarettes.dm
+++ b/code/game/objects/items/cigarettes.dm
@@ -460,6 +460,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
var/mob/living/carbon/smoker = loc
if(src == smoker.wear_mask)
make_mob_smoke(smoker)
+ smoker.trigger_rotschreck(src, 3) // DARKPACK EDIT ADD - FRENZY
/obj/item/cigarette/extinguish()
. = ..()
diff --git a/modular_darkpack/master_files/code/modules/mob/living/carbon/human/death.dm b/modular_darkpack/master_files/code/modules/mob/living/carbon/human/death.dm
index 5e1cc763e372..0c8450e0362f 100644
--- a/modular_darkpack/master_files/code/modules/mob/living/carbon/human/death.dm
+++ b/modular_darkpack/master_files/code/modules/mob/living/carbon/human/death.dm
@@ -13,10 +13,8 @@
if(brain)
brain.organ_flags |= ORGAN_FAILING
- /*
if(HAS_TRAIT(src, TRAIT_IN_FRENZY))
- exit_frenzymod()
- */
+ exit_frenzy_mode()
SEND_SOUND(src, sound('modular_darkpack/modules/vampire_the_masquerade/sounds/final_death.ogg', volume = 50))
switch (chronological_age)
diff --git a/modular_darkpack/modules/blood_drinking/code/kiss_status_effect/status_effect_kiss.dm b/modular_darkpack/modules/blood_drinking/code/kiss_status_effect/status_effect_kiss.dm
index d7bb45fbd1a6..a0d21c6823b7 100644
--- a/modular_darkpack/modules/blood_drinking/code/kiss_status_effect/status_effect_kiss.dm
+++ b/modular_darkpack/modules/blood_drinking/code/kiss_status_effect/status_effect_kiss.dm
@@ -7,7 +7,7 @@
/datum/status_effect/kissed/on_apply()
. = ..()
to_chat(owner, span_userlove("Sharp fangs pierce your skin, but the pain quickly fades as a numbing warmth sets in...")) //feel free to change these
- owner.add_client_colour(/datum/client_colour/brightened)
+ owner.add_client_colour(/datum/client_colour/brightened, "kissed")
if(ishuman(owner))
var/mob/living/carbon/human/H = owner
H.adjust_eye_blur(15)
@@ -15,7 +15,7 @@
/datum/status_effect/kissed/on_remove()
to_chat(owner, span_userlove("As you wake, you find it hard to recall anything of the past few minutes. All you remember is a pleasant, warm feeling.")) //feel free to change these
- owner.remove_client_colour(/datum/client_colour/brightened)
+ owner.remove_client_colour("kissed")
owner.SetSleeping(50)
if(ishuman(owner))
var/mob/living/carbon/human/H = owner
@@ -28,5 +28,5 @@
icon_state = "in_love" //would be good to give this it's own icon eventually
/datum/client_colour/brightened
- priority = CLIENT_COLOR_HELMET_PRIORITY
+ priority = CLIENT_COLOR_IMPORTANT_PRIORITY
color = list(1.15,0,0,0,1.15,0,0,0,1.15,0,0,0)
diff --git a/modular_darkpack/modules/blood_drinking/code/vamp_bite.dm b/modular_darkpack/modules/blood_drinking/code/vamp_bite.dm
index 5317381c1521..eed5592b5510 100644
--- a/modular_darkpack/modules/blood_drinking/code/vamp_bite.dm
+++ b/modular_darkpack/modules/blood_drinking/code/vamp_bite.dm
@@ -40,17 +40,7 @@
var/skipface = (wear_mask && (wear_mask.flags_inv & HIDEFACE)) || (head && (head.flags_inv & HIDEFACE))
if(!skipface)
if(iskindred(src) && HAS_TRAIT(src, TRAIT_NEEDS_BLOOD))
- var/datum/splat/vampire/kindred/kindred_species = iskindred(src)
- var/stat_to_roll = kindred_species.enlightenment ? STAT_INSTINCT : STAT_SELF_CONTROL
- var/datum/storyteller_roll/frezy_roll = new()
- frezy_roll.applicable_stats = list(stat_to_roll)
- var/frenzy_result = frezy_roll.st_roll(src, bit_living)
- if(frenzy_result != ROLL_SUCCESS)
- to_chat(src, span_userdanger("The taste of blood sends you into a frenzy as you feed!"))
- // DARKPACK TODO: frenzy, please put the call here
- else
- to_chat(src, span_green("The taste of fresh blood while hungry almost drives you into frenzy!"))
-
+ trigger_kindred_frenzy(bit_living, 6, "The taste of blood while hungry")
if(!HAS_TRAIT(src, TRAIT_BLOODY_LOVER))
playsound(src, 'modular_darkpack/modules/blood_drinking/sounds/drinkblood1.ogg', 50, TRUE)
bit_living.visible_message(span_warning(span_bold("[src] bites [bit_living]'s neck!")), span_warning(span_bold("[src] bites your neck!")))
diff --git a/modular_darkpack/modules/frenzy/code/frenzy.dm b/modular_darkpack/modules/frenzy/code/frenzy.dm
index 0c92e39d15a0..a339d2a91d8f 100644
--- a/modular_darkpack/modules/frenzy/code/frenzy.dm
+++ b/modular_darkpack/modules/frenzy/code/frenzy.dm
@@ -1,7 +1,7 @@
-//Here's things for future madness
+// V20 p.298 + W20 p.261
-//add_client_colour(/datum/client_colour/glass_colour/red)
-//remove_client_colour(/datum/client_colour/glass_colour/red)
+
+/*
/client/Click(object,location,control,params)
if(isatom(object))
if(ishuman(mob))
@@ -9,82 +9,135 @@
if(H.in_frenzy)
return
..()
+*/
+
+/*
+/datum/storyteller_roll/frenzy
/mob/living/carbon/proc/rollfrenzy()
- if(client)
- if(isgarou(src) || iswerewolf(src))
- to_chat(src, "I'm full of [span_danger("ANGER")], and I'm about to flare up in [span_danger("RAGE")]. Rolling...")
- else if(iskindred(src))
- to_chat(src, "I need [span_danger("BLOOD")]. The [span_danger("BEAST")] is calling. Rolling...")
+ if(!client && !isnpc(src)) // I guess this is to make sure afk players dont have there characters frenzy while they arent here?
+ return
+
+ if(iskindred(src))
+ to_chat(src, "I need [span_danger("BLOOD")]. The [span_danger("BEAST")] is calling. Rolling...")
+ /* // DARKPACK TODO - WEREWOLF
+ else if(isshifter(src))
+ to_chat(src, "I'm full of [span_danger("ANGER")], and I'm about to flare up in [span_danger("RAGE")]. Rolling...")
+ */
+ else
+ to_chat(src, "I'm too [span_danger("AFRAID")] to continue doing this. Rolling...")
+ SEND_SOUND(src, sound('modular_darkpack/modules/deprecated/sounds/bloodneed.ogg', volume = 50))
+
+ var/check = SSroll.storyteller_roll(max(1, round(humanity/2)), min(frenzy_chance_boost, frenzy_hardness), src)
+
+ // Modifier for frenzy duration
+ var/length_modifier = HAS_TRAIT(src, TRAIT_DIFFICULT_FRENZY) ? 2 : 1
+
+ switch(check)
+ if (DICE_CRIT_FAILURE)
+ enter_frenzy_mode()
+ addtimer(CALLBACK(src, PROC_REF(exit_frenzy_mode)), 3 TURNS * length_modifier)
+ frenzy_hardness = 1
+ if (DICE_FAILURE)
+ enter_frenzy_mode()
+ addtimer(CALLBACK(src, PROC_REF(exit_frenzy_mode)), 1 TURNS * length_modifier)
+ frenzy_hardness = 1
+ if (DICE_CRIT_WIN)
+ frenzy_hardness = max(1, frenzy_hardness - 1)
else
- to_chat(src, "I'm too [span_danger("AFRAID")] to continue doing this. Rolling...")
- SEND_SOUND(src, sound('modular_darkpack/modules/deprecated/sounds/bloodneed.ogg', volume = 50))
-
- var/check = SSroll.storyteller_roll(max(1, round(humanity/2)), min(frenzy_chance_boost, frenzy_hardness), src)
-
- // Modifier for frenzy duration
- var/length_modifier = HAS_TRAIT(src, TRAIT_LONGER_FRENZY) ? 2 : 1
-
- switch(check)
- if (DICE_CRIT_FAILURE)
- enter_frenzymod()
- addtimer(CALLBACK(src, PROC_REF(exit_frenzymod)), 20 SECONDS * length_modifier)
- frenzy_hardness = 1
- if (DICE_FAILURE)
- enter_frenzymod()
- addtimer(CALLBACK(src, PROC_REF(exit_frenzymod)), 10 SECONDS * length_modifier)
- frenzy_hardness = 1
- if (DICE_CRIT_WIN)
- frenzy_hardness = max(1, frenzy_hardness - 1)
- else
- frenzy_hardness = min(10, frenzy_hardness + 1)
+ frenzy_hardness = min(10, frenzy_hardness + 1)
+*/
-/mob/living/carbon/proc/enter_frenzymod()
- if (in_frenzy)
+/mob/living/carbon/proc/enter_frenzy_mode(atom/target, fleeing = FALSE)
+ if(HAS_TRAIT(src, TRAIT_IN_FRENZY))
return
+ ADD_TRAIT(src, TRAIT_IN_FRENZY, FRENZY_TRAIT)
+ message_admins("[ADMIN_LOOKUPFLW(src)] has entered frenzy")
+ log_message("entered frenzy.", LOG_GAME)
+
+ if(fleeing)
+ to_chat(src, span_danger("FLEE."))
+ else
+ to_chat(src, span_bolddanger("FRENZY."))
SEND_SOUND(src, sound('modular_darkpack/modules/frenzy/sounds/frenzy.ogg', volume = 50))
- in_frenzy = TRUE
- add_client_colour(/datum/client_colour/glass_colour/red)
- demon_chi = 0
- GLOB.frenzy_list += src
-/mob/living/carbon/proc/exit_frenzymod()
- if (!in_frenzy)
+ apply_status_effect(/datum/status_effect/frenzy, target)
+
+ // This is assuming no other interaction happens to remove it before this.
+ addtimer(CALLBACK(src, PROC_REF(exit_frenzy_mode)), 3 TURNS)
+
+/mob/living/carbon/proc/exit_frenzy_mode()
+ if(!HAS_TRAIT(src, TRAIT_IN_FRENZY))
return
+ REMOVE_TRAIT(src, TRAIT_IN_FRENZY, FRENZY_TRAIT)
+ log_message("exited frenzy.", LOG_GAME)
+
+ remove_status_effect(/datum/status_effect/frenzy)
+
+/datum/storyteller_roll/frenzy
+ abstract_type = /datum/storyteller_roll/frenzy
+ bumper_text = "frenzy"
+ numerical = TRUE
+
+/datum/storyteller_roll/frenzy/calculate_used_difficulty(mob/living/roller)
+ . = ..()
+ // V20 p.51
+ if(HAS_TRAIT(roller, TRAIT_DIFFICULT_FRENZY))
+ . += 2
+
+/datum/storyteller_roll/frenzy/rotschreck
+ applicable_stats = list(STAT_COURAGE)
+
+/datum/storyteller_roll/frenzy/kindred
- in_frenzy = FALSE
- remove_client_colour(/datum/client_colour/glass_colour/red)
- GLOB.frenzy_list -= src
-
-/mob/living/carbon/proc/CheckFrenzyMove()
- if(stat >= SOFT_CRIT)
- return TRUE
- if(IsSleeping())
- return TRUE
- if(IsUnconscious())
- return TRUE
- if(IsParalyzed())
- return TRUE
- if(IsKnockdown())
- return TRUE
- if(IsStun())
- return TRUE
+/mob/living/carbon/proc/trigger_rotschreck(atom/fire, difficulty = 6)
+ var/datum/storyteller_roll/frenzy/rotschreck/frenzy_roll = new()
+ frenzy_roll.difficulty = difficulty
+ var/frenzy_result = frenzy_roll.st_roll(src, fire)
+ if(frenzy_result >= 5)
+ return
+ // Mabye change some logic to signals as well.
+ if(iskindred(src))
+ enter_frenzy_mode(fire, TRUE)
+
+/mob/living/carbon/proc/trigger_kindred_frenzy(atom/target, difficulty = 6, flavor_text = "Something")
+ var/datum/splat/vampire/kindred/kindred_species = iskindred(src)
+ var/stat_to_roll = kindred_species.enlightenment ? STAT_INSTINCT : STAT_SELF_CONTROL
+ var/datum/storyteller_roll/frenzy/kindred/frenzy_roll = new()
+ frenzy_roll.applicable_stats = list(stat_to_roll)
+ frenzy_roll.difficulty = difficulty
+ var/frenzy_result = frenzy_roll.st_roll(src, target)
+ if(frenzy_result >= 5)
+ to_chat(src, span_green("[flavor_text] almost drives you into frenzy!"))
+ return
+ to_chat(src, span_userdanger("[flavor_text] sends you into a frenzy!"))
+ enter_frenzy_mode(target)
+
+// Unimplemented
+
+
+/mob/living/carbon/proc/can_frenzy_move()
+ if(HAS_TRAIT(src, TRAIT_INCAPACITATED))
+ return FALSE
if(HAS_TRAIT(src, TRAIT_RESTRAINED))
- return TRUE
+ return FALSE
+
+ return TRUE
/mob/living/carbon/proc/frenzystep()
- if(!isturf(loc) || CheckFrenzyMove())
+ if(!isturf(loc) || can_frenzy_move())
return
if(move_intent == MOVE_INTENT_WALK)
toggle_move_intent(src)
- set_glide_size(DELAY_TO_GLIDE_SIZE(cached_multiplicative_slowdown))
var/atom/fear = get_closest_atom(/obj/effect/abstract/turf_fire, view(7, src), src)
-// if(!fear && !frenzy_target)
-// return
+ var/frenzy_target
+ if(!fear && !frenzy_target)
+ return
+ /*
if(iskindred(src))
if(fear)
step_away(src,fear,99)
@@ -122,7 +175,9 @@
else
step_to(src,frenzy_target,0)
face_atom(frenzy_target)
+ */
+/*
/mob/living/carbon/proc/get_frenzy_targets()
var/list/targets = list()
if(iskindred(src))
@@ -141,7 +196,9 @@
return pick(targets)
else
return null
+*/
+/*
/mob/living/carbon/proc/handle_automated_frenzy()
for(var/mob/living/carbon/human/npc/NPC in viewers(5, src))
NPC.Aggro(src)
@@ -153,8 +210,24 @@
for(var/i in 1 to reqsteps)
addtimer(cb, (i - 1)*cached_multiplicative_slowdown)
else
- if(!CheckFrenzyMove())
+ if(!can_frenzy_move())
if(isturf(loc))
var/turf/T = get_step(loc, pick(NORTH, SOUTH, WEST, EAST))
face_atom(T)
Move(T)
+*/
+
+#warn placeholder
+/mob/living/carbon/verb/manual_frenzy(atom/movable/AM as mob|obj in oview(7))
+ set name = "Frenzy"
+ set category = "Object"
+
+ if(!istype(AM))
+ return
+ if(!issupernatural(src))
+ return
+
+ if(iskindred(src))
+ trigger_kindred_frenzy(AM)
+ else
+ enter_frenzy_mode(AM)
diff --git a/modular_darkpack/modules/frenzy/code/status_effect.dm b/modular_darkpack/modules/frenzy/code/status_effect.dm
new file mode 100644
index 000000000000..9b87b8ffdafd
--- /dev/null
+++ b/modular_darkpack/modules/frenzy/code/status_effect.dm
@@ -0,0 +1,40 @@
+/datum/client_colour/frenzy
+ priority = CLIENT_COLOR_IMPORTANT_PRIORITY
+ color = COLOR_RED
+
+/datum/status_effect/frenzy
+ id = "frenzy"
+ duration = STATUS_EFFECT_PERMANENT
+ status_type = STATUS_EFFECT_REFRESH
+ alert_type = /atom/movable/screen/alert/status_effect/frenzy
+ var/datum/weakref/frenzy_ref
+
+/datum/status_effect/frenzy/on_creation(mob/living/new_owner, atom/frenzy_target)
+ . = ..()
+ if(!.)
+ return
+ new_owner.add_client_colour(/datum/client_colour/frenzy, FRENZY_TRAIT)
+
+ if(frenzy_target)
+ frenzy_ref = WEAKREF(frenzy_target.add_alt_appearance(
+ /datum/atom_hud/alternate_appearance/basic/one_person,
+ "frenzy_target",
+ image(icon = 'modular_darkpack/modules/frenzy/icons/frenzy_overlay.dmi', icon_state = "frenzy_overlay", loc = frenzy_target),
+ null,
+ new_owner,
+ ))
+
+/datum/status_effect/frenzy/on_remove()
+ var/datum/atom_hud/hud = frenzy_ref.resolve()
+ if(hud)
+ qdel(hud)
+ QDEL_NULL(frenzy_ref)
+ owner.remove_client_colour(FRENZY_TRAIT)
+ return ..()
+
+/atom/movable/screen/alert/status_effect/frenzy
+ name = "Frenzy"
+ desc = "FRENZY."
+ icon = 'modular_darkpack/modules/deprecated/icons/hud/screen_alert.dmi'
+ icon_state = "fear"
+
diff --git a/modular_darkpack/modules/frenzy/icons/frenzy_overlay.dmi b/modular_darkpack/modules/frenzy/icons/frenzy_overlay.dmi
new file mode 100644
index 000000000000..229075cd7c69
Binary files /dev/null and b/modular_darkpack/modules/frenzy/icons/frenzy_overlay.dmi differ
diff --git a/modular_darkpack/modules/powers/code/discipline/auspex/aura_component.dm b/modular_darkpack/modules/powers/code/discipline/auspex/aura_component.dm
index dbe6f5ed2ef3..702bfbb74a02 100644
--- a/modular_darkpack/modules/powers/code/discipline/auspex/aura_component.dm
+++ b/modular_darkpack/modules/powers/code/discipline/auspex/aura_component.dm
@@ -13,7 +13,7 @@
add_verb(parent_mob, /mob/verb/emotion_panel)
RegisterSignal(parent_mob, COMSIG_MOB_EMOTION_CHANGED, PROC_REF(update_emotions))
- RegisterSignal(parent_mob, COMSIG_MOB_UPDATE_AURA, PROC_REF(update_aura))
+ RegisterSignals(parent_mob, list(COMSIG_MOB_UPDATE_AURA, COMSIG_LIVING_GAINED_SPLAT, COMSIG_LIVING_LOSE_SPLAT, SIGNAL_ADDTRAIT(TRAIT_IN_FRENZY), SIGNAL_REMOVETRAIT(TRAIT_IN_FRENZY)), PROC_REF(update_aura))
update_aura()
/datum/component/aura/UnregisterFromParent()
@@ -22,7 +22,7 @@
target_hud.remove_atom_from_hud(parent_mob)
remove_verb(parent_mob, /mob/verb/emotion_panel)
- UnregisterSignal(parent_mob, list(COMSIG_MOB_EMOTION_CHANGED, COMSIG_MOB_UPDATE_AURA))
+ UnregisterSignal(parent_mob, list(COMSIG_MOB_EMOTION_CHANGED, COMSIG_LIVING_GAINED_SPLAT, COMSIG_LIVING_LOSE_SPLAT, SIGNAL_ADDTRAIT(TRAIT_IN_FRENZY), SIGNAL_REMOVETRAIT(TRAIT_IN_FRENZY)))
return ..()
/datum/component/aura/proc/update_emotions(mob/changed_mob, new_emotion)
diff --git a/modular_darkpack/modules/storyteller_dice/code/roll_datum.dm b/modular_darkpack/modules/storyteller_dice/code/roll_datum.dm
index 15fae4a95cb5..c78fc8700176 100644
--- a/modular_darkpack/modules/storyteller_dice/code/roll_datum.dm
+++ b/modular_darkpack/modules/storyteller_dice/code/roll_datum.dm
@@ -48,15 +48,16 @@
return ROLL_FAILURE
var/dice_amount = calculate_used_dice(roller, bonus)
+ var/used_difficulty = calculate_used_difficulty(roller)
var/list/rolled_dice = roll_dice(dice_amount)
- var/first_line = "[span_tooltip(show_rolling_with(roller, bonus), "[dice_amount] dice")] vs. difficulty [difficulty]."
+ var/first_line = "[span_tooltip(show_rolling_with(roller, bonus), "[dice_amount] dice")] vs. difficulty [used_difficulty]."
if(successes_needed > 1)
first_line += " [successes_needed] successes needed."
last_output_text += span_notice(first_line)
- last_sucess_amount = count_success(rolled_dice, difficulty, last_output_text)
+ last_sucess_amount = count_success(rolled_dice, used_difficulty, last_output_text)
var/output = roll_result(last_sucess_amount)
var/title
@@ -121,6 +122,9 @@
/datum/storyteller_roll/proc/using_stats(mob/living/roller)
return applicable_stats
+/datum/storyteller_roll/proc/calculate_used_difficulty(mob/living/roller)
+ return difficulty
+
/datum/storyteller_roll/proc/show_rolling_with(mob/living/roller, bonus = 0)
var/output = ""
var/stuff = list()
diff --git a/modular_darkpack/modules/vampire_the_masquerade/code/vampire_clan/clans/brujah.dm b/modular_darkpack/modules/vampire_the_masquerade/code/vampire_clan/clans/brujah.dm
index 805920fed25e..b95f06b05c6a 100644
--- a/modular_darkpack/modules/vampire_the_masquerade/code/vampire_clan/clans/brujah.dm
+++ b/modular_darkpack/modules/vampire_the_masquerade/code/vampire_clan/clans/brujah.dm
@@ -10,7 +10,7 @@
/datum/discipline/presence
)
clan_traits = list(
- TRAIT_LONGER_FRENZY
+ TRAIT_DIFFICULT_FRENZY
)
male_clothes = /obj/item/clothing/under/vampire/brujah
female_clothes = /obj/item/clothing/under/vampire/brujah/female
diff --git a/tgstation.dme b/tgstation.dme
index 367abcf91a06..1a98fa6aaf2b 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -7152,6 +7152,8 @@
#include "modular_darkpack\modules\forensics\code\forensic_gatherer.dm"
#include "modular_darkpack\modules\forensics\code\serial_number_log.dm"
#include "modular_darkpack\modules\forensics\code\serial_numbering.dm"
+#include "modular_darkpack\modules\frenzy\code\frenzy.dm"
+#include "modular_darkpack\modules\frenzy\code\status_effect.dm"
#include "modular_darkpack\modules\government\code\carry_permit.dm"
#include "modular_darkpack\modules\government\code\drivers_license.dm"
#include "modular_darkpack\modules\government\code\passport.dm"