mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-13 02:13:06 +00:00
497 lines
24 KiB
Plaintext
497 lines
24 KiB
Plaintext
#define ION_RANDOM 0
|
|
#define ION_ANNOUNCE 1
|
|
|
|
/datum/round_event_control/ion_storm
|
|
name = "Ion Storm"
|
|
typepath = /datum/round_event/ion_storm
|
|
weight = 15
|
|
|
|
/datum/round_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/round_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
|
|
..()
|
|
|
|
/datum/round_event/ion_storm/announce()
|
|
if(announceEvent == ION_ANNOUNCE || (announceEvent == ION_RANDOM && prob(ionAnnounceChance)))
|
|
priority_announce("Ion storm detected near the station. Please check all AI-controlled equipment for errors.", "Anomaly Alert", 'sound/AI/ionstorm.ogg')
|
|
|
|
|
|
/datum/round_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/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/mob/living/simple_animal/bot/bot in living_mob_list)
|
|
if(prob(botEmagChance))
|
|
bot.emag_act()
|
|
|
|
/proc/generate_ion_law(ionMessage)
|
|
if(ionMessage)
|
|
return ionMessage
|
|
|
|
//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")
|
|
|
|
var/message = ""
|
|
|
|
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]"
|
|
|
|
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
|