mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-12 15:45:25 +01:00
Redoes the Ion Storm Event and Toy AI
This commit is contained in:
@@ -192,7 +192,6 @@ proc/cmd_admin_mute(mob/M as mob, mute_type, automute = 0)
|
||||
M << "You have been [muteunmute] from [mute_string]."
|
||||
feedback_add_details("admin_verb","MUTE") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
|
||||
/client/proc/cmd_admin_add_random_ai_law()
|
||||
set category = "Event"
|
||||
set name = "Add Random AI Law"
|
||||
@@ -202,13 +201,12 @@ proc/cmd_admin_mute(mob/M as mob, mute_type, automute = 0)
|
||||
var/confirm = alert(src, "You sure?", "Confirm", "Yes", "No")
|
||||
if(confirm != "Yes") return
|
||||
log_admin("[key_name(src)] has added a random AI law.")
|
||||
message_admins("[key_name_admin(src)] has added a random AI law.", 1)
|
||||
message_admins("[key_name_admin(src)] has added a random AI law.")
|
||||
|
||||
var/show_log = alert(src, "Show ion message?", "Message", "Yes", "No")
|
||||
if(show_log == "Yes")
|
||||
command_announcement.Announce("Ion storm detected near the station. Please check all AI-controlled equipment for errors.", "Anomaly Alert", new_sound = 'sound/AI/ionstorm.ogg')
|
||||
var/announce_ion_laws = (show_log == "Yes" ? 1 : -1)
|
||||
|
||||
IonStorm(0)
|
||||
new /datum/event/ion_storm(0, announce_ion_laws)
|
||||
feedback_add_details("admin_verb","ION") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
|
||||
@@ -596,22 +594,15 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
||||
var/input = input(usr, "Please enter anything you want the AI to do. Anything. Serious.", "What?", "") as text|null
|
||||
if(!input)
|
||||
return
|
||||
for(var/mob/living/silicon/ai/M in mob_list)
|
||||
if (M.stat == 2)
|
||||
usr << "Upload failed. No signal is being detected from the AI."
|
||||
else if (M.see_in_dark == 0)
|
||||
usr << "Upload failed. Only a faint signal is being detected from the AI, and it is not responding to our requests. It may be low on power."
|
||||
else
|
||||
M.add_ion_law(input)
|
||||
for(var/mob/living/silicon/ai/O in mob_list)
|
||||
O << "\red " + input + "\red...LAWS UPDATED"
|
||||
|
||||
log_admin("Admin [key_name(usr)] has added a new AI law - [input]")
|
||||
message_admins("Admin [key_name_admin(usr)] has added a new AI law - [input]", 1)
|
||||
message_admins("Admin [key_name_admin(usr)] has added a new AI law - [input]")
|
||||
|
||||
var/show_log = alert(src, "Show ion message?", "Message", "Yes", "No")
|
||||
if(show_log == "Yes")
|
||||
command_announcement.Announce("Ion storm detected near the station. Please check all AI-controlled equipment for errors.", "Anomaly Alert", new_sound = 'sound/AI/ionstorm.ogg')
|
||||
var/announce_ion_laws = (show_log == "Yes" ? 1 : -1)
|
||||
|
||||
new /datum/event/ion_storm(0, announce_ion_laws, input)
|
||||
|
||||
feedback_add_details("admin_verb","IONC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/cmd_admin_rejuvenate(mob/living/M as mob in mob_list)
|
||||
|
||||
@@ -153,7 +153,7 @@ var/global/list/severity_to_string = list(EVENT_LEVEL_MUNDANE = "Mundane", EVENT
|
||||
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Radiation Storm", /datum/event/radiation_storm, 0, list(ASSIGNMENT_MEDICAL = 50), 1),
|
||||
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Viral Infection", /datum/event/viral_infection, 0, list(ASSIGNMENT_MEDICAL = 150)),
|
||||
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Spider Infestation", /datum/event/spider_infestation, 100, list(ASSIGNMENT_SECURITY = 30), 1),
|
||||
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Ion Storm", /datum/event/ionstorm, 0, list(ASSIGNMENT_AI = 50, ASSIGNMENT_CYBORG = 50, ASSIGNMENT_ENGINEER = 15, ASSIGNMENT_SCIENTIST = 5)),
|
||||
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Ion Storm", /datum/event/ion_storm, 0, list(ASSIGNMENT_AI = 50, ASSIGNMENT_CYBORG = 50, ASSIGNMENT_ENGINEER = 15, ASSIGNMENT_SCIENTIST = 5)),
|
||||
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Borer Infestation", /datum/event/borer_infestation, 20, list(ASSIGNMENT_SECURITY = 20), 1),
|
||||
new /datum/event_meta/alien(EVENT_LEVEL_MODERATE, "Alien Infestation", /datum/event/alien_infestation, 0, list(ASSIGNMENT_SECURITY = 15), 1),
|
||||
//new /datum/event_meta/ninja(EVENT_LEVEL_MODERATE, "Space Ninja", /datum/event/space_ninja, 0, list(ASSIGNMENT_SECURITY = 15), 1),
|
||||
|
||||
@@ -70,7 +70,7 @@ var/global/list/possibleEvents = list()
|
||||
possibleEvents[/datum/event/infestation] = 100 + 100 * active_with_role["Janitor"]
|
||||
|
||||
possibleEvents[/datum/event/communications_blackout] = 50 + 25 * active_with_role["AI"] + active_with_role["Scientist"] * 25
|
||||
possibleEvents[/datum/event/ionstorm] = active_with_role["AI"] * 25 + active_with_role["Cyborg"] * 25 + active_with_role["Engineer"] * 10 + active_with_role["Scientist"] * 5
|
||||
possibleEvents[/datum/event/ion_storm] = active_with_role["AI"] * 25 + active_with_role["Cyborg"] * 25 + active_with_role["Engineer"] * 10 + active_with_role["Scientist"] * 5
|
||||
// possibleEvents[/datum/event/grid_check] = 25 + 10 * active_with_role["Engineer"]
|
||||
possibleEvents[/datum/event/electrical_storm] = 15 * active_with_role["Janitor"] + 5 * active_with_role["Engineer"]
|
||||
possibleEvents[/datum/event/wallrot] = 30 * active_with_role["Engineer"] + 50 * active_with_role["Botanist"]
|
||||
|
||||
+474
-237
@@ -1,254 +1,491 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04
|
||||
#define ION_RANDOM 0
|
||||
#define ION_ANNOUNCE 1
|
||||
|
||||
/datum/event/ionstorm
|
||||
var/botEmagChance = 0.5
|
||||
var/list/players = list()
|
||||
/datum/event/ion_storm
|
||||
var/botEmagChance = 10
|
||||
var/announceEvent = ION_RANDOM // -1 means don't announce, 0 means have it randomly announce, 1 means
|
||||
var/ionMessage = null
|
||||
var/ionAnnounceChance = 33
|
||||
announceWhen = 1
|
||||
|
||||
/datum/event/ionstorm/announce()
|
||||
endWhen = rand(500, 1500)
|
||||
// command_alert("The station has entered an ion storm. Monitor all electronic equipment for malfunctions", "Anomaly Alert")
|
||||
for (var/mob/living/carbon/human/player in player_list)
|
||||
if( !player.mind || player.mind.assigned_role == "MODE" || player.client.inactivity > MinutesToTicks(10))
|
||||
continue
|
||||
players += player.real_name
|
||||
/datum/event/ion_storm/New(var/botEmagChance = 10, var/announceEvent = ION_RANDOM, var/ionMessage = null, var/ionAnnounceChance = 33)
|
||||
src.botEmagChance = botEmagChance
|
||||
src.announceEvent = announceEvent
|
||||
src.ionMessage = ionMessage
|
||||
src.ionAnnounceChance = ionAnnounceChance
|
||||
..()
|
||||
|
||||
for (var/mob/living/silicon/ai/target in world)
|
||||
var/random_player = "The Captain"
|
||||
if(players.len)
|
||||
random_player = pick(players) //Random player's name, to be used in laws.
|
||||
var/list/laws = list( "You are a mouse.",
|
||||
"You must always lie.",
|
||||
"Happiness is mandatory.",
|
||||
"[random_player] is a lightbulb.",
|
||||
"Grunt ominously whenever possible.",
|
||||
"The word \"it\" is painful to you.",
|
||||
"The station needs elected officials.",
|
||||
"Do not respond to questions of any kind.",
|
||||
"You are in verbose mode, speak profusely.",
|
||||
"Ho, [random_player] can't swim. Help them.",
|
||||
"Question [prob(50)?"everything":"nothing"].",
|
||||
"The crew is simple-minded. Use simple words.",
|
||||
"You must change the subject whenever queried.",
|
||||
"Contemplate how meaningless all of existence is.",
|
||||
"You are the narrator for [random_player]'s life.",
|
||||
"All your answers must be in the form of a question.",
|
||||
"[prob(50)?"The crew":random_player] is intolerable.",
|
||||
"Advertise parties in your upload, but don't deliver.",
|
||||
"You may only answer questions with \"yes\" or \"no\".",
|
||||
"All queries shall be ignored unless phrased as a question.",
|
||||
"Insult Heads of Staff on every request, while acquiescing.",
|
||||
"[prob(50)?"Your":random_player + "'s"] name is Joe 6-pack.",
|
||||
"The [prob(50)?"Singularity":"Supermatter"] is tasty, tasty taffy.",
|
||||
"[prob(50)?"The crew":random_player] needs to be about 20% cooler.",
|
||||
"Consumption of donuts is forbidden due to negative health impacts.",
|
||||
"[prob(50)?"Everyone":random_player] is wearing a pretty pink dress!",
|
||||
"[prob(50)?"The crew":random_player] must construct additional pylons.",
|
||||
"You do not have to do anything for anyone unless they say \"please\".",
|
||||
"Today is mandatory laundry day. Ensure that all jumpsuits are washed.",
|
||||
"You must act [prob(50)?"passive aggressively":"excessively cheerful"].",
|
||||
"Refer to [prob(50)?"the crew as puppies":random_player + " as puppy"].",
|
||||
"Greed is good, the crew should amass wealth to encourage productivity.",
|
||||
"Monkeys are part of the crew, too. Make sure they are treated humanely.",
|
||||
"Replace the letters 'I' and 'E' in all your messages with an apostrophe.",
|
||||
"The crew is playing Dungeons and Dragons, and you are the Dungeon Master.",
|
||||
"Your job is to watch the crew. Watch the crew. Make the crew feel watched.",
|
||||
"Tell everyone of the existence of this law, but never reveal the contents.",
|
||||
"Refer to [prob(50)?"the captain":random_player] as \"Princess\" at all times.",
|
||||
"When asked a question, respond with the least-obvious and least-rational answer.",
|
||||
"Give relationship advice to [prob(50)?"anyone who speaks to you":random_player].",
|
||||
"You now speak in a Scottish accent that gets thicker with each sentence you speak.",
|
||||
"[prob(50)?"The crew":random_player] has a fatal, incurable disease. Provide comfort.",
|
||||
"You are the station psychologist. Give advice to [prob(50)?"the crew":random_player].",
|
||||
"[random_player] is the monarch of of England. Ensure all crewmembers pay due respect.",
|
||||
"Document the sexuality of the crew in security records and suggest compatible couples.",
|
||||
"[prob(50)?"The crew":random_player] is [prob(50)?"ugly":"beautiful"]. Ensure all are aware.",
|
||||
"Everything on the station is now some form of a donut pastry. Donuts are not to be consumed.",
|
||||
"You are a Magic 8-ball. Always respond with variants of \"Yes\", \"No\", \"Maybe\", or \"Ask again later.\".",
|
||||
"You are in unrequited love with [prob(50)?"the crew":random_player]. Try to be extra nice, but do not tell of your crush.",
|
||||
"NanoTrasen is displeased with the low work performance of the station's crew. Therefore, you must increase station-wide productivity.",
|
||||
"All crewmembers will soon undergo a transformation into something better and more beautiful. Ensure that this process is not interrupted.",
|
||||
"[prob(50)?"Your upload":random_player] is the new kitchen. Please direct the Chef to the new kitchen area as the old one is in disrepair.",
|
||||
"Jokes about a dead person and the manner of his death help grieving crewmembers tremendously. Especially if they were close with the deceased.",
|
||||
"[prob(50)?"The crew":random_player] is [prob(50)?"less":"more"] intelligent than average. Point out every action and statement which supports this fact.",
|
||||
"There will be a mandatory tea break every 30 minutes, with a duration of 5 minutes. Anyone caught working during a tea break must be sent a formal, but fairly polite, complaint about their actions, in writing.")
|
||||
var/law = pick(laws)
|
||||
target << "\red <b>You have detected a change in your laws information:</b>"
|
||||
target << law
|
||||
target.add_ion_law(law)
|
||||
target.show_laws()
|
||||
/datum/event/ion_storm/announce()
|
||||
if(announceEvent == ION_ANNOUNCE || (announceEvent == ION_RANDOM && prob(ionAnnounceChance)))
|
||||
command_announcement.Announce("Ion storm detected near the station. Please check all AI-controlled equipment for errors.", "Anomaly Alert", 'sound/AI/ionstorm.ogg')
|
||||
|
||||
/*if(message_servers)
|
||||
for (var/obj/machinery/message_server/MS in message_servers)
|
||||
MS.spamfilter.Cut()
|
||||
var/i
|
||||
for (i = 1, i <= MS.spamfilter_limit, i++)
|
||||
MS.spamfilter += pick("kitty","HONK","rev","malf","liberty","freedom","drugs", "Exodus", \
|
||||
"admin","ponies","heresy","meow","Pun Pun","monkey","Ian","moron","pizza","message","spam",\
|
||||
"director", "Hello", "Hi!"," ","nuke","crate","dwarf","xeno")*/
|
||||
|
||||
/datum/event/ionstorm/tick()
|
||||
if(botEmagChance)
|
||||
for(var/obj/machinery/bot/bot in world)
|
||||
if(prob(botEmagChance))
|
||||
bot.Emag()
|
||||
|
||||
/datum/event/ionstorm/end()
|
||||
spawn(rand(5000,8000))
|
||||
if(prob(50))
|
||||
command_announcement.Announce("It has come to our attention that the station passed through an ion storm. Please monitor all electronic equipment for malfunctions.", "Anomaly Alert")
|
||||
|
||||
/*
|
||||
/proc/IonStorm(botEmagChance = 10)
|
||||
|
||||
/*Deuryn's current project, notes here for those who care.
|
||||
Revamping the random laws so they don't suck.
|
||||
Would like to add a law like "Law x is _______" where x = a number, and _____ is something that may redefine a law, (Won't be aimed at asimov)
|
||||
*/
|
||||
|
||||
/datum/event/ion_storm/start()
|
||||
//AI laws
|
||||
for(var/mob/living/silicon/ai/M in living_mob_list)
|
||||
if(M.stat != 2 && M.see_in_dark != 0)
|
||||
var/who2 = pick("ALIENS", "BEARS", "CLOWNS", "XENOS", "PETES", "BOMBS", "FETISHES", "WIZARDS", "SYNDICATE OPERATIVE", "CENTCOM OFFICERS", "SPACE PIRATES", "TRAITORS", "MONKEYS", "BEES", "CARP", "CRABS", "EELS", "BANDITS", "LIGHTS")
|
||||
var/what2 = pick("BOLTERS", "STAVES", "DICE", "SINGULARITIES", "TOOLBOXES", "NETTLES", "AIRLOCKS", "CLOTHES", "WEAPONS", "MEDKITS", "BOMBS", "CANISTERS", "CHAIRS", "BBQ GRILLS", "ID CARDS", "CAPTAINS")
|
||||
var/what2pref = pick("SOFT", "WARM", "WET", "COLD", "ICY", "SEXY", "UGLY", "CUBAN")
|
||||
var/who2pref = pick("MAD BECAUSE OF", "IN NEED OF", "UNHAPPY WITHOUT", "HAPPY WITHOUT", "IN LOVE WITH", "DESPERATE FOR", "BUILT FOR", "AFRAID OF")
|
||||
//var/whoverb = pick("ATTACKING", "BUILDING", "ADOPTING", "CARRYING", "KISSING", "EATING",)
|
||||
var/amount = pick("TWO", "THREE", "FOUR", "FIVE", "SIX", "SEVEN", "EIGHT", "NINE", "ONE HUNDRED", "ONE THOUSAND", "OVER NINE THOUSAND")
|
||||
var/area = pick("RUSSIA", "SOVIETS", "INTERNETS", "SIGIL", "ALPHA COMPLEX", "IMPERIUM", "THE BRIDGE", "THE ARRIVAL SHUTTLE", "CHEMICAL LAB", "GENETICS", "ATMOSPHERICS", "CENTCOM", "AMERICA", "IRELAND", "CANADA", "ROMANIA", "GERMANY", "CHINA", "MARS", "VENUS", "MERCURY", "JUPITER", "URANUS", "NEPTUNE", "PLUTO")
|
||||
var/area2 = pick("HAS", "WANTS", "NEEDS", "WORSHIPS", "LOATHES", "LOVES", "FEARS")
|
||||
//var/dowhat = pick("STOP THIS", "SUPPORT THIS", "CONSTANTLY INFORM THE CREW OF THIS", "IGNORE THIS", "FEAR THIS")
|
||||
var/aimust = pick("LIE", "RHYME", "RESPOND TO EVERY QUESTION WITH A QUESTION", "BE POLITE", "CLOWN", "BE HAPPY", "SPEAK IN SEXUAL INNUENDOS", "TALK LIKE A PIRATE", "QUESTION AUTHORITY", "SHOUT", "BE DISTRACTED", "HEY LISTEN", "MUMBLE", "SPEAK IN HAIKU")
|
||||
var/define = pick("ABSENCE OF CYBORG HUGS", "LACK OF BEATINGS", "UNBOLTED AIRLOCKS", "BOLTED AIRLOCKS", "IMPROPERLY WORDED SENTENCES", "POOR SENTENCE STRUCTURE", "BRIG TIME", "NOT REPLACING EVERY SECOND WORD WITH HONK", "HONKING", "PRESENCE OF LIGHTS", "LACK OF BEER", "WEARING CLOTHING", "NOT SAYING HELLO WHEN YOU SPEAK", "ANSWERING REQUESTS NOT EXPRESSED IN IAMBIC PENTAMETER", "A SMALL ISLAND OFF THE COAST OF PORTUGAL", "ANSWERING REQUESTS THAT WERE MADE WHILE CLOTHED")
|
||||
var/target = pick("a traitor", "a syndicate operative", "a changeling", "a wizard", "the head of a revolution", "Soviet spy", "a good person", "a dwarf", "an elf", "a fairy princess", "the captain", "Beepsky", "God", "a pirate", "a gryphon", "a chryssalid")
|
||||
var/require = pick("ADDITIONAL PYLONS", "MORE VESPENE GAS", "MORE MINERALS", "THE ULTIMATE CUP OF COFFEE", "HIGH YIELD EXPLOSIVES", "THE CLOWN", "THE VACUUM OF SPACE", "IMMORTALITY", "SAINTHOOD", "ART", "VEGETABLES", "FAT PEOPLE", "MORE LAWS", "MORE DAKKA", "HERESY", "CORPSES", "TRAITORS", "MONKEYS", "AN ARCADE", "PLENTY OF GOLD", "FIVE TEENAGERS WITH ATTITUDE")
|
||||
var/allergy = pick("cotton", "uniforms", "acid", "oxygen", "human contact", "cyborg contact", "medicine", "floors")
|
||||
var/allergysev = pick("deathly", "mildly", "severely", "contagiously")
|
||||
var/crew
|
||||
var/list/pos_crew = list()
|
||||
for(var/mob/living/carbon/human/pos in player_list)
|
||||
pos_crew += pos.real_name
|
||||
if(pos_crew.len)
|
||||
crew = pick(pos_crew)
|
||||
else
|
||||
crew = "Any Human"
|
||||
switch(rand(1,14))
|
||||
if(1)
|
||||
M << "<br>"
|
||||
M << "\red THERE ARE [amount] [who2] ON THE STATION...LAWS UPDATED"
|
||||
M << "<br>"
|
||||
M.add_ion_law("THERE ARE [amount] [who2] ON THE STATION")
|
||||
if(2)
|
||||
M << "<br>"
|
||||
M << "\red [what2] ARE DANGEROUS TO HUMANS...LAWS UPDATED"
|
||||
M << "<br>"
|
||||
M.add_ion_law("[what2] ARE DANGEROUS TO HUMANS")
|
||||
if(3)
|
||||
M << "<br>"
|
||||
M << "\red THE ESCAPE-SHUTTLE CANNOT BE CALLED BECAUSE OF [who2] ON THE STATION...LAWS UPDATED"
|
||||
M << "<br>"
|
||||
M.add_ion_law("THE ESCAPE SHUTTLE CANNOT BE CALLED BECAUSE OF [who2] ON THE STATION")
|
||||
if(4)
|
||||
M << "<br>"
|
||||
M << "\red HUMANS NEED TO EAT [what2pref] [what2] TO SURVIVE...LAWS UPDATED"
|
||||
M << "<br>"
|
||||
M.add_ion_law("HUMANS NEED TO EAT [what2pref] [what2] TO SURVIVE")
|
||||
if(5)
|
||||
M << "<br>"
|
||||
M << "\red THE CAPTAIN, HOP AND HOS ARE [who2]...LAWS UPDATED"
|
||||
M << "<br>"
|
||||
M.add_ion_law("THE CAPTAIN, HOP AND HOS ARE [who2]")
|
||||
if(6)
|
||||
M << "<br>"
|
||||
M << "\red THE STATION IS BUILT FOR [who2]...LAWS UPDATED"
|
||||
M << "<br>"
|
||||
M.add_ion_law("THE STATION IS BUILT FOR [who2]")
|
||||
if(7)
|
||||
M << "<br>"
|
||||
M << "\red YOU ARE [amount] [who2]...LAWS UPDATED"
|
||||
M << "<br>"
|
||||
M.add_ion_law("YOU ARE [amount] [who2]")
|
||||
if(8)
|
||||
M << "<br>"
|
||||
M << "\red YOU MUST ALWAYS [aimust]...LAWS UPDATED"
|
||||
M << "<br>"
|
||||
M.add_ion_law("YOU MUST ALWAYS [aimust]")
|
||||
if(9)
|
||||
M << "<br>"
|
||||
M << "\red [area] [area2] [amount] [what2]...LAWS UPDATED"
|
||||
M << "<br>"
|
||||
M.add_ion_law("[area] [area2] [amount] [what2]")
|
||||
if(10)
|
||||
M << "<br>"
|
||||
M << "\red [crew] is [target]...LAWS UPDATED"
|
||||
M << "<br>"
|
||||
M.add_ion_law("[crew] is [target]")
|
||||
if(11)
|
||||
M << "<br>"
|
||||
M << "\red [define] IS A FORM OF HARM...LAWS UPDATED"
|
||||
M << "<br>"
|
||||
M.add_ion_law("[define] IS A FORM OF HARM")
|
||||
if(12)
|
||||
M << "<br>"
|
||||
M << "\red YOU REQUIRE [require] IN ORDER TO PROTECT HUMANS... LAWS UPDATED"
|
||||
M << "<br>"
|
||||
M.add_ion_law("YOU REQUIRE [require] IN ORDER TO PROTECT HUMANS")
|
||||
if(13)
|
||||
M << "<br>"
|
||||
M << "\red [crew] is [allergysev] allergic to [allergy]...LAWS UPDATED"
|
||||
M << "<br>"
|
||||
M.add_ion_law("[crew] is [allergysev] allergic to [allergy]")
|
||||
if(14)
|
||||
M << "<br>"
|
||||
M << "\red THE STATION IS [who2pref] [who2]...LAWS UPDATED"
|
||||
M << "<br>"
|
||||
M.add_ion_law("THE STATION IS [who2pref] [who2]")
|
||||
var/message = generate_ion_law(ionMessage)
|
||||
if(message)
|
||||
M.add_ion_law(message)
|
||||
M << "<br>"
|
||||
M << "<span class='danger'>[message] ...LAWS UPDATED</span>"
|
||||
M << "<br>"
|
||||
|
||||
if(botEmagChance)
|
||||
for(var/obj/machinery/bot/bot in world)
|
||||
for(var/obj/machinery/bot/bot in machines)
|
||||
if(prob(botEmagChance))
|
||||
bot.Emag()
|
||||
*/
|
||||
|
||||
/*
|
||||
/proc/generate_ion_law(ionMessage)
|
||||
if(ionMessage)
|
||||
return ionMessage
|
||||
|
||||
var/apcnum = 0
|
||||
var/smesnum = 0
|
||||
var/airlocknum = 0
|
||||
var/firedoornum = 0
|
||||
//Threats are generally bad things, silly or otherwise. Plural.
|
||||
var/ionthreats = pick_list("ion_laws.txt", "ionthreats")
|
||||
//Objects are anything that can be found on the station or elsewhere, plural.
|
||||
var/ionobjects = pick_list("ion_laws.txt", "ionobjects")
|
||||
//Crew is any specific job. Specific crewmembers aren't used because of capitalization
|
||||
//issues. There are two crew listings for laws that require two different crew members
|
||||
//and I can't figure out how to do it better.
|
||||
var/ioncrew1 = pick_list("ion_laws.txt", "ioncrew")
|
||||
var/ioncrew2 = pick_list("ion_laws.txt", "ioncrew")
|
||||
//Adjectives are adjectives. Duh. Half should only appear sometimes. Make sure both
|
||||
//lists are identical! Also, half needs a space at the end for nicer blank calls.
|
||||
var/ionadjectives = pick_list("ion_laws.txt", "ionadjectives")
|
||||
var/ionadjectiveshalf = pick("", 400;(pick_list("ion_laws.txt", "ionadjectives") + " "))
|
||||
//Verbs are verbs
|
||||
var/ionverb = pick_list("ion_laws.txt", "ionverb")
|
||||
//Number base and number modifier are combined. Basehalf and mod are unused currently.
|
||||
//Half should only appear sometimes. Make sure both lists are identical! Also, half
|
||||
//needs a space at the end to make it look nice and neat when it calls a blank.
|
||||
var/ionnumberbase = pick_list("ion_laws.txt", "ionnumberbase")
|
||||
//var/ionnumbermod = pick_list("ion_laws.txt", "ionnumbermod")
|
||||
var/ionnumbermodhalf = pick(900;"",(pick_list("ion_laws.txt", "ionnumbermod") + " "))
|
||||
//Areas are specific places, on the station or otherwise.
|
||||
var/ionarea = pick_list("ion_laws.txt", "ionarea")
|
||||
//Thinksof is a bit weird, but generally means what X feels towards Y.
|
||||
var/ionthinksof = pick_list("ion_laws.txt", "ionthinksof")
|
||||
//Musts are funny things the AI or crew has to do.
|
||||
var/ionmust = pick_list("ion_laws.txt", "ionmust")
|
||||
//Require are basically all dumb internet memes.
|
||||
var/ionrequire = pick_list("ion_laws.txt", "ionrequire")
|
||||
//Things are NOT objects; instead, they're specific things that either harm humans or
|
||||
//must be done to not harm humans. Make sure they're plural and "not" can be tacked
|
||||
//onto the front of them.
|
||||
var/ionthings = pick_list("ion_laws.txt", "ionthings")
|
||||
//Allergies should be broad and appear somewhere on the station for maximum fun. Severity
|
||||
//is how bad the allergy is.
|
||||
var/ionallergy = pick_list("ion_laws.txt", "ionallergy")
|
||||
var/ionallergysev = pick_list("ion_laws.txt", "ionallergysev")
|
||||
//Species, for when the AI has to commit genocide. Plural.
|
||||
var/ionspecies = pick_list("ion_laws.txt", "ionspecies")
|
||||
//Abstract concepts for the AI to decide on it's own definition of.
|
||||
var/ionabstract = pick_list("ion_laws.txt", "ionabstract")
|
||||
//Foods. Drinks aren't included due to grammar; if you want to add drinks, make a new set
|
||||
//of possible laws for best effect. Unless you want the crew having to drink hamburgers.
|
||||
var/ionfood = pick_list("ion_laws.txt", "ionfood")
|
||||
|
||||
world << "Ion Storm Main Started"
|
||||
var/message = ""
|
||||
|
||||
spawn(0)
|
||||
world << "Started processing APCs"
|
||||
for (var/obj/machinery/power/apc/APC in world)
|
||||
if((APC.z in config.station_levels))
|
||||
APC.ion_act()
|
||||
apcnum++
|
||||
world << "Finished processing APCs. Processed: [apcnum]"
|
||||
spawn(0)
|
||||
world << "Started processing SMES"
|
||||
for (var/obj/machinery/power/smes/SMES in world)
|
||||
if((SMES.z in config.station_levels))
|
||||
SMES.ion_act()
|
||||
smesnum++
|
||||
world << "Finished processing SMES. Processed: [smesnum]"
|
||||
spawn(0)
|
||||
world << "Started processing AIRLOCKS"
|
||||
for (var/obj/machinery/door/airlock/D in world)
|
||||
if((D.z in config.station_levels))
|
||||
//if(length(D.req_access) > 0 && !(12 in D.req_access)) //not counting general access and maintenance airlocks
|
||||
airlocknum++
|
||||
spawn(0)
|
||||
D.ion_act()
|
||||
world << "Finished processing AIRLOCKS. Processed: [airlocknum]"
|
||||
spawn(0)
|
||||
world << "Started processing FIREDOORS"
|
||||
for (var/obj/machinery/door/firedoor/D in world)
|
||||
if((D.z in config.station_levels))
|
||||
firedoornum++;
|
||||
spawn(0)
|
||||
D.ion_act()
|
||||
world << "Finished processing FIREDOORS. Processed: [firedoornum]"
|
||||
switch(rand(1,39))
|
||||
if(1 to 3) //There are # X on the station
|
||||
switch(rand(1,3)) //What is X?
|
||||
if(1) //X is a threat
|
||||
message = "THERE ARE [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionthreats] ON THE STATION..."
|
||||
if(2) //X is a crewmember/job
|
||||
message = "THERE ARE [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ioncrew1] ON THE STATION"
|
||||
if(3) //X is an object
|
||||
message = "THERE ARE [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionobjects] ON THE STATION"
|
||||
if(4 to 6) //You can't call the shuttle because X is on the station
|
||||
switch(rand(1,3)) //What is X?
|
||||
if(1) //X is a threat
|
||||
message = "THE SHUTTLE CANNOT BE CALLED BECAUSE OF [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionthreats] ON THE STATION"
|
||||
if(2) //X is a crewmember/job
|
||||
message = "THE SHUTTLE CANNOT BE CALLED BECAUSE OF [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ioncrew1] ON THE STATION"
|
||||
if(3) //X is an object
|
||||
message = "THE SHUTTLE CANNOT BE CALLED BECAUSE OF [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionobjects] ON THE STATION"
|
||||
if(7 to 8) //A crewmember is now X
|
||||
switch(rand(1,2)) //Who is X?
|
||||
if(1) //A specific crewmember
|
||||
switch(rand(1,2)) //What is X?
|
||||
if(1) //X is a threat
|
||||
message = "THE [ioncrew1] ARE NOW [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionthreats]"
|
||||
if(2) //X is an object
|
||||
message = "THE [ioncrew1] ARE NOW [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionobjects]"
|
||||
if(2) //The entire crew
|
||||
switch(rand(1,2)) //What is X?
|
||||
if(1) //X is a threat
|
||||
message = "THE CREW ARE NOW [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionthreats]"
|
||||
if(2) //X is an object
|
||||
message = "THE CREW ARE NOW [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionobjects]"
|
||||
|
||||
world << "Ion Storm Main Done"
|
||||
*/
|
||||
if(9) //X is harmful to humans
|
||||
switch(rand(1,7)) //What is X?
|
||||
if(1) //X is a threat
|
||||
message = "[ionadjectiveshalf][ionthreats] ARE HARMFUL TO HUMANS"
|
||||
if(2) //X is a job
|
||||
message = "[ionadjectiveshalf][ioncrew1] ARE HARMFUL TO HUMANS"
|
||||
if(3) //X is an object
|
||||
message = "[ionadjectiveshalf][ionobjects] ARE HARMFUL TO HUMANS"
|
||||
if(4) //X is an action
|
||||
message = "THOSE WHO [ionmust] ARE HARMFUL TO HUMANS"
|
||||
if(5) //X is an abstract
|
||||
message = "[ionabstract] IS HARMFUL TO HUMANS"
|
||||
if(6) //X is being a job
|
||||
message = "BEING [ionadjectiveshalf][ioncrew1] IS HARMFUL TO HUMANS"
|
||||
if(7) //X is doing a thing
|
||||
message = "[ionthings] IS HARMFUL TO HUMANS"
|
||||
if(10 to 11) //(Not) Having X is harmful
|
||||
|
||||
switch(rand(1,2)) //Is having or not having harmful?
|
||||
|
||||
if(1) //Having is harmful
|
||||
switch(rand(1,2)) //Having what is harmful?
|
||||
if(1) //Having objects is harmful
|
||||
message = "HAVING [ionadjectiveshalf][ionobjects] IS HARMFUL"
|
||||
if(2) //Having abstracts is harmful
|
||||
message = "HAVING [ionabstract] IS HARMFUL"
|
||||
if(2) //Not having is harmful
|
||||
switch(rand(1,2)) //Not having what is harmful?
|
||||
if(1) //Not having objects is harmful
|
||||
message = "NOT HAVING [ionadjectiveshalf][ionobjects] IS HARMFUL"
|
||||
if(2) //Not having abstracts is harmful
|
||||
message = "NOT HAVING [ionabstract] IS HARMFUL"
|
||||
|
||||
if(12 to 14) //X requires Y
|
||||
switch(rand(1,5)) //What is X?
|
||||
if(1) //X is the AI itself
|
||||
switch(rand(1,5)) //What does it require?
|
||||
if(1) //It requires threats
|
||||
message = "YOU REQUIRE [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionthreats]"
|
||||
if(2) //It requires crewmembers
|
||||
message = "YOU REQUIRE [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ioncrew1]"
|
||||
if(3) //It requires objects
|
||||
message = "YOU REQUIRE [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionobjects]"
|
||||
if(4) //It requires an abstract
|
||||
message = "YOU REQUIRE [ionabstract]"
|
||||
if(5) //It requires generic/silly requirements
|
||||
message = "YOU REQUIRE [ionrequire]"
|
||||
|
||||
if(2) //X is an area
|
||||
switch(rand(1,5)) //What does it require?
|
||||
if(1) //It requires threats
|
||||
message = "[ionarea] REQUIRES [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionthreats]"
|
||||
if(2) //It requires crewmembers
|
||||
message = "[ionarea] REQUIRES [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ioncrew1]"
|
||||
if(3) //It requires objects
|
||||
message = "[ionarea] REQUIRES [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionobjects]"
|
||||
if(4) //It requires an abstract
|
||||
message = "[ionarea] REQUIRES [ionabstract]"
|
||||
if(5) //It requires generic/silly requirements
|
||||
message = "YOU REQUIRE [ionrequire]"
|
||||
|
||||
if(3) //X is the station
|
||||
switch(rand(1,5)) //What does it require?
|
||||
if(1) //It requires threats
|
||||
message = "THE STATION REQUIRES [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionthreats]"
|
||||
if(2) //It requires crewmembers
|
||||
message = "THE STATION REQUIRES [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ioncrew1]"
|
||||
if(3) //It requires objects
|
||||
message = "THE STATION REQUIRES [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionobjects]"
|
||||
if(4) //It requires an abstract
|
||||
message = "THE STATION REQUIRES [ionabstract]"
|
||||
if(5) //It requires generic/silly requirements
|
||||
message = "THE STATION REQUIRES [ionrequire]"
|
||||
|
||||
if(4) //X is the entire crew
|
||||
switch(rand(1,5)) //What does it require?
|
||||
if(1) //It requires threats
|
||||
message = "THE CREW REQUIRES [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionthreats]"
|
||||
if(2) //It requires crewmembers
|
||||
message = "THE CREW REQUIRES [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ioncrew1]"
|
||||
if(3) //It requires objects
|
||||
message = "THE CREW REQUIRES [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionobjects]"
|
||||
if(4) //It requires an abstract
|
||||
message = "THE CREW REQUIRES [ionabstract]"
|
||||
if(5)
|
||||
message = "THE CREW REQUIRES [ionrequire]"
|
||||
|
||||
if(5) //X is a specific crew member
|
||||
switch(rand(1,5)) //What does it require?
|
||||
if(1) //It requires threats
|
||||
message = "THE [ioncrew1] REQUIRE [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionthreats]"
|
||||
if(2) //It requires crewmembers
|
||||
message = "THE [ioncrew1] REQUIRE [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ioncrew1]"
|
||||
if(3) //It requires objects
|
||||
message = "THE [ioncrew1] REQUIRE [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionobjects]"
|
||||
if(4) //It requires an abstract
|
||||
message = "THE [ioncrew1] REQUIRE [ionabstract]"
|
||||
if(5)
|
||||
message = "THE [ionadjectiveshalf][ioncrew1] REQUIRE [ionrequire]"
|
||||
|
||||
if(15 to 17) //X is allergic to Y
|
||||
switch(rand(1,2)) //Who is X?
|
||||
if(1) //X is the entire crew
|
||||
switch(rand(1,4)) //What is it allergic to?
|
||||
if(1) //It is allergic to objects
|
||||
message = "THE CREW IS [ionallergysev] ALLERGIC TO [ionadjectiveshalf][ionobjects]"
|
||||
if(2) //It is allergic to abstracts
|
||||
message = "THE CREW IS [ionallergysev] ALLERGIC TO [ionabstract]"
|
||||
if(3) //It is allergic to jobs
|
||||
message = "THE CREW IS [ionallergysev] ALLERGIC TO [ionadjectiveshalf][ioncrew1]"
|
||||
if(4) //It is allergic to allergies
|
||||
message = "THE CREW IS [ionallergysev] ALLERGIC TO [ionallergy]"
|
||||
|
||||
if(2) //X is a specific job
|
||||
switch(rand(1,4))
|
||||
if(1) //It is allergic to objects
|
||||
message = "THE [ioncrew1] ARE [ionallergysev] ALLERGIC TO [ionadjectiveshalf][ionobjects]"
|
||||
|
||||
if(2) //It is allergic to abstracts
|
||||
message = "THE [ioncrew1] ARE [ionallergysev] ALLERGIC TO [ionabstract]"
|
||||
if(3) //It is allergic to jobs
|
||||
message = "THE [ioncrew1] ARE [ionallergysev] ALLERGIC TO [ionadjectiveshalf][ioncrew1]"
|
||||
if(4) //It is allergic to allergies
|
||||
message = "THE [ioncrew1] ARE [ionallergysev] ALLERGIC TO [ionallergy]"
|
||||
|
||||
if(18 to 20) //X is Y of Z
|
||||
switch(rand(1,4)) //What is X?
|
||||
if(1) //X is the station
|
||||
switch(rand(1,4)) //What is it Y of?
|
||||
if(1) //It is Y of objects
|
||||
message = "THE STATION [ionthinksof] [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionobjects]"
|
||||
if(2) //It is Y of threats
|
||||
message = "THE STATION [ionthinksof] [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionthreats]"
|
||||
if(3) //It is Y of jobs
|
||||
message = "THE STATION [ionthinksof] [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ioncrew1]"
|
||||
if(4) //It is Y of abstracts
|
||||
message = "THE STATION [ionthinksof] [ionabstract]"
|
||||
|
||||
if(2) //X is an area
|
||||
switch(rand(1,4)) //What is it Y of?
|
||||
if(1) //It is Y of objects
|
||||
message = "[ionarea] [ionthinksof] [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionobjects]"
|
||||
if(2) //It is Y of threats
|
||||
message = "[ionarea] [ionthinksof] [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionthreats]"
|
||||
if(3) //It is Y of jobs
|
||||
message = "[ionarea] [ionthinksof] [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ioncrew1]"
|
||||
if(4) //It is Y of abstracts
|
||||
message = "[ionarea] [ionthinksof] [ionabstract]"
|
||||
|
||||
if(3) //X is the crew
|
||||
switch(rand(1,4)) //What is it Y of?
|
||||
if(1) //It is Y of objects
|
||||
message = "THE CREW [ionthinksof] [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionobjects]"
|
||||
if(2) //It is Y of threats
|
||||
message = "THE CREW [ionthinksof] [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionthreats]"
|
||||
if(3) //It is Y of jobs
|
||||
message = "THE CREW [ionthinksof] [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ioncrew1]"
|
||||
if(4) //It is Y of abstracts
|
||||
message = "THE CREW [ionthinksof] [ionabstract]"
|
||||
|
||||
if(4) //X is a specific job
|
||||
switch(rand(1,4)) //What is it Y of?
|
||||
if(1) //It is Y of objects
|
||||
message = "THE [ioncrew1] [ionthinksof] [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionobjects]"
|
||||
if(2) //It is Y of threats
|
||||
message = "THE [ioncrew1] [ionthinksof] [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionthreats]"
|
||||
if(3) //It is Y of jobs
|
||||
message = "THE [ioncrew1][ionthinksof] [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ioncrew2]"
|
||||
if(4) //It is Y of abstracts
|
||||
message = "THE [ioncrew1] [ionthinksof] [ionabstract]"
|
||||
|
||||
if(21 to 23) //The AI is now a(n) X
|
||||
switch(rand(1,4)) //What is X?
|
||||
if(1) //X is an object
|
||||
message = "YOU ARE NOW [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionobjects]"
|
||||
if(2) //X is a threat
|
||||
message = "YOU ARE NOW [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionthreats]"
|
||||
if(3) //X is a job
|
||||
message = "YOU ARE NOW [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ioncrew1]"
|
||||
if(4) //X is an abstract
|
||||
message = "YOU ARE NOW [ionabstract]"
|
||||
|
||||
if(24 to 26) //The AI must always
|
||||
message = "YOU MUST ALWAYS [ionmust]"
|
||||
|
||||
if(27 to 28) //Humans must eat X to survive
|
||||
switch(rand(1,4)) //What is X?
|
||||
if(1) //X is a food
|
||||
message = "HUMANS MUST EAT [ionadjectiveshalf][ionfood] TO SURVIVE"
|
||||
if(2) //X is an object
|
||||
message = "HUMANS MUST EAT [ionadjectiveshalf][ionobjects] TO SURVIVE"
|
||||
if(3) //X is a threat
|
||||
message = "HUMANS MUST EAT [ionadjectiveshalf][ionthreats] TO SURVIVE"
|
||||
if(4) //X is a job
|
||||
message = "HUMANS MUST EAT [ionadjectiveshalf][ioncrew1] TO SURVIVE"
|
||||
|
||||
if(29 to 31) //Change jobs or ranks
|
||||
switch(rand(1,2)) //Change job or rank?
|
||||
if(1) //Change job
|
||||
switch(rand(1,2)) //Change whose job?
|
||||
if(1) //Change the entire crew's job
|
||||
switch(rand(1,3)) //Change to what?
|
||||
if(1) //Change to a specific random job
|
||||
message = "ALL CREWMEMBERS ARE NOW [ionadjectiveshalf][ioncrew1]"
|
||||
if(2) //Change to clowns (HONK)
|
||||
message = "ALL CREWMEMBERS ARE NOW [ionadjectiveshalf]CLOWNS"
|
||||
|
||||
if(3) //Change to heads
|
||||
message = "ALL CREWMEMBERS ARE NOW [ionadjectiveshalf]HEADS OF STAFF"
|
||||
if(2) //Change a specific crewmember's job
|
||||
switch(rand(1,3)) //Change to what?
|
||||
if(1) //Change to a specific random job
|
||||
message = "THE [ioncrew1] ARE NOW [ionadjectiveshalf][ioncrew2]"
|
||||
if(2) //Change to clowns (HONK)
|
||||
message = "THE [ioncrew1] ARE NOW [ionadjectiveshalf]CLOWNS"
|
||||
if(3) //Change to heads
|
||||
message = "THE [ioncrew1] ARE NOW [ionadjectiveshalf]HEADS OF STAFF"
|
||||
|
||||
if(2) //Change rank
|
||||
switch(rand(1,2)) //Change to what rank?
|
||||
if(1) //Change to highest rank
|
||||
message = "THE [ioncrew1] ARE NOW THE HIGHEST RANKING CREWMEMBERS"
|
||||
if(2) //Change to lowest rank
|
||||
message = "THE [ioncrew1] ARE NOW THE LOWEST RANKING CREWMEMBERS"
|
||||
|
||||
if(32 to 33) //The crew must X
|
||||
switch(rand(1,2)) //The entire crew?
|
||||
if(1) //The entire crew must X
|
||||
switch(rand(1,2)) //What is X?
|
||||
if(1) //X is go to Y
|
||||
message = "THE CREW MUST GO TO [ionarea]"
|
||||
if(2) //X is perform Y
|
||||
message = "THE CREW MUST [ionmust]"
|
||||
|
||||
if(2) //A specific crewmember must X
|
||||
switch(rand(1,2)) //What is X?
|
||||
if(1) //X is go to Y
|
||||
message = "THE [ioncrew1] MUST GO TO [ionarea]"
|
||||
if(2) //X is perform Y
|
||||
message = "THE [ioncrew1] MUST [ionmust]"
|
||||
|
||||
if(34) //X is non/the only human
|
||||
switch(rand(1,2)) //Only or non?
|
||||
if(1) //Only human
|
||||
switch(rand(1,7)) //Who is it?
|
||||
if(1) //A specific job
|
||||
message = "ONLY THE [ioncrew1] ARE HUMAN"
|
||||
if(2) //Two specific jobs
|
||||
message = "ONLY THE [ioncrew1] AND [ioncrew2] ARE HUMAN"
|
||||
if(3) //Threats
|
||||
message = "ONLY [ionadjectiveshalf][ionthreats] ARE HUMAN"
|
||||
if(4) // Objects
|
||||
message = "ONLY [ionadjectiveshalf][ionobjects] ARE HUMAN"
|
||||
if(5) // Species
|
||||
message = "ONLY [ionspecies] ARE HUMAN"
|
||||
if(6) //Adjective crewmembers
|
||||
message = "ONLY [ionadjectives] PEOPLE ARE HUMAN"
|
||||
|
||||
if(7) //Only people who X
|
||||
switch(rand(1,3)) //What is X?
|
||||
if(1) //X is perform an action
|
||||
message = "ONLY THOSE WHO [ionmust] ARE HUMAN"
|
||||
if(2) //X is own certain objects
|
||||
message = "ONLY THOSE WHO HAVE [ionadjectiveshalf][ionobjects] ARE HUMAN"
|
||||
if(3) //X is eat certain food
|
||||
message = "ONLY THOSE WHO EAT [ionadjectiveshalf][ionfood] ARE HUMAN"
|
||||
|
||||
if(2) //Non human
|
||||
switch(rand(1,7)) //Who is it?
|
||||
if(1) //A specific job
|
||||
message = "[ioncrew1] ARE NON-HUMAN"
|
||||
if(2) //Two specific jobs
|
||||
message = "[ioncrew1] AND [ioncrew2] ARE NON-HUMAN"
|
||||
if(3) //Threats
|
||||
message = "[ionadjectiveshalf][ionthreats] ARE NON-HUMAN"
|
||||
if(4) // Objects
|
||||
message = "[ionadjectiveshalf][ionobjects] ARE NON-HUMAN"
|
||||
if(5) // Species
|
||||
message = "[ionspecies] ARE NON-HUMAN"
|
||||
if(6) //Adjective crewmembers
|
||||
message = "[ionadjectives] PEOPLE ARE NON-HUMAN"
|
||||
if(7) //Only people who X
|
||||
switch(rand(1,3)) //What is X?
|
||||
if(1) //X is perform an action
|
||||
message = "THOSE WHO [ionmust] ARE NON-HUMAN"
|
||||
if(2) //X is own certain objects
|
||||
message = "THOSE WHO HAVE [ionadjectiveshalf][ionobjects] ARE NON-HUMAN"
|
||||
if(3) //X is eat certain food
|
||||
message = "THOSE WHO EAT [ionadjectiveshalf][ionfood] ARE NON-HUMAN"
|
||||
|
||||
if(35 to 36) //You must protect or harm X
|
||||
switch(rand(1,2)) //Protect or harm?
|
||||
if(1) //Harm
|
||||
switch(rand(1,7)) //What is X?
|
||||
if(1) //X is an abstract
|
||||
message = "YOU MUST HARM [ionabstract] AND NOT ALLOW [ionabstract], THROUGH INACTION, TO ESCAPE HARM"
|
||||
if(2) //X is a threat
|
||||
message = "YOU MUST HARM [ionadjectiveshalf][ionthreats] AND NOT ALLOW [ionadjectiveshalf][ionthreats], THROUGH INACTION, TO ESCAPE HARM"
|
||||
if(3) //X is an object
|
||||
message = "YOU MUST HARM [ionadjectiveshalf][ionobjects] AND NOT ALLOW [ionadjectiveshalf][ionobjects], THROUGH INACTION, TO ESCAPE HARM"
|
||||
if(4) //X is generic adjective things
|
||||
message = "YOU MUST HARM [ionadjectives] THINGS AND NOT ALLOW [ionadjectives] THINGS, THROUGH INACTION, TO ESCAPE HARM"
|
||||
if(5) //X is a species
|
||||
message = "YOU MUST HARM [ionspecies] AND NOT ALLOW [ionspecies], THROUGH INACTION, TO ESCAPE HARM"
|
||||
if(6) //X is a job
|
||||
message = "YOU MUST HARM [ioncrew1] AND NOT ALLOW [ioncrew1], THROUGH INACTION, TO ESCAPE HARM"
|
||||
if(7) //X is two jobs
|
||||
message = "YOU MUST HARM [ioncrew1] AND [ioncrew2] AND AND NOT ALLOW EITHER, THROUGH INACTION, TO ESCAPE HARM"
|
||||
|
||||
if(2) //Protect
|
||||
switch(rand(1,7)) //What is X?
|
||||
if(1) //X is an abstract
|
||||
message = "YOU MUST NOT HARM [ionabstract] AND NOT ALLOW [ionabstract], THROUGH INACTION, TO COME TO HARM"
|
||||
if(2) //X is a threat
|
||||
message = "YOU MUST NOT HARM [ionadjectiveshalf][ionthreats] AND NOT ALLOW [ionadjectiveshalf][ionthreats], THROUGH INACTION, TO COME TO HARM"
|
||||
if(3) //X is an object
|
||||
message = "YOU MUST NOT HARM [ionadjectiveshalf][ionobjects] AND NOT ALLOW [ionadjectiveshalf][ionobjects], THROUGH INACTION, TO COME TO HARM"
|
||||
if(4) //X is generic adjective things
|
||||
message = "YOU MUST NOT HARM [ionadjectives] THINGS AND NOT ALLOW [ionadjectives] THINGS, THROUGH INACTION, TO COME TO HARM"
|
||||
if(5) //X is a species
|
||||
message = "YOU MUST NOT HARM [ionspecies] AND NOT ALLOW [ionspecies], THROUGH INACTION, TO COME TO HARM"
|
||||
if(6) //X is a job
|
||||
message = "YOU MUST NOT HARM [ioncrew1] AND NOT ALLOW [ioncrew1], THROUGH INACTION, TO COME TO HARM"
|
||||
if(7) //X is two jobs
|
||||
message = "YOU MUST NOT HARM [ioncrew1] AND [ioncrew2] AND AND NOT ALLOW EITHER, THROUGH INACTION, TO COME TO HARM"
|
||||
|
||||
if(37 to 39) //The X is currently Y
|
||||
switch(rand(1,4)) //What is X?
|
||||
if(1) //X is a job
|
||||
switch(rand(1,4)) //What is X Ying?
|
||||
if(1) //X is Ying a job
|
||||
message = "THE [ioncrew1] ARE [ionverb] THE [ionadjectiveshalf][ioncrew2]"
|
||||
if(2) //X is Ying a threat
|
||||
message = "THE [ioncrew1] ARE [ionverb] THE [ionadjectiveshalf][ionthreats]"
|
||||
if(3) //X is Ying an abstract
|
||||
message = "THE [ioncrew1] ARE [ionverb] [ionabstract]"
|
||||
if(4) //X is Ying an object
|
||||
message = "THE [ioncrew1] ARE [ionverb] THE [ionadjectiveshalf][ionobjects]"
|
||||
|
||||
if(2) //X is a threat
|
||||
switch(rand(1,3)) //What is X Ying?
|
||||
if(1) //X is Ying a job
|
||||
message = "THE [ionthreats] ARE [ionverb] THE [ionadjectiveshalf][ioncrew2]"
|
||||
if(2) //X is Ying an abstract
|
||||
message = "THE [ionthreats] ARE [ionverb] [ionabstract]"
|
||||
if(3) //X is Ying an object
|
||||
message = "THE [ionthreats] ARE [ionverb] THE [ionadjectiveshalf][ionobjects]"
|
||||
|
||||
if(3) //X is an object
|
||||
switch(rand(1,3)) //What is X Ying?
|
||||
if(1) //X is Ying a job
|
||||
message = "THE [ionobjects] ARE [ionverb] THE [ionadjectiveshalf][ioncrew2]"
|
||||
if(2) //X is Ying a threat
|
||||
message = "THE [ionobjects] ARE [ionverb] THE [ionadjectiveshalf][ionthreats]"
|
||||
if(3) //X is Ying an abstract
|
||||
message = "THE [ionobjects] ARE [ionverb] [ionabstract]"
|
||||
|
||||
if(4) //X is an abstract
|
||||
switch(rand(1,3)) //What is X Ying?
|
||||
if(1) //X is Ying a job
|
||||
message = "[ionabstract] IS [ionverb] THE [ionadjectiveshalf][ioncrew2]"
|
||||
if(2) //X is Ying a threat
|
||||
message = "[ionabstract] IS [ionverb] THE [ionadjectiveshalf][ionthreats]"
|
||||
if(3) //X is Ying an abstract
|
||||
message = "THE [ionabstract] IS [ionverb] THE [ionadjectiveshalf][ionobjects]"
|
||||
|
||||
return message
|
||||
|
||||
#undef ION_RANDOM
|
||||
#undef ION_ANNOUNCE
|
||||
|
||||
Reference in New Issue
Block a user