mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-17 10:03:50 +01:00
a1ffadc051
* makes syndicate code words more generic and natural sounding * Moves codewords into config * sort config/names/codeword_locations.txt Co-authored-by: warriorstar-orion <orion@snowfrost.garden> Signed-off-by: tipoima <61978315+tipoima@users.noreply.github.com> * sort config/names/codeword_nouns.txt Co-authored-by: warriorstar-orion <orion@snowfrost.garden> Signed-off-by: tipoima <61978315+tipoima@users.noreply.github.com> --------- Signed-off-by: tipoima <61978315+tipoima@users.noreply.github.com> Co-authored-by: warriorstar-orion <orion@snowfrost.garden>
179 lines
7.9 KiB
Plaintext
179 lines
7.9 KiB
Plaintext
GLOBAL_VAR(church_name)
|
|
/proc/church_name()
|
|
if(GLOB.church_name)
|
|
return GLOB.church_name
|
|
|
|
var/name = ""
|
|
|
|
name += pick("Holy", "United", "First", "Second", "Last")
|
|
|
|
if(prob(20))
|
|
name += " Space"
|
|
|
|
name += " " + pick("Church", "Cathedral", "Body", "Worshippers", "Movement", "Witnesses")
|
|
name += " of [religion_name()]"
|
|
|
|
return name
|
|
|
|
GLOBAL_VAR(religion_name)
|
|
/proc/religion_name()
|
|
if(GLOB.religion_name)
|
|
return GLOB.religion_name
|
|
|
|
var/name = ""
|
|
|
|
name += pick("bee", "science", "edu", "captain", "assistant", "monkey", "alien", "space", "unit", "sprocket", "gadget", "bomb", "revolution", "beyond", "station", "goon", "robot", "ivor", "hobnob")
|
|
name += pick("ism", "ia", "ology", "istism", "ites", "ick", "ian", "ity")
|
|
|
|
return capitalize(name)
|
|
|
|
/proc/station_name()
|
|
return SSmapping.map_datum.fluff_name
|
|
|
|
/proc/new_station_name()
|
|
var/random = rand(1,5)
|
|
var/name = ""
|
|
var/new_station_name = ""
|
|
|
|
//Rare: Pre-Prefix
|
|
if(prob(10))
|
|
name = pick("Imperium", "Heretical", "Cuban", "Psychic", "Elegant", "Common", "Uncommon", "Rare", "Unique", "Houseruled", "Religious", "Atheist", "Traditional", "Houseruled", "Mad", "Super", "Ultra", "Secret", "Top Secret", "Deep", "Death", "Zybourne", "Central", "Main", "Government", "Uoi", "Fat", "Automated", "Experimental", "Augmented")
|
|
new_station_name = name + " "
|
|
name = ""
|
|
|
|
// Prefix
|
|
for(var/holiday_name in SSholiday.holidays)
|
|
if(holiday_name == "Friday the 13th")
|
|
random = 13
|
|
var/datum/holiday/holiday = SSholiday.holidays[holiday_name]
|
|
name = holiday.getStationPrefix()
|
|
//get normal name
|
|
if(!name)
|
|
name = pick("", "Stanford", "Dorf", "Alium", "Prefix", "Clowning", "Aegis", "Ishimura", "Scaredy", "Death-World", "Mime", "Honk", "Rogue", "MacRagge", "Ultrameens", "Safety", "Paranoia", "Explosive", "Neckbear", "Donk", "Muppet", "North", "West", "East", "South", "Slant-ways", "Widdershins", "Rimward", "Expensive", "Procreatory", "Imperial", "Unidentified", "Immoral", "Carp", "Ork", "Pete", "Control", "Nettle", "Aspie", "Class", "Crab", "Fist","Corrogated","Skeleton","Race", "Fatguy", "Gentleman", "Capitalist", "Communist", "Bear", "Beard", "Derp", "Space", "Spess", "Star", "Moon", "System", "Mining", "Neckbeard", "Research", "Supply", "Military", "Orbital", "Battle", "Science", "Asteroid", "Home", "Production", "Transport", "Delivery", "Extraplanetary", "Orbital", "Correctional", "Robot", "Hats", "Pizza")
|
|
if(name)
|
|
new_station_name += name + " "
|
|
|
|
// Suffix
|
|
name = pick("Station", "Fortress", "Frontier", "Suffix", "Death-trap", "Space-hulk", "Lab", "Hazard","Spess Junk", "Fishery", "No-Moon", "Tomb", "Crypt", "Hut", "Monkey", "Bomb", "Trade Post", "Fortress", "Village", "Town", "City", "Edition", "Hive", "Complex", "Base", "Facility", "Depot", "Outpost", "Installation", "Drydock", "Observatory", "Array", "Relay", "Monitor", "Platform", "Construct", "Hangar", "Prison", "Center", "Port", "Waystation", "Factory", "Waypoint", "Stopover", "Hub", "HQ", "Office", "Object", "Fortification", "Colony", "Planet-Cracker", "Roost", "Fat Camp")
|
|
new_station_name += name + " "
|
|
|
|
// ID Number
|
|
switch(random)
|
|
if(1)
|
|
new_station_name += "[rand(1, 99)]"
|
|
if(2)
|
|
new_station_name += pick("Alpha", "Beta", "Gamma", "Delta", "Epsilon", "Zeta", "Eta", "Theta", "Iota", "Kappa", "Lambda", "Mu", "Nu", "Xi", "Omicron", "Pi", "Rho", "Sigma", "Tau", "Upsilon", "Phi", "Chi", "Psi", "Omega")
|
|
if(3)
|
|
new_station_name += pick("II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X", "XI", "XII", "XIII", "XIV", "XV", "XVI", "XVII", "XVIII", "XIX", "XX")
|
|
if(4)
|
|
new_station_name += pick("Alpha", "Bravo", "Charlie", "Delta", "Echo", "Foxtrot", "Golf", "Hotel", "India", "Juliet", "Kilo", "Lima", "Mike", "November", "Oscar", "Papa", "Quebec", "Romeo", "Sierra", "Tango", "Uniform", "Victor", "Whiskey", "X-ray", "Yankee", "Zulu")
|
|
if(5)
|
|
new_station_name += pick("One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen")
|
|
if(13)
|
|
new_station_name += pick("13","XIII","Thirteen")
|
|
return new_station_name
|
|
|
|
GLOBAL_VAR(syndicate_name)
|
|
/proc/syndicate_name()
|
|
if(GLOB.syndicate_name)
|
|
return GLOB.syndicate_name
|
|
|
|
var/name = ""
|
|
|
|
// Prefix
|
|
name += pick("Clandestine", "Prima", "Blue", "Zero-G", "Max", "Blasto", "Waffle", "North", "Omni", "Newton", "Cyber", "Bonk", "Gene", "Gib")
|
|
|
|
// Suffix
|
|
if(prob(80))
|
|
name += " "
|
|
|
|
// Full
|
|
if(prob(60))
|
|
name += pick("Syndicate", "Consortium", "Collective", "Corporation", "Group", "Holdings", "Biotech", "Industries", "Systems", "Products", "Chemicals", "Enterprises", "Family", "Creations", "International", "Intergalactic", "Interplanetary", "Foundation", "Positronics", "Hive")
|
|
// Broken
|
|
else
|
|
name += pick("Syndi", "Corp", "Bio", "System", "Prod", "Chem", "Inter", "Hive")
|
|
name += pick("", "-")
|
|
name += pick("Tech", "Sun", "Co", "Tek", "X", "Inc", "Code")
|
|
// Small
|
|
else
|
|
name += pick("-", "*", "")
|
|
name += pick("Tech", "Sun", "Co", "Tek", "X", "Inc", "Gen", "Star", "Dyne", "Code", "Hive")
|
|
|
|
GLOB.syndicate_name = name
|
|
return name
|
|
|
|
|
|
//Traitors and traitor silicons will get these. Revs will not.
|
|
GLOBAL_VAR(syndicate_code_phrase) //Code phrase for traitors.
|
|
GLOBAL_VAR(syndicate_code_response) //Code response for traitors.
|
|
|
|
//Cached regex search - for checking if codewords are used.
|
|
GLOBAL_DATUM(syndicate_code_phrase_regex, /regex)
|
|
GLOBAL_DATUM(syndicate_code_response_regex, /regex)
|
|
|
|
/*
|
|
Should be expanded.
|
|
How this works:
|
|
Instead of "I'm looking for James Smith," the traitor would say "James Smith" as part of a conversation.
|
|
Another traitor may then respond with: "They enjoy running through the void-filled vacuum of the derelict."
|
|
The phrase should then have the words: James Smith.
|
|
The response should then have the words: run, void, and derelict.
|
|
This way assures that the code is suited to the conversation and is unpredicatable.
|
|
Obviously, some people will be better at this than others but in theory, everyone should be able to do it and it only enhances roleplay.
|
|
Can probably be done through "{ }" but I don't really see the practical benefit.
|
|
One example of an earlier system is commented below.
|
|
/N
|
|
*/
|
|
|
|
/proc/generate_code_phrase(return_list = FALSE) // Proc is used for phrase and response in master_controller.dm
|
|
|
|
if(!return_list)
|
|
. = ""
|
|
else
|
|
. = list()
|
|
var/words = pick(//How many words there will be. Minimum of three. 4 is the most likely.
|
|
100; 3,
|
|
150; 4,
|
|
25; 5
|
|
)
|
|
|
|
var/safety[] = list(1,2,3)//Tells the proc which options to remove later on.
|
|
var/maxwords = words//Extra var to check for duplicates.
|
|
|
|
for(words,words>0,words--)//Randomly picks from one of the choices below.
|
|
|
|
if(words==1&&(1 in safety)&&(2 in safety))//If there is only one word remaining and choice 1 or 2 have not been selected.
|
|
safety = list(pick(1,2))//Select choice 1 or 2.
|
|
else if(words==1&&maxwords==2)//Else if there is only one word remaining (and there were two originally), and 1 or 2 were chosen,
|
|
safety = list(3)//Default to list 3
|
|
|
|
switch(pick(safety))//Chance based on the safety list.
|
|
if(1)//1 and 2 can only be selected once each to prevent more than two specific names/places/etc.
|
|
. += pick(GLOB.joblist)//Returns a job.
|
|
safety -= 1
|
|
if(2)
|
|
. += pick(GLOB.codeword_locations)
|
|
safety -= 2
|
|
if(3)
|
|
switch(rand(1, 3)) // Nouns, adjectives, verbs. Can be selected more than once.
|
|
if(1)
|
|
. += pick(GLOB.codeword_nouns)
|
|
if(2)
|
|
. += pick(GLOB.adjectives)
|
|
if(3)
|
|
. += pick(GLOB.verbs)
|
|
|
|
if(!return_list)
|
|
if(words == 1)
|
|
. += "."
|
|
else
|
|
. += ", "
|
|
|
|
/proc/GenerateKey()
|
|
var/newKey
|
|
newKey += pick("the", "if", "of", "as", "in", "a", "you", "from", "to", "an", "too", "little", "snow", "dead", "drunk", "rosebud", "duck", "al", "le")
|
|
newKey += pick("diamond", "beer", "mushroom", "assistant", "clown", "captain", "twinkie", "security", "nuke", "small", "big", "escape", "yellow", "gloves", "monkey", "engine", "nuclear", "ai")
|
|
newKey += pick("1", "2", "3", "4", "5", "6", "7", "8", "9", "0")
|
|
return newKey
|