Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
e5bb9f5
melporminer (bedtime)
dwinters99 Jan 31, 2026
394d27a
blaaah
dwinters99 Feb 1, 2026
8af9883
melpominee
dwinters99 Feb 2, 2026
b1a9ee6
a
dwinters99 Feb 2, 2026
9736cc9
citations, bugfix, and virtuosa v.01
dwinters99 Feb 9, 2026
443d9c8
Merge remote-tracking branch 'upstream/master' into melpominee
dwinters99 Feb 10, 2026
f448df7
forked emotion
dwinters99 Feb 11, 2026
c8a39ab
i'm DONE for tonight
dwinters99 Feb 11, 2026
d0627cb
Merge branch 'master' into melpominee
dwinters99 Feb 15, 2026
6eea5b8
reworks to emotion to make its handled less weird.
FalloutFalcon Feb 16, 2026
e07dd03
some fixes to melp
FalloutFalcon Feb 16, 2026
2a26813
yea
FalloutFalcon Feb 16, 2026
1074f36
Merge branch 'master' into melpominee
dwinters99 Feb 17, 2026
171de27
Update modular_darkpack/modules/quirks/code/negative_quirks/derangeme…
dwinters99 Feb 28, 2026
7464a26
Merge branch 'master' into melpominee
dwinters99 Feb 28, 2026
60ad2b6
ok yes melpogniner
dwinters99 Feb 28, 2026
70115c3
Update code/_globalvars/traits/_traits.dm
dwinters99 Mar 1, 2026
cb0556c
Update code/_globalvars/traits/_traits.dm
dwinters99 Mar 1, 2026
a217103
Update code/_globalvars/traits/_traits.dm
dwinters99 Mar 1, 2026
708b7a1
Update code/_globalvars/traits/_traits.dm
dwinters99 Mar 1, 2026
cbb95c6
i'm sure
dwinters99 Mar 1, 2026
5cc0983
Merge branch 'melpominee' of https://github.com/dwinters99/SecondCity…
dwinters99 Mar 1, 2026
8e860a0
Update code/_globalvars/traits/_traits.dm
dwinters99 Mar 1, 2026
6022cb4
frog
dwinters99 Mar 1, 2026
0dcba6f
we need to remove the trait regardless
dwinters99 Mar 1, 2026
a3d01ca
this is a real ballbreaker folks
dwinters99 Mar 1, 2026
e039641
phantom speaker datumization
dwinters99 Mar 6, 2026
76297ef
Merge branch 'master' into melpominee
dwinters99 Mar 6, 2026
b33f163
i need more clients to test this in more detail
dwinters99 Mar 6, 2026
586647f
oop
dwinters99 Mar 6, 2026
31770f2
remove reference comment
dwinters99 Mar 6, 2026
e56da97
Merge branch 'master' into melpominee
buffyuwu Mar 11, 2026
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
82 changes: 56 additions & 26 deletions code/__DEFINES/~darkpack/auras.dm
Original file line number Diff line number Diff line change
Expand Up @@ -40,29 +40,59 @@
#define AURA_FAERIE (FALSE) // Rainbow highlights in aura -- Not implemented. Changelings.

GLOBAL_LIST_INIT(aura_list, sort_list(list(
"Afraid" = AURA_AFRAID,
"Aggressive" = AURA_AGGRESSIVE,
"Angry" = AURA_ANGRY,
"Bitter" = AURA_BITTER,
"Calm" = AURA_CALM,
"Compassionate" = AURA_COMPASSIONATE,
"Conservative" = AURA_CONSERVATIVE,
"Depressed" = AURA_DEPRESSED,
"Desirous" = AURA_DESIROUS,
"Distrustful" = AURA_DISTRUSTFUL,
"Envious" = AURA_ENVIOUS,
"Excited" = AURA_EXCITED,
"Generous" = AURA_GENEROUS,
"Happy" = AURA_HAPPY,
"Hateful" = AURA_HATEFUL,
"Idealistic" = AURA_IDEALISTIC,
"Innocent" = AURA_INNOCENT,
"Lovestruck" = AURA_LOVESTRUCK,
"Obsessed" = AURA_OBSESSED,
"Sad" = AURA_SAD,
"Spiritual" = AURA_SPIRITUAL,
"Suspicious" = AURA_SUSPICIOUS,
"Anxious" = AURA_ANXIOUS,
"Confused" = AURA_CONFUSED,
"Daydreaming" = AURA_DAYDREAMING,
"Psychotic" = AURA_PSYCHOTIC)))
"Afraid" = AURA_AFRAID,
"Aggressive" = AURA_AGGRESSIVE,
"Angry" = AURA_ANGRY,
"Bitter" = AURA_BITTER,
"Calm" = AURA_CALM,
"Compassionate" = AURA_COMPASSIONATE,
"Conservative" = AURA_CONSERVATIVE,
"Depressed" = AURA_DEPRESSED,
"Desirous" = AURA_DESIROUS,
"Distrustful" = AURA_DISTRUSTFUL,
"Envious" = AURA_ENVIOUS,
"Excited" = AURA_EXCITED,
"Generous" = AURA_GENEROUS,
"Happy" = AURA_HAPPY,
"Hateful" = AURA_HATEFUL,
"Idealistic" = AURA_IDEALISTIC,
"Innocent" = AURA_INNOCENT,
"Lovestruck" = AURA_LOVESTRUCK,
"Obsessed" = AURA_OBSESSED,
"Sad" = AURA_SAD,
"Spiritual" = AURA_SPIRITUAL,
"Suspicious" = AURA_SUSPICIOUS,
"Anxious" = AURA_ANXIOUS,
"Confused" = AURA_CONFUSED,
"Daydreaming" = AURA_DAYDREAMING,
"Psychotic" = AURA_PSYCHOTIC
)))

GLOBAL_LIST_INIT(emotion_to_quality, sort_list(list(
"Afraid" = "fear",
"Aggressive" = "aggressiveness",
"Angry" = "anger",
"Bitter" = "bitterness",
"Calm" = "calmness",
"Compassionate" = "compassion",
"Conservative" = "conservativeness",
"Depressed" = "depression",
"Desirous" = "desire",
"Distrustful" = "distrust",
"Envious" = "envy",
"Excited" = "excitement",
"Generous" = "generosity",
"Happy" = "happiness",
"Hateful" = "hate",
"Idealistic" = "idealism",
"Innocent" = "innocence",
"Lovestruck" = "love",
"Obsessed" = "obsessiveness",
"Sad" = "sadness",
"Spiritual" = "spirituality",
"Suspicious" = "suspicion",
"Anxious" = "anxiety",
"Confused" = "confusion",
"Daydreaming" = "absentmindedness",
"Psychotic" = "psychosis"
)))
4 changes: 4 additions & 0 deletions code/__DEFINES/~darkpack/traits/declarations.dm
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,10 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai
// its called this because theres apparently already a defined quirk called 'hungry' which appears to lower your blood drawn from biting by half.
#define TRAIT_NEEDS_BLOOD "vampire_hungry"

// Is the character's emotion currently forced? Blocks emotion panel usage - Melpominee
#define TRAIT_FORCED_EMOTION "forced_emotion"
// Are we under the effects of Melpominee 5?
#define TRAIT_VIRTUOSA "virtuosa"
/// If the species has garou breeds to select.
#define TRAIT_WTA_GAROU_BREED "wta_garou_breeds"
// if the species has garou tribes to select.
Expand Down
2 changes: 2 additions & 0 deletions code/_globalvars/traits/_traits.dm
Original file line number Diff line number Diff line change
Expand Up @@ -681,6 +681,7 @@ GLOBAL_LIST_INIT(traits_by_type, list(
"TRAIT_FAKE_SOULLESS" = TRAIT_FAKE_SOULLESS, // DARKPACK EDIT ADD
"TRAIT_FEEDING_RESTRICTION" = TRAIT_FEEDING_RESTRICTION, // DARKPACK EDIT ADD
"TRAIT_FERA_FUR" = TRAIT_FERA_FUR, // DARKPACK EDIT ADD - WEREWOLF
"TRAIT_FORCED_EMOTION" = TRAIT_FORCED_EMOTION, // DARKPACK EDIT ADD - Melpominee
"TRAIT_FRENETIC_AURA" = TRAIT_FRENETIC_AURA, // DARKPACK EDIT ADD
"TRAIT_GHOST_VISION" = TRAIT_GHOST_VISION, // DARKPACK EDIT ADD - POWERS - (Necromancy)
"TRAIT_GULLET" = TRAIT_GULLET, // DARKPACK EDIT ADD
Expand Down Expand Up @@ -728,6 +729,7 @@ GLOBAL_LIST_INIT(traits_by_type, list(
"TRAIT_UNBONDABLE" = TRAIT_UNBONDABLE, // DARKPACK EDIT ADD
"TRAIT_UNMASQUERADE" = TRAIT_UNMASQUERADE, // DARKPACK EDIT ADD
"TRAIT_VIOLATOR" = TRAIT_VIOLATOR, // DARKPACK EDIT ADD
"TRAIT_VIRTUOSA" = TRAIT_VIRTUOSA, // DARKPACK EDIT ADD - Melpominee
"TRAIT_VITAE_ADDICTION" = TRAIT_VITAE_ADDICTION, // DARKPACK EDIT ADD
"TRAIT_VTM_CLANS" = TRAIT_VTM_CLANS, // DARKPACK EDIT ADD
"TRAIT_VTM_MORALITY" = TRAIT_VTM_MORALITY, // DARKPACK EDIT ADD
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
/mob/dead/observer
has_emotion = TRUE
var/soul_taken = FALSE //prevents necromancers from farming souls off one singular ghost

/mob/dead/observer/Initialize(mapload)
. = ..()
AddComponent(/datum/component/aura)
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
/mob/living/Initialize(mapload)
. = ..()
storyteller_stats = create_new_stat_prefs(storyteller_stats)
AddComponent(/datum/component/aura)
become_area_sensitive("zone_hud")
update_zone_hud(src, get_area(src))

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
/mob/living
has_emotion = TRUE

var/mob/living/lastattacked

var/bloodquality = 1
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
/mob
/// Emotion currently felt by the mob (for Auspex auras etc.) // (AS A COLOR... ≧ཀ≦)
var/current_emotion = "Innocent"
/// If the mob has emotions and therefore is granted a aura.
var/has_emotion = FALSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
/mob/Initialize(mapload)
. = ..()
if(has_emotion)
AddComponent(/datum/component/aura)
Binary file modified modular_darkpack/modules/deprecated/icons/particle_effects.dmi
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -717,6 +717,9 @@
* duration_timer expire without calling the relevant proc.
*/
/datum/discipline_power/proc/clear_duration_timer(to_clear = 1)
if(duration_override)
return

if (toggled && (duration_length == 0))
return

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
var/datum/atom_hud/data/auspex_aura/target_hud = GLOB.huds[DATA_HUD_AUSPEX_AURAS]
target_hud.add_atom_to_hud(parent_mob)

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))
update_aura()
Expand All @@ -21,7 +20,6 @@
var/datum/atom_hud/data/auspex_aura/target_hud = GLOB.huds[DATA_HUD_AUSPEX_AURAS]
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))
return ..()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,8 @@

var/list/heard = orange(DEFAULT_MESSAGE_RANGE, owner)
for(var/mob/living/hearer in heard)
hearer.apply_status_effect(/datum/status_effect/question_emotion)
if(!HAS_TRAIT(src, TRAIT_FORCED_EMOTION))
hearer.apply_status_effect(/datum/status_effect/question_emotion)

/datum/discipline_power/auspex/aura_perception/deactivate()
. = ..()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,21 @@
set category = "IC"
set desc = "Change your character's emotions."

if(HAS_TRAIT(src, TRAIT_FORCED_EMOTION))
to_chat(src, span_warning("You cannot change emotions right now."))
return FALSE

// This really shouldnt be using aura here. it needs to be detached and made unrelenient on aura/auspex. - Fallcon
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wdym
Dont think theres anything here that pidgeonholes it into auspex?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

its in the auspex folder lol.

var/new_emotion = tgui_input_list(src, "What are you feeling?", "Feelings", GLOB.aura_list)
if(isnull(new_emotion))
return FALSE
set_emotion(new_emotion)

/mob/proc/set_emotion(new_emotion)
if(current_emotion == new_emotion)
return

current_emotion = new_emotion
SEND_SIGNAL(src, COMSIG_MOB_EMOTION_CHANGED, new_emotion)

/datum/status_effect/question_emotion
Expand Down Expand Up @@ -34,3 +46,18 @@
attached_effect.owner.emotion_panel()
// Regardless if they acctually end up setting anything, clear the status effect
qdel(attached_effect)

/datum/status_effect/forced_emotion
id = "question_emotion"
// Nothing says it needs to be a scene, I just like using our defines to create nice standards of time.
duration = 1 SCENES

status_type = STATUS_EFFECT_REPLACE

alert_type = /atom/movable/screen/alert/status_effect/forced_emotion

/atom/movable/screen/alert/status_effect/forced_emotion
name = "Forced emotion"
desc = "Something is forcing your mind into a particular emotion."
icon = 'modular_darkpack/modules/deprecated/icons/hud/screen_alert.dmi'
icon_state = "in_love"
Loading
Loading