Skip to content

Commit

Permalink
The obsession trauma now disguises itself as monophobia until a certa…
Browse files Browse the repository at this point in the history
…in point (#9798)
  • Loading branch information
Absolucy authored Oct 21, 2023
1 parent f376b98 commit 2c90260
Showing 1 changed file with 14 additions and 1 deletion.
15 changes: 14 additions & 1 deletion code/datums/brain_damage/obsessed_trauma.dm
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
#define OBSESSION_REVEAL_TIME 7.5 MINUTES //! After this amount of time is spent near the target, the obsession trauma will reveal its true nature to health analyzers.

/datum/brain_trauma/special/obsessed
name = "Psychotic Schizophrenia"
desc = "Patient has a subtype of delusional disorder, becoming irrationally attached to someone."
scan_desc = "psychotic schizophrenic delusions"
scan_desc = "monophobia"
gain_text = "If you see this message, make a github issue report. The trauma initialized wrong."
lose_text = "<span class='warning'>The voices in your head fall silent.</span>"
can_gain = TRUE
Expand All @@ -11,6 +13,8 @@
var/datum/objective/spendtime/attachedobsessedobj
var/datum/antagonist/obsessed/antagonist
var/viewing = FALSE //it's a lot better to store if the owner is watching the obsession than checking it twice between two procs
var/revealed = FALSE
var/static/true_scan_desc = "psychotic schizophrenic delusions"

var/total_time_creeping = 0 //just for roundend fun
var/time_spent_away = 0
Expand Down Expand Up @@ -50,6 +54,8 @@
if(viewing)
SEND_SIGNAL(owner, COMSIG_ADD_MOOD_EVENT, "creeping", /datum/mood_event/creeping, obsession.name)
total_time_creeping += 2 SECONDS
if(!revealed && (total_time_creeping >= OBSESSION_REVEAL_TIME))
reveal()
time_spent_away = 0
if(attachedobsessedobj)//if an objective needs to tick down, we can do that since traumas coexist with the antagonist datum
attachedobsessedobj.timer -= 2 SECONDS //mob subsystem ticks every 2 seconds(?), remove 20 deciseconds from the timer. sure, that makes sense.
Expand All @@ -73,6 +79,11 @@
if(hugged == obsession.current)
obsession_hug_count++

/datum/brain_trauma/special/obsessed/proc/reveal()
revealed = TRUE
scan_desc = true_scan_desc
to_chat(owner, "<span class='hypnophrase'>The deep, overwhelming concern for <span class='name'>[obsession.name]</span> within you continues to blossom, making you suddenly feel as if your obsessive behavior is somewhat more obvious...</span>")

/datum/brain_trauma/special/obsessed/proc/on_obsession_cryoed()
SIGNAL_HANDLER

Expand Down Expand Up @@ -107,3 +118,5 @@
if(length(possible_targets))
chosen_victim = pick_weight(possible_targets)
return chosen_victim

#undef OBSESSION_REVEAL_TIME

0 comments on commit 2c90260

Please sign in to comment.