diff --git a/code/__defines/gamemode.dm b/code/__defines/gamemode.dm
index 25bd432e50d..d20e56ffc86 100644
--- a/code/__defines/gamemode.dm
+++ b/code/__defines/gamemode.dm
@@ -32,6 +32,7 @@
#define ANTAG_VOTABLE 0x200 // Can be voted as an additional antagonist before roundstart.
#define ANTAG_SET_APPEARANCE 0x400 // Causes antagonists to use an appearance modifier on spawn.
#define ANTAG_RANDOM_EXCEPTED 0x800 // If a game mode randomly selects antag types, antag types with this flag should be excluded.
+#define ANTAG_NO_FLAVORTEXT 0x1000 // To prevent flavor text from being scrubbed from crewmember intruders
// Mode/antag template macros.
#define MODE_BORER "borer"
diff --git a/code/game/antagonist/antagonist_create.dm b/code/game/antagonist/antagonist_create.dm
index 9f8fba2908b..bf9d8ec8277 100644
--- a/code/game/antagonist/antagonist_create.dm
+++ b/code/game/antagonist/antagonist_create.dm
@@ -118,6 +118,12 @@
/datum/antagonist/proc/set_antag_name(var/mob/living/player)
// Choose a name, if any.
+ if(ishuman(player))
+ var/mob/living/carbon/human/H = player
+ var/datum/language/L = H.default_language
+ H.real_name = L.get_random_name()
+ H.name = H.real_name
+ H.dna.real_name = H.real_name
var/newname = sanitize(input(player, "You are a [role_text]. Would you like to change your name to something else?", "Name change") as null|text, MAX_NAME_LEN)
if (newname)
player.real_name = newname
diff --git a/code/game/antagonist/antagonist_update.dm b/code/game/antagonist/antagonist_update.dm
index acf94c3654d..8874f591c4c 100644
--- a/code/game/antagonist/antagonist_update.dm
+++ b/code/game/antagonist/antagonist_update.dm
@@ -15,6 +15,9 @@
spawn(3)
var/mob/living/carbon/human/H = player.current
if(istype(H)) H.change_appearance(APPEARANCE_ALL, H.loc, H, valid_species, state = z_state)
+ if((flags & ANTAG_NO_FLAVORTEXT) && ishuman(player.current))
+ var/mob/living/carbon/human/H = player.current
+ H.scrub_flavor_text()
return player.current
/datum/antagonist/proc/update_access(var/mob/living/player)
diff --git a/code/game/antagonist/outsider/deathsquad.dm b/code/game/antagonist/outsider/deathsquad.dm
index a560525eac0..faac3ddca0f 100644
--- a/code/game/antagonist/outsider/deathsquad.dm
+++ b/code/game/antagonist/outsider/deathsquad.dm
@@ -9,7 +9,7 @@ var/datum/antagonist/deathsquad/deathsquad
id_type = /obj/item/card/id/asset_protection
- flags = ANTAG_OVERRIDE_JOB | ANTAG_CLEAR_EQUIPMENT | ANTAG_OVERRIDE_MOB | ANTAG_HAS_NUKE | ANTAG_HAS_LEADER | ANTAG_RANDOM_EXCEPTED | ANTAG_CHOOSE_NAME | ANTAG_SET_APPEARANCE
+ flags = ANTAG_OVERRIDE_JOB | ANTAG_CLEAR_EQUIPMENT | ANTAG_OVERRIDE_MOB | ANTAG_HAS_NUKE | ANTAG_HAS_LEADER | ANTAG_RANDOM_EXCEPTED | ANTAG_CHOOSE_NAME | ANTAG_SET_APPEARANCE | ANTAG_NO_FLAVORTEXT
antaghud_indicator = "huddeathsquad"
var/deployed = FALSE
diff --git a/code/game/antagonist/outsider/ert.dm b/code/game/antagonist/outsider/ert.dm
index 8b6629d77bf..02a1d04485b 100644
--- a/code/game/antagonist/outsider/ert.dm
+++ b/code/game/antagonist/outsider/ert.dm
@@ -10,7 +10,7 @@ var/datum/antagonist/ert/ert
id_type = /obj/item/card/id/ert
- flags = ANTAG_OVERRIDE_JOB | ANTAG_RANDOM_EXCEPTED
+ flags = ANTAG_OVERRIDE_JOB | ANTAG_RANDOM_EXCEPTED | ANTAG_NO_FLAVORTEXT
antaghud_indicator = "hudloyalist"
/datum/antagonist/ert/create_default(var/mob/source)
diff --git a/code/game/antagonist/outsider/mercenary.dm b/code/game/antagonist/outsider/mercenary.dm
index 146d576bbf1..fb4b89e0777 100644
--- a/code/game/antagonist/outsider/mercenary.dm
+++ b/code/game/antagonist/outsider/mercenary.dm
@@ -9,7 +9,7 @@ var/datum/antagonist/mercenary/mercs
landmark_id = "Syndicate-Spawn"
leader_welcome_text = "You are the leader of the mercenary strikeforce; hail to the chief. Use :t to speak to your underlings."
welcome_text = "To speak on the strike team's private channel use :t."
- flags = ANTAG_OVERRIDE_JOB | ANTAG_CLEAR_EQUIPMENT | ANTAG_CHOOSE_NAME | ANTAG_HAS_NUKE | ANTAG_SET_APPEARANCE | ANTAG_HAS_LEADER
+ flags = ANTAG_OVERRIDE_JOB | ANTAG_CLEAR_EQUIPMENT | ANTAG_CHOOSE_NAME | ANTAG_HAS_NUKE | ANTAG_SET_APPEARANCE | ANTAG_HAS_LEADER | ANTAG_NO_FLAVORTEXT
id_type = /obj/item/card/id/syndicate
antaghud_indicator = "hudoperative"
required_age = 10
diff --git a/code/game/antagonist/outsider/ninja.dm b/code/game/antagonist/outsider/ninja.dm
index bb36ce5d2b4..3b35e89ce57 100644
--- a/code/game/antagonist/outsider/ninja.dm
+++ b/code/game/antagonist/outsider/ninja.dm
@@ -8,7 +8,7 @@ var/datum/antagonist/ninja/ninjas
landmark_id = "ninjastart"
welcome_text = "You are an elite stealth agent. You can equip your suit with the latest technology using your uplink."
restricted_species = list("Diona")
- flags = ANTAG_OVERRIDE_JOB | ANTAG_CLEAR_EQUIPMENT | ANTAG_CHOOSE_NAME | ANTAG_RANDSPAWN | ANTAG_VOTABLE | ANTAG_SET_APPEARANCE
+ flags = ANTAG_OVERRIDE_JOB | ANTAG_CLEAR_EQUIPMENT | ANTAG_CHOOSE_NAME | ANTAG_RANDSPAWN | ANTAG_VOTABLE | ANTAG_SET_APPEARANCE | ANTAG_NO_FLAVORTEXT
antaghud_indicator = "hudninja"
required_age = 10
diff --git a/code/game/antagonist/outsider/raider.dm b/code/game/antagonist/outsider/raider.dm
index 385d58b4cec..83d263a0918 100644
--- a/code/game/antagonist/outsider/raider.dm
+++ b/code/game/antagonist/outsider/raider.dm
@@ -8,7 +8,7 @@ var/datum/antagonist/raider/raiders
antag_indicator = "mutineer"
landmark_id = "voxstart"
welcome_text = "Use :H to talk on your encrypted channel."
- flags = ANTAG_OVERRIDE_JOB | ANTAG_CLEAR_EQUIPMENT | ANTAG_CHOOSE_NAME | ANTAG_VOTABLE | ANTAG_SET_APPEARANCE | ANTAG_HAS_LEADER
+ flags = ANTAG_OVERRIDE_JOB | ANTAG_CLEAR_EQUIPMENT | ANTAG_CHOOSE_NAME | ANTAG_VOTABLE | ANTAG_SET_APPEARANCE | ANTAG_HAS_LEADER | ANTAG_NO_FLAVORTEXT
antaghud_indicator = "hudmutineer"
required_age = 10
diff --git a/code/game/antagonist/outsider/wizard.dm b/code/game/antagonist/outsider/wizard.dm
index 973a1c4c6f8..a666184f0e3 100644
--- a/code/game/antagonist/outsider/wizard.dm
+++ b/code/game/antagonist/outsider/wizard.dm
@@ -7,7 +7,7 @@ var/datum/antagonist/wizard/wizards
bantype = "wizard"
landmark_id = "wizard"
welcome_text = "You will find a list of available spells in your spell book. Choose your magic arsenal carefully.
In your pockets you will find a teleport scroll. Use it as needed."
- flags = ANTAG_OVERRIDE_JOB | ANTAG_CLEAR_EQUIPMENT | ANTAG_CHOOSE_NAME | ANTAG_VOTABLE | ANTAG_SET_APPEARANCE
+ flags = ANTAG_OVERRIDE_JOB | ANTAG_CLEAR_EQUIPMENT | ANTAG_CHOOSE_NAME | ANTAG_VOTABLE | ANTAG_SET_APPEARANCE | ANTAG_NO_FLAVORTEXT
antaghud_indicator = "hudwizard"
required_age = 10
@@ -68,8 +68,19 @@ var/datum/antagonist/wizard/wizards
/datum/antagonist/wizard/update_antag_mob(var/datum/mind/wizard)
..()
wizard.store_memory("Remember: do not forget to prepare your spells.")
- wizard.current.real_name = "[pick(wizard_first)] [pick(wizard_second)]"
- wizard.current.name = wizard.current.real_name
+
+/datum/antagonist/wizard/set_antag_name(mob/living/player)
+ player.real_name = "[pick(wizard_first)] [pick(wizard_second)]"
+ player.name = player.real_name
+ var/newname = sanitize(input(player, "You are a [role_text]. Would you like to change your name to something else?", "Name change") as null|text, MAX_NAME_LEN)
+ if(newname)
+ player.real_name = newname
+ player.name = player.real_name
+ player.dna.real_name = newname
+ if(player.mind)
+ player.mind.name = player.name
+ // Update any ID cards.
+ update_access(player)
/datum/antagonist/wizard/equip(var/mob/living/carbon/human/player)
diff --git a/code/game/antagonist/station/loyalist.dm b/code/game/antagonist/station/loyalist.dm
index 13f85db3173..7410b07c866 100644
--- a/code/game/antagonist/station/loyalist.dm
+++ b/code/game/antagonist/station/loyalist.dm
@@ -13,7 +13,6 @@ var/datum/antagonist/loyalists/loyalists
victory_feedback_tag = "You thwarted the Contenders in their devious ends."
loss_feedback_tag = "You were thwarted by the Contenders."
antaghud_indicator = "fellowship"
- flags = 0
hard_cap = 2
hard_cap_round = 4
diff --git a/code/game/antagonist/station/thrall.dm b/code/game/antagonist/station/thrall.dm
index 0b60547cb96..ec152019150 100644
--- a/code/game/antagonist/station/thrall.dm
+++ b/code/game/antagonist/station/thrall.dm
@@ -18,7 +18,6 @@ var/datum/antagonist/thrall/thralls = null
"Bishop Accessory Frame"
)
welcome_text = "You are a vampire or psionic operant's thrall: a pawn to be commanded by them at will."
- flags = 0
antaghud_indicator = "hudthrall"
/datum/antagonist/thrall/New()
diff --git a/code/modules/mob/living/carbon/human/death.dm b/code/modules/mob/living/carbon/human/death.dm
index 64b8b42f69b..e188fda1760 100644
--- a/code/modules/mob/living/carbon/human/death.dm
+++ b/code/modules/mob/living/carbon/human/death.dm
@@ -93,8 +93,7 @@
name = "Unknown"
real_name = "Unknown"
- for(var/text in flavor_texts)
- flavor_texts[text] = null
+ scrub_flavor_text()
mutations.Add(HUSK)
status_flags |= DISFIGURED //makes them unknown without fucking up other stuff like admintools
@@ -118,14 +117,17 @@
if(!keep_name)
name = "Unknown"
real_name = "Unknown"
- for(var/text in flavor_texts)
- flavor_texts[text] = null
+ scrub_flavor_text()
mutations.Add(SKELETON)
status_flags |= DISFIGURED
update_body(TRUE)
return
+/mob/living/carbon/human/proc/scrub_flavor_text()
+ for(var/text in flavor_texts)
+ flavor_texts[text] = null
+
/mob/living/carbon/human/proc/vr_disconnect()
if(remote_network)
SSvirtualreality.remove_robot(src, remote_network)
diff --git a/html/changelogs/geeves-flavour_text_delet.yml b/html/changelogs/geeves-flavour_text_delet.yml
new file mode 100644
index 00000000000..e3ad1df8d59
--- /dev/null
+++ b/html/changelogs/geeves-flavour_text_delet.yml
@@ -0,0 +1,7 @@
+author: Geeves
+
+delete-after: True
+
+changes:
+ - bugfix: "Off-station antagonists will no longer keep the player's character's flavour text."
+ - bugfix: "Antagonists will now be assigned random names before they pick their name."
\ No newline at end of file