mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-11 08:06:33 +01:00
31cc014826
## About The Pull Request The real reason I made this is because twice now I've accidentally thrown away my heirloom because it just looked like job equipment, but some other quirks have key memories and I think it's fun flavor to add to something like the heirloom quirk because of the significance of the item to the character. ## Why It's Good For The Game Carve up the walls with scenes of your character stealing the beloved family lighter from their ungrateful no-good sibling ## Changelog 🆑 add: Added a key memory to the family heirloom quirk /🆑
263 lines
8.0 KiB
Plaintext
263 lines
8.0 KiB
Plaintext
/**
|
|
* I am affectionally titling these "key memories"
|
|
*
|
|
* These memories aren't particularly special or interesting, but occuply an important role
|
|
* in conveying information to the user about something important they need to check semi-often
|
|
*/
|
|
/datum/memory/key
|
|
story_value = STORY_VALUE_KEY
|
|
memory_flags = MEMORY_FLAG_NOMOOD|MEMORY_FLAG_NOLOCATION|MEMORY_FLAG_NOPERSISTENCE|MEMORY_SKIP_UNCONSCIOUS
|
|
|
|
/// Your bank account ID, can't get into it without it
|
|
/datum/memory/key/account
|
|
var/remembered_id
|
|
|
|
/datum/memory/key/account/New(
|
|
datum/mind/memorizer_mind,
|
|
atom/protagonist,
|
|
atom/deuteragonist,
|
|
atom/antagonist,
|
|
remembered_id,
|
|
)
|
|
src.remembered_id = remembered_id
|
|
return ..()
|
|
|
|
/datum/memory/key/account/get_names()
|
|
return list("The bank ID of [protagonist_name], [remembered_id].")
|
|
|
|
/datum/memory/key/account/get_starts()
|
|
return list(
|
|
"[protagonist_name] flexing their last brain cells, proudly showing their lucky numbers [remembered_id].",
|
|
"[remembered_id]. The numbers mason, what do they mean!?",
|
|
)
|
|
|
|
/// The code to the captain's spare ID, ONLY give to the real captain.
|
|
/datum/memory/key/captains_spare_code
|
|
var/safe_code
|
|
|
|
/datum/memory/key/captains_spare_code/New(
|
|
datum/mind/memorizer_mind,
|
|
atom/protagonist,
|
|
atom/deuteragonist,
|
|
atom/antagonist,
|
|
safe_code,
|
|
)
|
|
src.safe_code = safe_code
|
|
return ..()
|
|
|
|
/datum/memory/key/captains_spare_code/get_names()
|
|
return list("The code to the golden safe on the bridge, [safe_code].")
|
|
|
|
/datum/memory/key/captains_spare_code/get_starts()
|
|
return list(
|
|
"[protagonist_name] struggling at a wall safe, until finally entering [safe_code].",
|
|
"[safe_code][rand(0,9)]. The numbers mason, what do they mean!?", // Same as the account code
|
|
)
|
|
|
|
|
|
/// The nuclear bomb code, for nuke ops
|
|
/datum/memory/key/nuke_code
|
|
var/nuclear_code
|
|
|
|
/datum/memory/key/nuke_code/New(
|
|
datum/mind/memorizer_mind,
|
|
atom/protagonist,
|
|
atom/deuteragonist,
|
|
atom/antagonist,
|
|
nuclear_code,
|
|
)
|
|
src.nuclear_code = nuclear_code
|
|
return ..()
|
|
|
|
/datum/memory/key/nuke_code/get_names()
|
|
return list("[protagonist_name] learns the detonation codes for a nuclear weapon, [nuclear_code].")
|
|
|
|
/datum/memory/key/nuke_code/get_starts()
|
|
return list(
|
|
"The number [nuclear_code] written on a sticky note with the words \"FOR SYNDICATE EYES ONLY\" scrawled next to it.",
|
|
"A piece of paper with the number [nuclear_code] being handed to [protagonist_name] from a figure in a blood-red MODsuit.",
|
|
)
|
|
|
|
/// Tracks what medicines someone with the "allergies" quirk is allergic to
|
|
/datum/memory/key/quirk_allergy
|
|
memory_flags = MEMORY_FLAG_NOMOOD|MEMORY_FLAG_NOLOCATION|MEMORY_FLAG_NOPERSISTENCE|MEMORY_SKIP_UNCONSCIOUS|MEMORY_NO_STORY // No story for this
|
|
var/allergy_string
|
|
|
|
/datum/memory/key/quirk_allergy/New(
|
|
datum/mind/memorizer_mind,
|
|
atom/protagonist,
|
|
atom/deuteragonist,
|
|
atom/antagonist,
|
|
allergy_string,
|
|
)
|
|
src.allergy_string = allergy_string
|
|
return ..()
|
|
|
|
/datum/memory/key/quirk_allergy/get_names()
|
|
return list("The [allergy_string] allergy of [protagonist_name].")
|
|
|
|
/datum/memory/key/quirk_allergy/get_starts()
|
|
return list("[protagonist_name] sneezing after coming into contact with [allergy_string].")
|
|
|
|
/// Tracks what kind of item the quirk user's heirloom is
|
|
/datum/memory/key/quirk_heirloom
|
|
var/heirloom_name
|
|
|
|
/datum/memory/key/quirk_heirloom/New(
|
|
datum/mind/memorizer_mind,
|
|
atom/protagonist,
|
|
atom/deuteragonist,
|
|
atom/antagonist,
|
|
heirloom_name,
|
|
)
|
|
src.heirloom_name = heirloom_name
|
|
return ..()
|
|
|
|
/datum/memory/key/quirk_heirloom/get_names()
|
|
return list("[protagonist_name]'s heirloom [heirloom_name].")
|
|
|
|
/datum/memory/key/quirk_heirloom/get_starts()
|
|
return list(
|
|
"[protagonist_name] being bequeathed the heirloom [heirloom_name] by a dear relative.",
|
|
"[protagonist_name] discovering the heirloom [heirloom_name] in some long-forgotten boxes.",
|
|
"[protagonist_name] stealing the heirloom [heirloom_name] from an undeserving family member.",
|
|
)
|
|
|
|
/// Tracks what brand a smoker quirk user likes
|
|
/datum/memory/key/quirk_smoker
|
|
memory_flags = MEMORY_FLAG_NOLOCATION|MEMORY_FLAG_NOPERSISTENCE|MEMORY_SKIP_UNCONSCIOUS // Does not have nomood
|
|
var/preferred_brand
|
|
|
|
/datum/memory/key/quirk_smoker/New(
|
|
datum/mind/memorizer_mind,
|
|
atom/protagonist,
|
|
atom/deuteragonist,
|
|
atom/antagonist,
|
|
preferred_brand,
|
|
)
|
|
src.preferred_brand = preferred_brand
|
|
return ..()
|
|
|
|
/datum/memory/key/quirk_smoker/get_names()
|
|
return list("[protagonist_name]'s addiction to [preferred_brand] cigarettes.")
|
|
|
|
/datum/memory/key/quirk_smoker/get_starts()
|
|
return list(
|
|
"[preferred_brand] cigarettes being plundered by [protagonist_name].",
|
|
"[protagonist_name] buying a box of [preferred_brand] nicotine sticks.",
|
|
"[protagonist_name] fiending for some [preferred_brand] ciggies.",
|
|
)
|
|
|
|
/datum/memory/key/quirk_smoker/get_moods()
|
|
return list("[memorizer] [mood_verb] as they light another up.")
|
|
|
|
/// Tracks what beverage an alcoholic quirk user likes
|
|
/datum/memory/key/quirk_alcoholic
|
|
memory_flags = MEMORY_FLAG_NOLOCATION|MEMORY_FLAG_NOPERSISTENCE|MEMORY_SKIP_UNCONSCIOUS // Does not have nomood
|
|
var/preferred_brandy //haha, get it because brandy is a type of alcohol wow!
|
|
|
|
/datum/memory/key/quirk_alcoholic/New(
|
|
datum/mind/memorizer_mind,
|
|
atom/protagonist,
|
|
atom/deuteragonist,
|
|
atom/antagonist,
|
|
preferred_brandy,
|
|
)
|
|
src.preferred_brandy = preferred_brandy
|
|
return ..()
|
|
|
|
/datum/memory/key/quirk_alcoholic/get_names()
|
|
return list("[protagonist_name]'s addiction to [preferred_brandy] alcohol.")
|
|
|
|
/datum/memory/key/quirk_alcoholic/get_starts()
|
|
return list(
|
|
"[preferred_brandy] being downed by [protagonist_name].",
|
|
"[protagonist_name] buying a box of [preferred_brandy] bottles.",
|
|
"[protagonist_name] fiending for some [preferred_brandy].",
|
|
)
|
|
|
|
/datum/memory/key/quirk_alcoholic/get_moods()
|
|
return list("[memorizer] [mood_verb] as they drink some [preferred_brandy].")
|
|
|
|
/// Where our traitor uplink is, and what is its code
|
|
/datum/memory/key/traitor_uplink
|
|
var/uplink_loc
|
|
var/uplink_code
|
|
|
|
/datum/memory/key/traitor_uplink/New(
|
|
datum/mind/memorizer_mind,
|
|
atom/protagonist,
|
|
atom/deuteragonist,
|
|
atom/antagonist,
|
|
uplink_loc,
|
|
uplink_code,
|
|
)
|
|
src.uplink_loc = uplink_loc
|
|
src.uplink_code = uplink_code
|
|
return ..()
|
|
|
|
/datum/memory/key/traitor_uplink/get_names()
|
|
return list("[protagonist_name]'s equipment uplink in their [uplink_loc], opened via [uplink_code].")
|
|
|
|
/datum/memory/key/traitor_uplink/get_starts()
|
|
return list(
|
|
"[protagonist_name] punching in [uplink_code] into their [uplink_loc].",
|
|
"[protagonist_name] writing down [uplink_code] with their [uplink_loc] besides them, so as to not forget it.",
|
|
)
|
|
|
|
/datum/memory/key/traitor_uplink/implant
|
|
|
|
/datum/memory/key/traitor_uplink/implant/get_names()
|
|
return list("[protagonist_name]'s equipment uplink implanted into their body.")
|
|
|
|
/datum/memory/key/traitor_uplink/implant/get_starts()
|
|
return list(
|
|
"[protagonist_name] being implanted by a scientist.",
|
|
"[protagonist_name] having surgery done on them by a scientist.",
|
|
)
|
|
|
|
/datum/memory/key/permabrig_crimes
|
|
var/crimes
|
|
|
|
/datum/memory/key/permabrig_crimes/New(
|
|
datum/mind/memorizer_mind,
|
|
atom/protagonist,
|
|
atom/deuteragonist,
|
|
atom/antagonist,
|
|
crimes,
|
|
)
|
|
src.crimes = crimes
|
|
return ..()
|
|
|
|
/datum/memory/key/permabrig_crimes/get_names()
|
|
return list("[protagonist_name]'s crime of \"[crimes]\".")
|
|
|
|
/datum/memory/key/permabrig_crimes/get_starts()
|
|
return list(
|
|
"[protagonist_name] being arrested by security for [crimes].",
|
|
"[protagonist_name] committing the crimes of [crimes].",
|
|
)
|
|
|
|
/datum/memory/key/message_server_key
|
|
var/decrypt_key
|
|
|
|
/datum/memory/key/message_server_key/New(
|
|
datum/mind/memorizer_mind,
|
|
atom/protagonist,
|
|
atom/deuteragonist,
|
|
atom/antagonist,
|
|
decrypt_key,
|
|
)
|
|
src.decrypt_key = decrypt_key
|
|
return ..()
|
|
|
|
/datum/memory/key/message_server_key/get_names()
|
|
return list("The daily message server key is [decrypt_key]. Keep it a secret from the clown.")
|
|
|
|
/datum/memory/key/message_server_key/get_starts()
|
|
return list(
|
|
"A sticky note attached to a monitor with [decrypt_key] written on it.",
|
|
"Poly the parrot screaming \"[decrypt_key]!\" over and over again.",
|
|
"[protagonist_name] spilling coffee over the message monitor while typing [decrypt_key].",
|
|
)
|