Files
Bubberstation/code/datums/components/heirloom.dm
tralezab 240cb31e12 [READY] New Side Antagonist: The Creep! (#42021)
cl
add: Added a new antagonist, the Creep!
add: Chosen from a random event, the Creep will become obsessed with one person, feeling amazing around them and terrible when they aren't. They will have objectives to steal heirlooms, take pictures, hug, and kill coworkers. They also have to kill the obsession but some objectives can only be completed while the obsession is alive, requiring you to protect the obsession!
/cl

There really is no reason to betray people, generally. Maybe some stuff with security and traitors working things out, but a traitor based around betrayal and the general insane creep idea is just cool.

One Creep can show up, and they get objectives to mess with their obsession leading to the obsession's death. Here is their objectives:

    A random creepy objective. It could be taking a photo with them in it, hugging them, etc
    After your are done with your objectives, kill them. you can't complete the objectives when they are dead!

Creeps do not get the determination mood. Instead, when they are around their obsession, they feel AMAZING! If they are around too long, they will stutter, cough, and generally spaghetti out when talking near their obsession. So if you are going to talk near them, do it when you aren't entranced.
2019-01-07 19:18:35 +13:00

19 lines
754 B
Plaintext

/datum/component/heirloom
var/datum/mind/owner
var/family_name
/datum/component/heirloom/Initialize(new_owner, new_family_name)
if(!isitem(parent))
return COMPONENT_INCOMPATIBLE
owner = new_owner
family_name = new_family_name
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/examine)
/datum/component/heirloom/proc/examine(datum/source, mob/user)
if(user.mind == owner)
to_chat(user, "<span class='notice'>It is your precious [family_name] family heirloom. Keep it safe!</span>")
var/datum/antagonist/creep/creeper = user.mind.has_antag_datum(/datum/antagonist/creep)
if(creeper && creeper.trauma.obsession == owner)
to_chat(user, "<span class='nicegreen'>This must be [owner]'s family heirloom! It smells just like them...</span>")