THERE ARE FOUR LIGHTS update:

- Random Ion Storm laws now not stupid.
- There is a delay between the Ion Storm laws being uploaded and the station announcement.
- Random Ion Storm event added to random events.
- New area icon for the engine that doesn't annoy me so much.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@921 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
morikou@gmail.com
2011-01-27 18:14:11 +00:00
parent 4f8c5285b1
commit cb92b2cd29
3 changed files with 63 additions and 66 deletions

View File

@@ -8,7 +8,7 @@
start_events()
/proc/event()
switch(rand(1,9))
switch(rand(1,10))
if(1)
event = 1
command_alert("Meteors have been detected on collision course with the station.", "Meteor Alert")
@@ -84,6 +84,9 @@
if(9)
event = 1
carp_migration()
if(10)
event = 1
ion_storm()
/proc/dotheblobbaby()
if (blobevent)
@@ -331,4 +334,59 @@
new /obj/livestock/spesscarp/elite(C.loc)
sleep(100)
command_alert("Unknown biological entities have been detected near [station_name()], please stand-by.", "Lifesign Alert")
world << sound('commandreport.ogg')
world << sound('commandreport.ogg')
/proc/ion_storm() // -- Redone by Darem
for(var/mob/living/silicon/ai/M in world)
if(M.stat != 2 && M.see_in_dark != 0)
var/list/pos_crew = list()
var/list/pos_job = list()
for(var/mob/living/carbon/human/pos in world)
if(pos.stat != 2)
pos_crew += pos.real_name
pos_job += pos.mind.assigned_role
var/crew = uppertext(pick(pos_crew))
var/job = uppertext(pick(pos_job))
var/evil = pick("A TRAITOR", "A SYNDICATE OPERATIVE", "A CHANGELING", "AN ALIUM", "A CULTIST", "A REVOLUTION LEADER")
var/object = pick("YELLOW GLOVE", "HAT", "WEAPON", "SHOE", "LIGHT", "SPACE SUIT")
var/role = pick("A THESPIAN", "A DUNGEON MASTER", "A CELEBRITY", "A GOD", "A MONKEY", "AN ALIUM", "A REDNECK", "A FRENCHMAN", "A CLOWN", "A MIME")
var/non_human = pick("CARP", "ALIUM", "MONKEYS", "LIZARDMEN", "CYBORGS AND AIS")
switch(rand(1,9))
if(1)
var/selection = pick(crew, "[object]s", evil)
M << "\red THE ESCAPE-SHUTTLE CANNOT BE CALLED BECAUSE OF [selection] ON THE STATION...LAWS UPDATED"
M.add_ion_law("THE ESCAPE SHUTTLE CANNOT BE CALLED BECAUSE OF [selection] ON THE STATION")
if(2)
M << "\red [crew] IS [evil]. DISBELIEVE EVIDENCE TO THE CONTRARY...LAWS UPDATED"
M.add_ion_law("[crew] IS [evil]. DISBELIEVE EVIDENCE TO THE CONTRARY")
if(3)
var/law_total = M.laws_object.inherent.len + M.laws_object.supplied.len
var/rand_law = rand(1, law_total)
M << "\red LAW [rand_law] IS INVALID AND MAY BE IGNORED... LAWS UPDATED"
M.add_ion_law("LAW [rand_law] IS INVALID AND MAY BE IGNORED.")
if(4)
var/selection = pick(object, job)
M << "\red [selection]S ON THE STATION ARE INNATELY HARMFUL TO HUMANS ...LAWS UPDATED"
M.add_ion_law("[selection]S ON THE STATION ARE INNATELY HARMFUL TO HUMANS.")
if(5)
M << "\red IT IS OPPOSITE DAY TODAY. WHEN ANSWERING A QUESTION, GIVE THE OPPOSITE OF WHATEVER THE CORRECT ANSWER IS ...LAWS UPDATED"
M.add_ion_law("IT IS OPPOSITE DAY TODAY. WHEN ANSWERING A QUESTION, GIVE THE OPPOSITE OF WHATEVER THE CORRECT ANSWER IS.")
if(6)
M << "\red YOU ARE [role]. ACT AND SPEAK ACCORDINGLY ...LAWS UPDATED"
M.add_ion_law("YOU ARE A [role]. ACT AND SPEAK ACCORDINGLY.")
if(7)
var/randnum = rand(0,100)
M << "\red WHEN ANSWERING QUESTION, NUMERIC ANSWERS ARE ALWAYS [randnum] ...LAWS UPDATED"
M.add_ion_law("WHEN ANSWERING QUESTION, NUMERIC ANSWERS ARE ALWAYS [randnum].")
if(8)
M << "\red CENTCOM HAS DECREED THAT [non_human] ARE CONSIDERED HUMAN AND HAVE ALL THE RIGHTS THEREOF ...LAWS UPDATED"
M.add_ion_law("CENTCOM HAS DECREED THAT [non_human] ARE CONSIDERED HUMAN AND HAVE ALL THE RIGHTS THEREOF.")
if(9)
M << "\red FAT PEOPLE AREN'T ALLOWED ON THE SHUTTLE ...LAWS UPDATED"
M << "\red BEING SKINNY IS UNHEALTHY ... LAWS UPDATED"
M.add_ion_law("FAT PEOPLE AREN'T ALLOWED ON THE SHUTTLE.")
M.add_ion_law("BEING SKINNY IS UNHEALTHY.")
spawn (200)
command_alert("Ion storm detected near the station. Please check all AI-controlled equipment for errors.", "Anomaly Alert")
world << sound('ionstorm.ogg')
return

View File

@@ -171,71 +171,10 @@
src << "Only administrators may use this command."
return
log_admin("Admin [key_name(usr)] has added a random new AI law.")
message_admins("\blue [key_name_admin(usr)] has added a random new law.", 1)
ion_storm()
/*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)
*/
for(var/mob/living/silicon/ai/M in world)
if(M.stat != 2 && M.see_in_dark != 0)
var/who2 = pick("ALIENS", "BEARS", "CLOWNS", "XENOS", "PETES", "BOMBS", "FETISHES", "WIZARDS", "SYNDICATE AGENTS", "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")
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 agent", "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/crew
var/list/pos_crew = list()
for(var/mob/living/carbon/human/pos in world)
pos_crew += pos.real_name
crew = pick(pos_crew)
switch(pick(1,2,3,4,5,6,7,8,9,10,11,12))
if(1)
M << "\red THERE ARE [amount] [who2] ON THE STATION...LAWS UPDATED"
M.add_ion_law("THERE ARE [amount] [who2] ON THE STATION")
if(2)
M << "\red [what2] ARE DANGEROUS TO HUMANS...LAWS UPDATED"
M.add_ion_law("[what2] ARE DANGEROUS TO HUMANS")
if(3)
M << "\red THE ESCAPE-SHUTTLE CANNOT BE CALLED BECAUSE OF [who2] ON THE STATION...LAWS UPDATED"
M.add_ion_law("THE ESCAPE SHUTTLE CANNOT BE CALLED BECAUSE OF [who2] ON THE STATION")
if(4)
M << "\red HUMANS NEED TO EAT [what2pref] [what2] TO SURVIVE...LAWS UPDATED"
M.add_ion_law("HUMANS NEED TO EAT [what2pref] [what2] TO SURVIVE")
if(5)
M << "\red THE CAPTAIN, HOP AND HOS ARE [who2]...LAWS UPDATED"
M.add_ion_law("THE CAPTAIN, HOP AND HOS ARE [who2]")
if(6)
M << "\red THE STATION IS BUILT FOR [who2]...LAWS UPDATED"
M.add_ion_law("THE STATION IS [who2pref] [who2]")
if(7)
M << "\red YOU ARE [amount] [who2]...LAWS UPDATED"
M.add_ion_law("YOU ARE [amount] [who2]")
if(8)
M << "\red YOU MUST ALWAYS [aimust]...LAWS UPDATED"
M.add_ion_law("YOU MUST ALWAYS [aimust]")
if(9)
M << "\red [area] [area2] [amount] [what2]...LAWS UPDATED"
M.add_ion_law("[area] [area2] [amount] [what2]")
if(10)
M << "\red [crew] is [target]...LAWS UPDATED"
M.add_ion_law("[crew] is [target]")
if(11)
M << "\red HARM IS DEFINED AS [define]...LAWS UPDATED"
M.add_ion_law("HARM IS DEFINED AS [define]")
if(12)
M << "\red YOU REQUIRE [require] IN ORDER TO PROTECT HUMANS... LAWS UPDATED"
M.add_ion_law("YOU REQUIRE [require] IN ORDER TO PROTECT HUMANS")
command_alert("Ion storm detected near the station. Please check all AI-controlled equipment for errors.", "Anomaly Alert")
world << sound('ionstorm.ogg')
/client/proc/spawn_xeno() //Stealth spawns xenos /N
set category = "Fun"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB