mirror of
https://github.com/yogstation13/Yogstation.git
synced 2025-02-26 09:04:50 +00:00
* Add the system for managed global variables * Travis ban old globals * So you CAN inline proccall, that's neat * Fix that * master.dm * Remove the hack procs * Move InitGlobals to the proper spot * configuration.dm * Fix the missing pre-slash * clockcult.dm * This is probably for the best * Doy * Fix shit * Rest of the DEFINES tree * Fix * Use global. for access * Update find_references_in_globals Always hated that proc Whoever made it must've bee a r e a l idiot... * __HELPERS tree * Move global initialization to master. Fix the declaration * database.dm * Dat newline * I said DECLARATIVE order! * Here's something you can chew on @Iamgoofball * game_modes.dm * Fix this * genetics.dm * flavor_misc.dm * More stuff * Do it mso's way. Keep the controllers as global * Make master actually see it * Fix * Finish _globalvars/lists * Finish the rest of the _globalvars tree * This is weird * Migrate the controllers * SLOTH -> GLOB * Lighting globals * round_start_time -> ticker * PAI card list -> pai SS * record_id_num -> static * Diseases list -> SSdisease * More disease globals to the SS * More disease stuff * Emote list * Better and better * Bluh * So much stuff * Ahh * Wires * dview * station_areas * Teleportlocs * blood_splatter_icons * Stuff and such * More stuff * RAD IO * More stuff and such * Blob shit * Changeling stuff * Add "Balance" to changelogs * Balance for changelog compiler + Auto Tagging * Update the PR template * hivemind_bank * Bip * sacrificed * Good shit * Better define * More cult shit * Devil shit * Gang shit * > borers Fix shit * Rename the define * Nuke * Objectives * Sandbox * Multiverse sword * Announce systems * Stuff and such * TC con * Airlock * doppllllerrrrrr * holopads * Shut up byond you inconsistent fuck * Sneaky fuck * Burp * Bip * Fixnshit * Port without regard * askdlfjs; * asdfjasoidojfi * Protected globals and more * SO MANY * ajsimkvahsaoisd * akfdsiaopwimfeoiwafaw * gsdfigjosidjfgiosdg * AHHHHHHHHHHHHHHHHHHHHHHH!!!!! * facerolll * ASDFASDFASDF * Removes the unused parts of dmm_suite * WIP * Fix quote * asdfjauwfnkjs * afwlunhskjfda * asfjlaiwuefhaf * SO CLOSE * wwwweeeeeewwwww * agdgmoewranwg * HOLY MOTHER OF FUCK AND THATS JUST HALF THE JOB?!? * Fix syntax errors * 100 errors * Another 100 * So many... * Ugh * More shit * kilme * Stuuuuuufffff * ajrgmrlshio;djfa;sdkl * jkbhkhjbmjvjmh * soi soi soi * butt * TODAY WE LEARNED THAT GLOBAL AND STATIC ARE THE EXACT SAME FUCKING THING * lllllllllllllllllllllllllllllllllllllllllll * afsdijfiawhnflnjhnwsdfs * yugykihlugk,kj * time to go * STUFFF!!! * AAAAAAAAAAAAAAAAAHHHHHHHHHHHHHHHHHHHHHHHHHHH!!!!!!!!!!!!!!!!!!!!!!! * ngoaijdjlfkamsdlkf * Break time * aufjsdklfalsjfi * CONTROL KAY AND PRAY * IT COMPILEELEELELAKLJFKLDAFJLKFDJLADKJHFLJKAJGAHIEJALDFJ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! * Goteem * Fix testing mode * This does not belong in this PR * Convert it to a controller * Eh, fuck this option * Revert controllerization Ill do it some other time * Fix * Working controllerization * FOR THE LOVE OF CHRIST PROTECT THE LOGS * Protect admins and deadmins * Use the inbuilt proc
245 lines
7.6 KiB
Plaintext
245 lines
7.6 KiB
Plaintext
#define ION_FILE "ion_laws.json"
|
|
|
|
/proc/lizard_name(gender)
|
|
if(gender == MALE)
|
|
return "[pick(GLOB.lizard_names_male)]-[pick(GLOB.lizard_names_male)]"
|
|
else
|
|
return "[pick(GLOB.lizard_names_female)]-[pick(GLOB.lizard_names_female)]"
|
|
|
|
/proc/plasmaman_name()
|
|
return "[pick(GLOB.plasmaman_names)] \Roman[rand(1,99)]"
|
|
|
|
/proc/church_name()
|
|
var/static/church_name
|
|
if (church_name)
|
|
return 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(command_name)
|
|
/proc/command_name()
|
|
if (GLOB.command_name)
|
|
return GLOB.command_name
|
|
|
|
var/name = "Central Command"
|
|
|
|
GLOB.command_name = name
|
|
return name
|
|
|
|
/proc/change_command_name(name)
|
|
|
|
GLOB.command_name = name
|
|
|
|
return name
|
|
|
|
/proc/religion_name()
|
|
var/static/religion_name
|
|
if (religion_name)
|
|
return 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()
|
|
if(GLOB.station_name)
|
|
return GLOB.station_name
|
|
|
|
if(config && config.station_name)
|
|
GLOB.station_name = config.station_name
|
|
else
|
|
GLOB.station_name = new_station_name()
|
|
|
|
if(config && config.server_name)
|
|
world.name = "[config.server_name][config.server_name==GLOB.station_name ? "" : ": [GLOB.station_name]"]"
|
|
else
|
|
world.name = GLOB.station_name
|
|
|
|
return GLOB.station_name
|
|
|
|
/proc/new_station_name()
|
|
var/random = rand(1,5)
|
|
var/name = ""
|
|
var/new_station_name = ""
|
|
|
|
//Rare: Pre-Prefix
|
|
if (prob(10))
|
|
name = pick(GLOB.station_prefixes)
|
|
new_station_name = name + " "
|
|
name = ""
|
|
|
|
// Prefix
|
|
for(var/holiday_name in SSevents.holidays)
|
|
if(holiday_name == "Friday the 13th")
|
|
random = 13
|
|
var/datum/holiday/holiday = SSevents.holidays[holiday_name]
|
|
name = holiday.getStationPrefix()
|
|
//get normal name
|
|
if(!name)
|
|
name = pick(GLOB.station_names)
|
|
if(name)
|
|
new_station_name += name + " "
|
|
|
|
// Suffix
|
|
name = pick(GLOB.station_suffixes)
|
|
new_station_name += name + " "
|
|
|
|
// ID Number
|
|
switch(random)
|
|
if(1)
|
|
new_station_name += "[rand(1, 99)]"
|
|
if(2)
|
|
new_station_name += pick(GLOB.greek_letters)
|
|
if(3)
|
|
new_station_name += "\Roman[rand(1,99)]"
|
|
if(4)
|
|
new_station_name += pick(GLOB.phonetic_alphabet)
|
|
if(5)
|
|
new_station_name += pick(GLOB.numbers_as_words)
|
|
if(13)
|
|
new_station_name += pick("13","XIII","Thirteen")
|
|
return new_station_name
|
|
|
|
/proc/syndicate_name()
|
|
var/static/syndicate_name
|
|
if (syndicate_name)
|
|
return 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")
|
|
|
|
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.
|
|
|
|
/*
|
|
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()//Proc is used for phrase and response in master_controller.dm
|
|
|
|
var/code_phrase = ""//What is returned when the proc finishes.
|
|
var/words = pick(//How many words there will be. Minimum of two. 2, 4 and 5 have a lesser chance of being selected. 3 is the most likely.
|
|
50; 2,
|
|
200; 3,
|
|
50; 4,
|
|
25; 5
|
|
)
|
|
|
|
var/list/safety = list(1,2,3)//Tells the proc which options to remove later on.
|
|
var/nouns = strings(ION_FILE, "ionabstract")
|
|
var/objects = strings(ION_FILE, "ionobjects")
|
|
var/adjectives = strings(ION_FILE, "ionadjectives")
|
|
var/threats = strings(ION_FILE, "ionthreats")
|
|
var/foods = strings(ION_FILE, "ionfood")
|
|
var/drinks = strings(ION_FILE, "iondrinks")
|
|
var/list/locations = GLOB.teleportlocs.len ? GLOB.teleportlocs : drinks //if null, defaults to drinks instead.
|
|
|
|
var/list/names = list()
|
|
for(var/datum/data/record/t in GLOB.data_core.general)//Picks from crew manifest.
|
|
names += t.fields["name"]
|
|
|
|
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.
|
|
switch(rand(1,2))//Mainly to add more options later.
|
|
if(1)
|
|
if(names.len&&prob(70))
|
|
code_phrase += pick(names)
|
|
else
|
|
if(prob(10))
|
|
code_phrase += pick(lizard_name(MALE),lizard_name(FEMALE))
|
|
else
|
|
code_phrase += pick(pick(GLOB.first_names_male,GLOB.first_names_female))
|
|
code_phrase += " "
|
|
code_phrase += pick(GLOB.last_names)
|
|
if(2)
|
|
code_phrase += pick(get_all_jobs())//Returns a job.
|
|
safety -= 1
|
|
if(2)
|
|
switch(rand(1,3))//Food, drinks, or things. Only selectable once.
|
|
if(1)
|
|
code_phrase += lowertext(pick(drinks))
|
|
if(2)
|
|
code_phrase += lowertext(pick(foods))
|
|
if(3)
|
|
code_phrase += lowertext(pick(locations))
|
|
safety -= 2
|
|
if(3)
|
|
switch(rand(1,4))//Abstract nouns, objects, adjectives, threats. Can be selected more than once.
|
|
if(1)
|
|
code_phrase += lowertext(pick(nouns))
|
|
if(2)
|
|
code_phrase += lowertext(pick(objects))
|
|
if(3)
|
|
code_phrase += lowertext(pick(adjectives))
|
|
if(4)
|
|
code_phrase += lowertext(pick(threats))
|
|
if(words==1)
|
|
code_phrase += "."
|
|
else
|
|
code_phrase += ", "
|
|
|
|
return code_phrase
|
|
|
|
/proc/change_station_name(designation)
|
|
if(config && config.server_name)
|
|
world.name = "[config.server_name]: [designation]"
|
|
else
|
|
world.name = designation
|
|
GLOB.station_name = designation
|