mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-22 12:41:09 +01:00
Paradox clones spawns with "copies" of their target's memories (#73988)
## About The Pull Request Paradox clones spawn with a "quick copy" of their target's memories. These are notably limited in that they can't be used for stories (engraving or tattoos), but if people metagame Paradox clones by saying "engrave something for me" there's no hope for this community Closes #73931 ## Why It's Good For The Game Stops a meta-y exploit ## Changelog 🆑 Melbert fix: Paradox Clones now know that their target knows. /🆑
This commit is contained in:
@@ -57,7 +57,7 @@
|
||||
src.deuteragonist_name = build_story_character(deuteragonist)
|
||||
src.antagonist_name = build_story_character(antagonist)
|
||||
|
||||
if(protagonist && !(memory_flags & MEMORY_FLAG_NOLOCATION))
|
||||
if(!src.where && isatom(protagonist) && !(memory_flags & MEMORY_FLAG_NOLOCATION))
|
||||
src.where = get_area_name(protagonist)
|
||||
|
||||
if(!(memory_flags & MEMORY_FLAG_NOMOOD))
|
||||
@@ -380,3 +380,29 @@
|
||||
|
||||
// Generic result - mobs get "the guy", objs / turfs get "a thing"
|
||||
return ismob(character) ? "\the [character]" : "\a [character]"
|
||||
|
||||
/**
|
||||
* Creates a "quick copy" of the memory for another mind,
|
||||
* copying just basic memory information (name, major charactecrs) over.
|
||||
*
|
||||
* The copied memory cannot be used for stories or anything.
|
||||
* They should generally only be used to give a new mind an idea of another mind's memories.
|
||||
*/
|
||||
/datum/memory/proc/quick_copy_memory(datum/mind/new_memorizer)
|
||||
var/datum/memory/copy/new_copy = new(new_memorizer, protagonist_name, deuteragonist_name, antagonist_name, where, memory_flags)
|
||||
new_copy.name = name
|
||||
new_copy.story_value = story_value
|
||||
return new_copy
|
||||
|
||||
// To only be used by quick copies of memories
|
||||
/datum/memory/copy
|
||||
memory_flags = MEMORY_NO_STORY
|
||||
|
||||
/datum/memory/copy/New(datum/mind/memorizer_mind, atom/protagonist, atom/deuteragonist, atom/antagonist, where, new_memory_flags)
|
||||
src.where = where
|
||||
src.memory_flags |= new_memory_flags
|
||||
return ..()
|
||||
|
||||
/datum/memory/copy/generate_memory_name()
|
||||
// We just copy the original memory's name anyways
|
||||
return
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
if(!uses)
|
||||
balloon_alert(tattoo_artist, "not enough ink!")
|
||||
return
|
||||
if(!tattoo_artist.mind.memories)
|
||||
if(!length(tattoo_artist.mind.memories))
|
||||
balloon_alert(tattoo_artist, "nothing memorable to engrave!")
|
||||
return
|
||||
var/selected_zone = tattoo_artist.zone_selected
|
||||
|
||||
Reference in New Issue
Block a user