Skip to content

Commit

Permalink
[MIRROR] Nukie Aliases and Some Hairspray [MDB IGNORE] (#708)
Browse files Browse the repository at this point in the history
* Nukie Aliases and Some Hairspray (#79653)

---------

Co-authored-by: SkyratBot <[email protected]>
Co-authored-by: Rhials <[email protected]>
  • Loading branch information
3 people authored Nov 19, 2023
1 parent 138bd85 commit b0a1fcd
Show file tree
Hide file tree
Showing 7 changed files with 177 additions and 19 deletions.
8 changes: 8 additions & 0 deletions _maps/templates/lazy_templates/nukie_base.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -320,6 +320,10 @@
"dI" = (
/obj/structure/dresser,
/obj/structure/noticeboard/directional/south,
/obj/item/dyespray{
pixel_x = -3;
pixel_y = 13
},
/turf/open/floor/iron/smooth_half{
dir = 1
},
Expand Down Expand Up @@ -852,6 +856,10 @@
"jq" = (
/obj/structure/dresser,
/obj/structure/noticeboard/directional/north,
/obj/item/dyespray{
pixel_x = -2;
pixel_y = 15
},
/turf/open/floor/iron/smooth_half{
dir = 1
},
Expand Down
1 change: 1 addition & 0 deletions code/_globalvars/lists/names.dm
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ GLOBAL_LIST_INIT(syndicate_monkey_names, world.file2list("strings/names/syndicat
GLOBAL_LIST_INIT(guardian_first_names, world.file2list("strings/names/guardian_descriptions.txt"))
GLOBAL_LIST_INIT(guardian_tech_surnames, world.file2list("strings/names/guardian_gamepieces.txt"))
GLOBAL_LIST_INIT(guardian_fantasy_surnames, world.file2list("strings/names/guardian_tarot.txt"))
GLOBAL_LIST_INIT(operative_aliases, world.file2list("strings/names/operative_alias.txt"))

GLOBAL_LIST_INIT(verbs, world.file2list("strings/names/verbs.txt"))
GLOBAL_LIST_INIT(ing_verbs, world.file2list("strings/names/ing_verbs.txt"))
Expand Down
25 changes: 10 additions & 15 deletions code/modules/antagonists/nukeop/nukeop.dm
Original file line number Diff line number Diff line change
Expand Up @@ -109,10 +109,11 @@

/datum/antagonist/nukeop/proc/give_alias()
if(nuke_team?.syndicate_name)
var/mob/living/carbon/human/H = owner.current
if(istype(H)) // Reinforcements get a real name
var/chosen_name = H.dna.species.random_name(H.gender,0,nuke_team.syndicate_name)
H.fully_replace_character_name(H.real_name,chosen_name)
var/mob/living/carbon/human/human_to_rename = owner.current
if(istype(human_to_rename)) // Reinforcements get a real name
var/first_name = owner.current.client?.prefs?.read_preference(/datum/preference/name/operative_alias) || pick(GLOB.operative_aliases)
var/chosen_name = "[first_name] [nuke_team.syndicate_name]"
human_to_rename.fully_replace_character_name(human_to_rename.real_name, chosen_name)
else
var/number = 1
number = nuke_team.members.Find(owner)
Expand Down Expand Up @@ -264,13 +265,6 @@
H.put_in_hands(nuke_code_paper, TRUE)
H.update_icons()

/datum/antagonist/nukeop/leader/give_alias()
title = pick("Czar", "Boss", "Commander", "Chief", "Kingpin", "Director", "Overlord")
if(nuke_team?.syndicate_name)
owner.current.real_name = "[nuke_team.syndicate_name] [title]"
else
owner.current.real_name = "Syndicate [title]"

/datum/antagonist/nukeop/leader/greet()
owner.current.playsound_local(get_turf(owner.current), 'sound/ambience/antag/ops.ogg',100,0, use_reverb = FALSE)
to_chat(owner, "<span class='warningplain'><B>You are the Syndicate [title] for this mission. You are responsible for guiding the team and your ID is the only one who can open the launch bay doors.</B></span>")
Expand Down Expand Up @@ -298,11 +292,12 @@
name = "[syndicate_name] Team"
for(var/I in members)
var/datum/mind/synd_mind = I
var/mob/living/carbon/human/H = synd_mind.current
if(!istype(H))
var/mob/living/carbon/human/human_to_rename = synd_mind.current
if(!istype(human_to_rename))
continue
var/chosen_name = H.dna.species.random_name(H.gender,0,syndicate_name)
H.fully_replace_character_name(H.real_name,chosen_name)
var/first_name = human_to_rename.client?.prefs?.read_preference(/datum/preference/name/operative_alias) || pick(GLOB.operative_aliases)
var/chosen_name = "[first_name] [syndicate_name]"
human_to_rename.fully_replace_character_name(human_to_rename.real_name, chosen_name)

/datum/antagonist/nukeop/leader/proc/ask_name()
var/randomname = pick(GLOB.last_names)
Expand Down
22 changes: 22 additions & 0 deletions code/modules/client/preferences/names.dm
Original file line number Diff line number Diff line change
Expand Up @@ -155,3 +155,25 @@

/datum/preference/name/bible/create_default_value()
return DEFAULT_BIBLE

/// The first name given to nuclear operative antagonists. The last name will be chosen by the team leader.
/datum/preference/name/operative_alias
savefile_key = "operative_alias"
allow_numbers = TRUE //You can get a little wacky with your alias nobody will judge you
explanation = "Operative Alias"
group = "antagonists"

/datum/preference/name/operative_alias/create_default_value()
return pick(GLOB.operative_aliases)

/datum/preference/name/operative_alias/is_accessible(datum/preferences/preferences)
. = ..()
if(!.)
return FALSE

// If one of the roles is ticked in the antag prefs menu, this option will show.
var/static/list/ops_roles = list(ROLE_OPERATIVE, ROLE_LONE_OPERATIVE, ROLE_OPERATIVE_MIDROUND, ROLE_CLOWN_OPERATIVE)
if(length(ops_roles & preferences.be_special))
return TRUE

return FALSE
8 changes: 4 additions & 4 deletions code/modules/mob/living/carbon/human/_species.dm
Original file line number Diff line number Diff line change
Expand Up @@ -261,9 +261,9 @@ GLOBAL_LIST_EMPTY(features_by_species)
* Arguments:
* * gender - The gender that the name should adhere to. Use MALE for male names, use anything else for female names.
* * unique - If true, ensures that this new name is not a duplicate of anyone else's name currently on the station.
* * lastname - Does this species' naming system adhere to the last name system? Set to false if it doesn't.
* * last_name - Do we use a given last name or pick a random new one?
*/
/datum/species/proc/random_name(gender,unique,lastname)
/datum/species/proc/random_name(gender, unique, last_name)
if(unique)
return random_unique_name(gender)

Expand All @@ -273,8 +273,8 @@ GLOBAL_LIST_EMPTY(features_by_species)
else
randname = pick(GLOB.first_names_female)

if(lastname)
randname += " [lastname]"
if(last_name)
randname += " [last_name]"
else
randname += " [pick(GLOB.last_names)]"

Expand Down
126 changes: 126 additions & 0 deletions strings/names/operative_alias.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
Agent
Agony
Alias
Alpha
Argo
Barker
Batter
Beef
Beetle
Bomber
Bonsai
Boss
Boston
Bovine
Bravo
Caboose
Callsign
Carmack
Carolina
Carp
Chains
Charlie
Church
Collar
Comedian
Crash
Creeper
Cretin
Criminal
Cyborg
Dallas
Delta
Doc
Donk
Drowning
Dude
Dwarf
Echo
Emo
Eva
Finger
Fish
Fitzgerald
Flash
Flyboy
Foxtrot
Freak
Freeman
Fugitive
Gaffer
Giant
Goalie
Golf
Gorbino
Green
Grime
Guy
Hologram
Hotel
Houston
Indica
Ion
Jacket
Jeremy
Jones
Kars
Legion
Librarian
Lightbringer
Lighter
Lightning
Looper
Lover
Marksman
Maurauder
Misty
Musketeer
Mycus
Neutron
Nightmare
Peacekeeper
Peddler
Point
Pooh
Private
Psycho
Pyro
Red
Revenant
Rocker
Ronin
Sack
Samson
Sarge
Scorch
Scout
Scream
Scum
Serenity
Shade
Shadow
Shark
Shocker
Shooter
Shrieker
Shrike
Silas
Silence
Simmons
Slider
Smoke
Snake
Stalker
Superfly
Suspect
Swiper
Tank
Telecrystal
Tex
Thirteen
Twister
Unusual
Vixen
White
Wilson
Winters
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import { Feature, FeatureShortTextInput } from '../base';

export const operative_alias: Feature<string> = {
name: 'Operative Alias',
component: FeatureShortTextInput,
};

0 comments on commit b0a1fcd

Please sign in to comment.