Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MIRROR] Nukie Aliases and Some Hairspray #708

Merged
merged 1 commit into from
Nov 19, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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,
};
Loading