mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-29 07:59:01 +01:00
Antagonists Anonymous (#9143)
Off-station antagonists will no longer keep the player's character's flavour text.
Antagonists will now be assigned random names before they pick their name.
This commit is contained in:
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -8,7 +8,7 @@ var/datum/antagonist/ninja/ninjas
|
||||
landmark_id = "ninjastart"
|
||||
welcome_text = "<span class='info'>You are an elite stealth agent. You can equip your suit with the latest technology using your uplink.</span>"
|
||||
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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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.<br>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("<B>Remember:</B> 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)
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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."
|
||||
Reference in New Issue
Block a user