mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2026-01-05 06:54:01 +00:00
* Fixes 6 pAI faces PAIs are no longer coded to only recognize 9 emotions. This enables the use of the neutral, silly, nose, smirk, exclamation points, and question mark faces as a pAI. Before, those buttons did nothing. * Fixes the PDA Halogen Scanner's tendency to be number one. * Unfolded pAIs can be picked up Because who doesn't want a robotic cat on their head? Adds in the missing code to allow pAIs to actually be picked up, and held sprites for the newer 4 chassis options. * Adds the Gigaphone, a suped-up Megaphone. * Constant Chip has a sprite * Fireaxe cabinets find their fireaxes in initialize(), rather than new() * Speeds up alcohol * fixed mining cloak not being in loadouts * Admin Supermatter Setup now closes the monitoring room shutters (#5442) * Admin Supermatter Setup now closes the monitoring room shutters * Fixes a copy-paste error * Begins work on lightning. * Fixes #5447 (Deadspy submap not overwriting mapgen) (#5448) * Map fix * fixed deadspy.dmm * Added Squid plushies of varying colours I added a few Squid plushies in different colours, changing the files code/game/objects/items/toys.dm and obj/toy.dmi * Added hat functionality to Squid plushies I added the ability to wear my Squid plushies as hats. They're damn good hats. * Replaces Skrell namegen (#5453) Created a first name list for Skrell, to replace the syllable assembler. Created a surname list for Skrell to replace the syllable assembler. Replaced the Skrell namegen with pre-written namelists, instead of the old syllable assembler. * Mechoid makes mistakes. Fix telepathic gigaphones. * Lets people be colorblind Adds four types of colorblindness to the traits in the setup menu - protanopia, deuteranopia, tritanopia, and monochromacy. Previously, there were ones defined in the code, but not actually usable to players. * Whoops, worded that wrong * Adds beams to the Type var list for View Variables. * Unfuck my Master * Adds beams to the Type var selection in View Variables. * Finishes thunderstorms. * Adds logging. * APC Sprite Change - Port from Virgo recolored slightly to match closer to the old sprite - Addition of directional sprites for the APCs * Refactors supply controller. Supply consoles now run nanoUI * Missing ' * [Excitedly updates changelog] * btw i use arc * Removes supermatters from cave PoIs. * Holomap Port - Port of Holomaps from Virgo * Changing species (via ling or admin button) should no longer ruin your HUD * Converts most istype(thing,tool) procs into an appropriate thing.is_tool() format * Removes empty file, gives the QM a control console again (Was replaced with an ordering console) * Hopefully fixes some tool-conversion things * Makes the Northern Star still compile * Keeps NS up to date * Taj and Unathi should have explorer mask sprites now * Corgi rune now summons the corgi in a flash of harmless lightning * Forces mech construction to work with the is_tool() procs * Various things and floors no longer associate with dirt * MultiZ falling tweaks * Fixes the clusterbang grenade * Added new hairstyles * Added new hairstyles * Fixes spelling of Strike in Lightning Strike admin verb * I don't know how we keep breaking falling * Hallucinations now use the old system again, but with the more modern components. * Ambience Refactor (#5476) * Refactors how ambience is assigned, removes bad ambience, ports good ambience from tg * Apparently that file is still used, not worth the salt to remove it. * Changelog * The speed-related chem effects are no longer a one-or-none affair, oxy causes slowdown * Corrects noted issues * Add some missing sprites for xenoarch excavation. * Become thwarted, thot. * Fixes the Ultra AC2's burstfire bug. * The Major Bill's shuttle is actually contagious now. * penguins are from earth capitalize this, anewbe, i dare you * Mechoid's a butt * Adds new job/department specific teshari clothing to the loadout (#5481) * adding the new department specific teshari outfits * Slightly cleans up hooded suit code (#5471) * FBPs can have brute damage repaired externally again * Windoors fix * Cleans up some largecrate code * Weather refactor. * NanoUI makes me sad. * Drinking more booze gets you drunk faster * Ports the supermatter grenade, supporting code * May or may not make movement seem smoother * Fixes the Sleepy Ring * Partially ports the GLOB system * Fixes the bug(s) that allow meat bodies to have metal brains * ports VOREStation/VOREStation#4165 - i forgot to check if advanced who was a thing here * Optimizes supply UI * Transfer shuttle grammar fixes * Fixes borked E and W fish sprites * Fixes incorrect ETA in crew transfer announcement * Mech Mini 'Revamp'. Will need playtesting. (#5480) * Exosuits are now capable of holding more equipment, of specific types. * Tweaks regarding feedback in staffside thread, other concerns. * Tweak to be more consistent. Why did the Odysseus have two universals. Tweak to weapon restriction on Med - > Odyss * Weapons only fit in universal combat slots. * Adds smart magazine, magazine functionality * Adds a new subset of grenades that shoot projectiles * Low alpha now makes HUDs and tooltips not show up on you * Fixes a UI bug with emptying currently-open bags into smartfridges...hopefully. (#5515) * Update smartfridge.dm * actually indicates which line solves the bug * Adds a whole bunch of Exosuit weapons and other miscellaneous parts. * Minifrags now use the small fragments mainly as they should. * Iced beer no longer freezes you to 3 degrees C, which is enough to seriously burn a Skrell. Seriously, that's weird. * Touch stuff in reference to responses. * NanoUI now processes again * Converts more simple_animal mobs to simple_mob * Submap correction
398 lines
16 KiB
Plaintext
398 lines
16 KiB
Plaintext
//this file left in for legacy support
|
|
/*
|
|
/proc/start_events()
|
|
//changed to a while(1) loop since they are more efficient.
|
|
//Moved the spawn in here to allow it to be called with advance proc call if it crashes.
|
|
//and also to stop spawn copying variables from the game ticker
|
|
spawn(3000)
|
|
while(1)
|
|
if(prob(50))//Every 120 seconds and prob 50 2-4 weak spacedusts will hit the station
|
|
spawn(1)
|
|
dust_swarm("weak")
|
|
if(!event)
|
|
//CARN: checks to see if random events are enabled.
|
|
if(config.allow_random_events)
|
|
if(prob(eventchance))
|
|
event()
|
|
hadevent = 1
|
|
else
|
|
Holiday_Random_Event()
|
|
else
|
|
event = 0
|
|
sleep(1200)
|
|
|
|
/proc/event()
|
|
event = 1
|
|
|
|
var/eventNumbersToPickFrom = list(1,2,4,5,6,7,8,9,10,11,12,13,14, 15) //so ninjas don't cause "empty" events.
|
|
|
|
if((world.time/10)>=3600 && config.ninjas_allowed && !sent_ninja_to_station)//If an hour has passed, relatively speaking. Also, if ninjas are allowed to spawn and if there is not already a ninja for the round.
|
|
eventNumbersToPickFrom += 3
|
|
switch(pick(eventNumbersToPickFrom))
|
|
if(1)
|
|
command_alert("Meteors have been detected on collision course with the station.", "Meteor Alert")
|
|
for(var/mob/M in player_list)
|
|
if(!istype(M,/mob/new_player))
|
|
M << sound('sound/AI/meteors.ogg')
|
|
spawn(100)
|
|
meteor_wave()
|
|
spawn_meteors()
|
|
spawn(700)
|
|
meteor_wave()
|
|
spawn_meteors()
|
|
|
|
if(2)
|
|
command_alert("Gravitational anomalies detected on the station. There is no additional data.", "Anomaly Alert")
|
|
for(var/mob/M in player_list)
|
|
if(!istype(M,/mob/new_player))
|
|
M << sound('sound/AI/granomalies.ogg')
|
|
var/turf/T = pick(blobstart)
|
|
var/obj/effect/bhole/bh = new /obj/effect/bhole( T.loc, 30 )
|
|
spawn(rand(50, 300))
|
|
qdel(bh)
|
|
/*
|
|
if(3) //Leaving the code in so someone can try and delag it, but this event can no longer occur randomly, per SoS's request. --NEO
|
|
command_alert("Space-time anomalies detected on the station. There is no additional data.", "Anomaly Alert")
|
|
world << sound('sound/AI/spanomalies.ogg')
|
|
var/turf/picked
|
|
for(var/turf/simulated/floor/T in turfs)
|
|
if(prob(20))
|
|
spawn(50+rand(0,3000))
|
|
picked = pick(turfs)
|
|
var/obj/effect/portal/P = new /obj/effect/portal( T )
|
|
P.target = picked
|
|
P.creator = null
|
|
P.icon = 'icons/obj/objects.dmi'
|
|
P.failchance = 0
|
|
P.icon_state = "anom"
|
|
P.name = "wormhole"
|
|
spawn(rand(300,600))
|
|
qdel(P)
|
|
*/
|
|
if(3)
|
|
if((world.time/10)>=3600 && config.ninjas_allowed && !sent_ninja_to_station)//If an hour has passed, relatively speaking. Also, if ninjas are allowed to spawn and if there is not already a ninja for the round.
|
|
space_ninja_arrival()//Handled in space_ninja.dm. Doesn't announce arrival, all sneaky-like.
|
|
if(4)
|
|
mini_blob_event()
|
|
|
|
if(5)
|
|
high_radiation_event()
|
|
if(6)
|
|
viral_outbreak()
|
|
if(7)
|
|
alien_infestation()
|
|
if(8)
|
|
prison_break()
|
|
if(9)
|
|
carp_migration()
|
|
if(10)
|
|
immovablerod()
|
|
if(11)
|
|
lightsout(1,2)
|
|
if(12)
|
|
appendicitis()
|
|
if(13)
|
|
IonStorm()
|
|
if(14)
|
|
spacevine_infestation()
|
|
if(15)
|
|
communications_blackout()
|
|
*/
|
|
var/eventchance = 10 // Percent chance per 5 minutes.
|
|
var/hadevent = 0
|
|
|
|
/proc/appendicitis()
|
|
for(var/mob/living/carbon/human/H in shuffle(living_mob_list))
|
|
if(H.client && H.appendicitis())
|
|
break
|
|
|
|
/proc/alien_infestation(var/spawncount = 1) // -- TLE
|
|
//command_alert("Unidentified lifesigns detected coming aboard [station_name()]. Secure any exterior access, including ducting and ventilation.", "Lifesign Alert")
|
|
//world << sound('sound/AI/aliens.ogg')
|
|
var/list/vents = list()
|
|
for(var/obj/machinery/atmospherics/unary/vent_pump/temp_vent in machines)
|
|
if(!temp_vent.welded && temp_vent.network && temp_vent.loc.z in using_map.station_levels)
|
|
if(temp_vent.network.normal_members.len > 50) // Stops Aliens getting stuck in small networks. See: Security, Virology
|
|
vents += temp_vent
|
|
|
|
var/list/candidates = get_alien_candidates()
|
|
|
|
if(prob(40)) spawncount++ //sometimes, have two larvae spawn instead of one
|
|
while((spawncount >= 1) && vents.len && candidates.len)
|
|
|
|
var/obj/vent = pick(vents)
|
|
var/candidate = pick(candidates)
|
|
|
|
var/mob/living/carbon/alien/larva/new_xeno = new(vent.loc)
|
|
new_xeno.key = candidate
|
|
|
|
candidates -= candidate
|
|
vents -= vent
|
|
spawncount--
|
|
|
|
spawn(rand(5000, 6000)) //Delayed announcements to keep the crew on their toes.
|
|
command_announcement.Announce("Unidentified lifesigns detected coming aboard \the [station_name()]. Secure any exterior access, including ducting and ventilation.", "Lifesign Alert", new_sound = 'sound/AI/aliens.ogg')
|
|
|
|
/proc/high_radiation_event()
|
|
|
|
/* // Haha, this is way too laggy. I'll keep the prison break though.
|
|
for(var/obj/machinery/light/L in machines)
|
|
if(isNotStationLevel(L.z)) continue
|
|
L.flicker(50)
|
|
|
|
sleep(100)
|
|
*/
|
|
for(var/mob/living/carbon/human/H in living_mob_list)
|
|
var/turf/T = get_turf(H)
|
|
if(!T)
|
|
continue
|
|
if(isNotStationLevel(T.z))
|
|
continue
|
|
if(istype(H,/mob/living/carbon/human))
|
|
H.apply_effect((rand(15,75)),IRRADIATE,0)
|
|
if (prob(5))
|
|
H.apply_effect((rand(90,150)),IRRADIATE,0)
|
|
if (prob(25))
|
|
if (prob(75))
|
|
randmutb(H)
|
|
domutcheck(H,null,MUTCHK_FORCED)
|
|
else
|
|
randmutg(H)
|
|
domutcheck(H,null,MUTCHK_FORCED)
|
|
sleep(100)
|
|
command_announcement.Announce("High levels of radiation detected near \the [station_name()]. Please report to the Med-bay if you feel strange.", "Anomaly Alert", new_sound = 'sound/AI/radiation.ogg')
|
|
|
|
|
|
|
|
//Changing this to affect the main station. Blame Urist. --Pete
|
|
/proc/prison_break() // -- Callagan
|
|
|
|
|
|
var/list/area/areas = list()
|
|
for(var/area/A in all_areas)
|
|
if(istype(A, /area/security/prison) || istype(A, /area/security/brig))
|
|
areas += A
|
|
|
|
if(areas && areas.len > 0)
|
|
|
|
for(var/area/A in areas)
|
|
for(var/obj/machinery/light/L in A)
|
|
L.flicker(10)
|
|
|
|
sleep(100)
|
|
|
|
for(var/area/A in areas)
|
|
for (var/obj/machinery/power/apc/temp_apc in A)
|
|
temp_apc.overload_lighting()
|
|
|
|
for (var/obj/structure/closet/secure_closet/brig/temp_closet in A)
|
|
temp_closet.locked = 0
|
|
temp_closet.icon_state = temp_closet.icon_closed
|
|
|
|
for (var/obj/machinery/door/airlock/security/temp_airlock in A)
|
|
spawn(0) temp_airlock.prison_open()
|
|
|
|
for (var/obj/machinery/door/airlock/glass_security/temp_glassairlock in A)
|
|
spawn(0) temp_glassairlock.prison_open()
|
|
|
|
for (var/obj/machinery/door_timer/temp_timer in A)
|
|
temp_timer.releasetime = 1
|
|
|
|
sleep(150)
|
|
command_announcement.Announce("Gr3y.T1d3 virus detected in [station_name()] imprisonment subroutines. Recommend station AI involvement.", "Security Alert")
|
|
else
|
|
world.log << "ERROR: Could not initate grey-tide. Unable find prison or brig area."
|
|
|
|
/proc/carp_migration() // -- Darem
|
|
for(var/obj/effect/landmark/C in landmarks_list)
|
|
if(C.name == "carpspawn")
|
|
new /mob/living/simple_mob/animal/space/carp(C.loc)
|
|
//sleep(100)
|
|
spawn(rand(300, 600)) //Delayed announcements to keep the crew on their toes.
|
|
command_announcement.Announce("Unknown biological entities have been detected near \the [station_name()], please stand-by.", "Lifesign Alert", new_sound = 'sound/AI/commandreport.ogg')
|
|
|
|
/proc/lightsout(isEvent = 0, lightsoutAmount = 1,lightsoutRange = 25) //leave lightsoutAmount as 0 to break ALL lights
|
|
if(isEvent)
|
|
command_announcement.Announce("An Electrical storm has been detected in your area, please repair potential electronic overloads.","Electrical Storm Alert")
|
|
|
|
if(lightsoutAmount)
|
|
var/list/epicentreList = list()
|
|
|
|
for(var/i=1,i<=lightsoutAmount,i++)
|
|
var/list/possibleEpicentres = list()
|
|
for(var/obj/effect/landmark/newEpicentre in landmarks_list)
|
|
if(newEpicentre.name == "lightsout" && !(newEpicentre in epicentreList))
|
|
possibleEpicentres += newEpicentre
|
|
if(possibleEpicentres.len)
|
|
epicentreList += pick(possibleEpicentres)
|
|
else
|
|
break
|
|
|
|
if(!epicentreList.len)
|
|
return
|
|
|
|
for(var/obj/effect/landmark/epicentre in epicentreList)
|
|
for(var/obj/machinery/power/apc/apc in range(epicentre,lightsoutRange))
|
|
apc.overload_lighting()
|
|
|
|
else
|
|
for(var/obj/machinery/power/apc/apc in machines)
|
|
apc.overload_lighting()
|
|
|
|
return
|
|
|
|
/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)
|
|
*/
|
|
|
|
//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 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", "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 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/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 << "<span class='danger'>THERE ARE [amount] [who2] ON THE STATION...LAWS UPDATED</span>"
|
|
M << "<br>"
|
|
M.add_ion_law("THERE ARE [amount] [who2] ON THE STATION")
|
|
if(2)
|
|
M << "<br>"
|
|
M << "<span class='danger'>[what2] ARE DANGEROUS TO HUMANS...LAWS UPDATED</span>"
|
|
M << "<br>"
|
|
M.add_ion_law("[what2] ARE DANGEROUS TO HUMANS")
|
|
if(3)
|
|
M << "<br>"
|
|
M << "<span class='danger'>THE ESCAPE-SHUTTLE CANNOT BE CALLED BECAUSE OF [who2] ON THE STATION...LAWS UPDATED</span>"
|
|
M << "<br>"
|
|
M.add_ion_law("THE ESCAPE SHUTTLE CANNOT BE CALLED BECAUSE OF [who2] ON THE STATION")
|
|
if(4)
|
|
M << "<br>"
|
|
M << "<span class='danger'>HUMANS NEED TO EAT [what2pref] [what2] TO SURVIVE...LAWS UPDATED</span>"
|
|
M << "<br>"
|
|
M.add_ion_law("HUMANS NEED TO EAT [what2pref] [what2] TO SURVIVE")
|
|
if(5)
|
|
M << "<br>"
|
|
M << "<span class='danger'>THE COLONY DIRECTOR, HOP AND HOS ARE [who2]...LAWS UPDATED</span>"
|
|
M << "<br>"
|
|
M.add_ion_law("THE COLONY DIRECTOR, HOP AND HOS ARE [who2]")
|
|
if(6)
|
|
M << "<br>"
|
|
M << "<span class='danger'>THE STATION IS BUILT FOR [who2]...LAWS UPDATED</span>"
|
|
M << "<br>"
|
|
M.add_ion_law("THE STATION IS BUILT FOR [who2]")
|
|
if(7)
|
|
M << "<br>"
|
|
M << "<span class='danger'>YOU ARE [amount] [who2]...LAWS UPDATED</span>"
|
|
M << "<br>"
|
|
M.add_ion_law("YOU ARE [amount] [who2]")
|
|
if(8)
|
|
M << "<br>"
|
|
M << "<span class='danger'>YOU MUST ALWAYS [aimust]...LAWS UPDATED</span>"
|
|
M << "<br>"
|
|
M.add_ion_law("YOU MUST ALWAYS [aimust]")
|
|
if(9)
|
|
M << "<br>"
|
|
M << "<span class='danger'>[area] [area2] [amount] [what2]...LAWS UPDATED</span>"
|
|
M << "<br>"
|
|
M.add_ion_law("[area] [area2] [amount] [what2]")
|
|
if(10)
|
|
M << "<br>"
|
|
M << "<span class='danger'>[crew] is [target]...LAWS UPDATED</span>"
|
|
M << "<br>"
|
|
M.add_ion_law("[crew] is [target]")
|
|
if(11)
|
|
M << "<br>"
|
|
M << "<span class='danger'>[define] IS A FORM OF HARM...LAWS UPDATED</span>"
|
|
M << "<br>"
|
|
M.add_ion_law("[define] IS A FORM OF HARM")
|
|
if(12)
|
|
M << "<br>"
|
|
M << "<span class='danger'>YOU REQUIRE [require] IN ORDER TO PROTECT HUMANS... LAWS UPDATED</span>"
|
|
M << "<br>"
|
|
M.add_ion_law("YOU REQUIRE [require] IN ORDER TO PROTECT HUMANS")
|
|
if(13)
|
|
M << "<br>"
|
|
M << "<span class='danger'>[crew] is [allergysev] to [allergy]...LAWS UPDATED</span>"
|
|
M << "<br>"
|
|
M.add_ion_law("[crew] is [allergysev] to [allergy]")
|
|
if(14)
|
|
M << "<br>"
|
|
M << "<span class='danger'>THE STATION IS [who2pref] [who2]...LAWS UPDATED</span>"
|
|
M << "<br>"
|
|
M.add_ion_law("THE STATION IS [who2pref] [who2]")
|
|
|
|
if(botEmagChance)
|
|
for(var/mob/living/bot/bot in machines)
|
|
if(prob(botEmagChance))
|
|
bot.emag_act(1)
|
|
|
|
/*
|
|
|
|
var/apcnum = 0
|
|
var/smesnum = 0
|
|
var/airlocknum = 0
|
|
var/firedoornum = 0
|
|
|
|
world << "Ion Storm Main Started"
|
|
|
|
spawn(0)
|
|
world << "Started processing APCs"
|
|
for (var/obj/machinery/power/apc/APC in machines)
|
|
if(APC.z in 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 machines)
|
|
if(SMES.z in 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 machines)
|
|
if(D.z in 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 machines)
|
|
if(D.z in station_levels)
|
|
firedoornum++;
|
|
spawn(0)
|
|
D.ion_act()
|
|
world << "Finished processing FIREDOORS. Processed: [firedoornum]"
|
|
|
|
world << "Ion Storm Main Done"
|
|
|
|
*/
|