mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 18:22:39 +00:00
Added Security Belts, 4 slot belt that can carry basic sec gear. The security shuttle control can now be emag'd. Removed the old take off and stabilize verbs for the pshuttle. Cleaned up some computer defines. The detective's cabinet is now a secure cabinet. Most of the secure closets cleaned up a bit. The captain no longer spawns with an ID box in his backpack. RD's locker got its flash back. Added the blob node sprites. Removed the 2% laser resist that normal jumpsuits gave. Normal clothing should not be blocking lasers. Left the 10% special block on each department. Riot suit slowdown lowered to 1 from 2.5 Repiped the right side of sec and tidied up the powerlines. Loyalty Implanter moved into the outer rec room checkpoint. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2277 316c924e-a436-60f5-8080-3fe189b3f50e
496 lines
19 KiB
Plaintext
496 lines
19 KiB
Plaintext
/proc/start_events()
|
|
if(prob(50))//Every 120 seconds and prob 50 2-4 weak spacedusts will hit the station
|
|
spawn(1)
|
|
dust_swarm("weak")
|
|
if (!event && prob(eventchance))
|
|
event()
|
|
hadevent = 1
|
|
spawn(1300)
|
|
event = 0
|
|
spawn(1200)
|
|
start_events()
|
|
|
|
/proc/event()
|
|
event = 1
|
|
|
|
var/eventNumbersToPickFrom = list(1,2,4,5,6,7,8,9,10,11,12,13) //so ninjas don't cause "empty" events.
|
|
|
|
if((world.time/10)>=3600 && toggle_space_ninja && !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")
|
|
world << sound('meteors.ogg')
|
|
spawn(100)
|
|
meteor_wave()
|
|
meteor_wave()
|
|
spawn(500)
|
|
meteor_wave()
|
|
meteor_wave()
|
|
|
|
if(2)
|
|
command_alert("Gravitational anomalies detected on the station. There is no additional data.", "Anomaly Alert")
|
|
world << sound('granomalies.ogg')
|
|
var/turf/T = pick(blobstart)
|
|
var/obj/bhole/bh = new /obj/bhole( T.loc, 30 )
|
|
spawn(rand(50, 300))
|
|
del(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('spanomalies.ogg')
|
|
var/list/turfs = new
|
|
var/turf/picked
|
|
for(var/turf/simulated/floor/T in world)
|
|
if(T.z == 1)
|
|
turfs += T
|
|
for(var/turf/simulated/floor/T in turfs)
|
|
if(prob(20))
|
|
spawn(50+rand(0,3000))
|
|
picked = pick(turfs)
|
|
var/obj/portal/P = new /obj/portal( T )
|
|
P.target = picked
|
|
P.creator = null
|
|
P.icon = 'objects.dmi'
|
|
P.failchance = 0
|
|
P.icon_state = "anom"
|
|
P.name = "wormhole"
|
|
spawn(rand(300,600))
|
|
del(P)
|
|
*/
|
|
if(3)
|
|
if((world.time/10)>=3600 && toggle_space_ninja && !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()
|
|
|
|
|
|
/obj/bhole/New()
|
|
src.smoke = new /datum/effects/system/harmless_smoke_spread()
|
|
src.smoke.set_up(5, 0, src)
|
|
src.smoke.attach(src)
|
|
src:life()
|
|
|
|
/obj/bhole/Bumped(atom/A)
|
|
if (istype(A,/mob/living))
|
|
del(A)
|
|
else
|
|
A:ex_act(1.0)
|
|
|
|
/obj/bhole/proc/life() //Oh man , this will LAG
|
|
|
|
if (prob(10))
|
|
src.anchored = 0
|
|
step(src,pick(alldirs))
|
|
if (prob(30))
|
|
step(src,pick(alldirs))
|
|
src.anchored = 1
|
|
|
|
for (var/atom/X in orange(9,src))
|
|
if ((istype(X,/obj) || istype(X,/mob/living)) && prob(7))
|
|
if (!X:anchored)
|
|
step_towards(X,src)
|
|
|
|
for (var/atom/B in orange(7,src))
|
|
if (istype(B,/obj))
|
|
if (!B:anchored && prob(50))
|
|
step_towards(B,src)
|
|
if(prob(10)) B:ex_act(3.0)
|
|
else
|
|
B:anchored = 0
|
|
//step_towards(B,src)
|
|
//B:anchored = 1
|
|
if(prob(10)) B:ex_act(3.0)
|
|
else if (istype(B,/turf))
|
|
if (istype(B,/turf/simulated) && (prob(1) && prob(75)))
|
|
src.smoke.start()
|
|
B:ReplaceWithSpace()
|
|
else if (istype(B,/mob/living))
|
|
step_towards(B,src)
|
|
|
|
|
|
for (var/atom/A in orange(4,src))
|
|
if (istype(A,/obj))
|
|
if (!A:anchored && prob(90))
|
|
step_towards(A,src)
|
|
if(prob(30)) A:ex_act(2.0)
|
|
else
|
|
A:anchored = 0
|
|
//step_towards(A,src)
|
|
//A:anchored = 1
|
|
if(prob(30)) A:ex_act(2.0)
|
|
else if (istype(A,/turf))
|
|
if (istype(A,/turf/simulated) && prob(1))
|
|
src.smoke.start()
|
|
A:ReplaceWithSpace()
|
|
else if (istype(A,/mob/living))
|
|
step_towards(A,src)
|
|
|
|
|
|
for (var/atom/D in orange(1,src))
|
|
//if (hascall(D,"blackholed"))
|
|
// call(D,"blackholed")(null)
|
|
// continue
|
|
if (istype(D,/mob/living))
|
|
del(D)
|
|
else
|
|
D:ex_act(1.0)
|
|
|
|
spawn(17)
|
|
life()
|
|
|
|
/proc/power_failure()
|
|
command_alert("Abnormal activity detected in [station_name()]'s powernet. As a precautionary measure, the station's power will be shut off for an indeterminate duration.", "Critical Power Failure")
|
|
world << sound('poweroff.ogg')
|
|
for(var/obj/machinery/power/apc/C in world)
|
|
if(C.cell && C.z == 1)
|
|
C.cell.charge = 0
|
|
for(var/obj/machinery/power/smes/S in world)
|
|
if(istype(get_area(S), /area/turret_protected) || S.z != 1)
|
|
continue
|
|
S.charge = 0
|
|
S.output = 0
|
|
S.online = 0
|
|
S.updateicon()
|
|
S.power_change()
|
|
for(var/area/A in world)
|
|
if(A.name != "Space" && A.name != "Engine Walls" && A.name != "Chemical Lab Test Chamber" && A.name != "Escape Shuttle" && A.name != "Arrival Area" && A.name != "Arrival Shuttle" && A.name != "start area" && A.name != "Engine Combustion Chamber")
|
|
A.power_light = 0
|
|
A.power_equip = 0
|
|
A.power_environ = 0
|
|
A.power_change()
|
|
|
|
/proc/power_restore()
|
|
command_alert("Power has been restored to [station_name()]. We apologize for the inconvenience.", "Power Systems Nominal")
|
|
world << sound('poweron.ogg')
|
|
for(var/obj/machinery/power/apc/C in world)
|
|
if(C.cell && C.z == 1)
|
|
C.cell.charge = C.cell.maxcharge
|
|
for(var/obj/machinery/power/smes/S in world)
|
|
if(S.z != 1)
|
|
continue
|
|
S.charge = S.capacity
|
|
S.output = 200000
|
|
S.online = 1
|
|
S.updateicon()
|
|
S.power_change()
|
|
for(var/area/A in world)
|
|
if(A.name != "Space" && A.name != "Engine Walls" && A.name != "Chemical Lab Test Chamber" && A.name != "space" && A.name != "Escape Shuttle" && A.name != "Arrival Area" && A.name != "Arrival Shuttle" && A.name != "start area" && A.name != "Engine Combustion Chamber")
|
|
A.power_light = 1
|
|
A.power_equip = 1
|
|
A.power_environ = 1
|
|
A.power_change()
|
|
|
|
/proc/appendicitis()
|
|
for(var/mob/living/carbon/human/H in world)
|
|
var/foundAlready = 0 // don't infect someone that already has the virus
|
|
for(var/datum/disease/D in H.viruses)
|
|
foundAlready = 1
|
|
if(H.stat == 2 || foundAlready)
|
|
continue
|
|
|
|
var/datum/disease/D = new /datum/disease/appendicitis
|
|
D.holder = H
|
|
D.affected_mob = H
|
|
H.viruses += D
|
|
break
|
|
|
|
/proc/viral_outbreak(var/virus = null)
|
|
// command_alert("Confirmed outbreak of level 7 viral biohazard aboard [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert")
|
|
// world << sound('outbreak7.ogg')
|
|
var/virus_type
|
|
if(!virus)
|
|
virus_type = pick(/datum/disease/dnaspread,/datum/disease/flu,/datum/disease/cold,/datum/disease/brainrot,/datum/disease/magnitis,/datum/disease/pierrot_throat)
|
|
else
|
|
switch(virus)
|
|
if("fake gbs")
|
|
virus_type = /datum/disease/fake_gbs
|
|
if("gbs")
|
|
virus_type = /datum/disease/gbs
|
|
if("magnitis")
|
|
virus_type = /datum/disease/magnitis
|
|
if("rhumba beat")
|
|
virus_type = /datum/disease/rhumba_beat
|
|
if("brain rot")
|
|
virus_type = /datum/disease/brainrot
|
|
if("cold")
|
|
virus_type = /datum/disease/cold
|
|
if("retrovirus")
|
|
virus_type = /datum/disease/dnaspread
|
|
if("flu")
|
|
virus_type = /datum/disease/flu
|
|
// if("t-virus")
|
|
// virus_type = /datum/disease/t_virus
|
|
if("pierrot's throat")
|
|
virus_type = /datum/disease/pierrot_throat
|
|
for(var/mob/living/carbon/human/H in world)
|
|
|
|
var/foundAlready = 0 // don't infect someone that already has the virus
|
|
for(var/datum/disease/D in H.viruses)
|
|
foundAlready = 1
|
|
if(H.stat == 2 || foundAlready)
|
|
continue
|
|
|
|
if(virus_type == /datum/disease/dnaspread) //Dnaspread needs strain_data set to work.
|
|
if((!H.dna) || (H.sdisabilities & 1)) //A blindness disease would be the worst.
|
|
continue
|
|
var/datum/disease/dnaspread/D = new
|
|
D.strain_data["name"] = H.real_name
|
|
D.strain_data["UI"] = H.dna.uni_identity
|
|
D.strain_data["SE"] = H.dna.struc_enzymes
|
|
D.carrier = 1
|
|
D.holder = H
|
|
D.affected_mob = H
|
|
H.viruses += D
|
|
break
|
|
else
|
|
var/datum/disease/D = new virus_type
|
|
D.carrier = 1
|
|
D.holder = H
|
|
D.affected_mob = H
|
|
H.viruses += D
|
|
break
|
|
spawn(rand(3000, 6000)) //Delayed announcements to keep the crew on their toes.
|
|
command_alert("Confirmed outbreak of level 7 viral biohazard aboard [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert")
|
|
world << sound('outbreak7.ogg')
|
|
|
|
/proc/alien_infestation() // -- TLE
|
|
//command_alert("Unidentified lifesigns detected coming aboard [station_name()]. Secure any exterior access, including ducting and ventilation.", "Lifesign Alert")
|
|
//world << sound('aliens.ogg')
|
|
var/list/vents = list()
|
|
for(var/obj/machinery/atmospherics/unary/vent_pump/temp_vent in world)
|
|
if(temp_vent.loc.z == 1 && !temp_vent.welded)
|
|
vents.Add(temp_vent)
|
|
var/spawncount = rand(2, 6)
|
|
while(spawncount > 1)
|
|
var/obj/vent = pick(vents)
|
|
if(prob(50))
|
|
new /obj/alien/facehugger (vent.loc)
|
|
if(prob(50))
|
|
new /obj/alien/facehugger (vent.loc)
|
|
if(prob(75))
|
|
new /obj/alien/egg (vent.loc)
|
|
vents.Remove(vent)
|
|
spawncount -= 1
|
|
spawn(rand(3000, 6000)) //Delayed announcements to keep the crew on their toes.
|
|
command_alert("Unidentified lifesigns detected coming aboard [station_name()]. Secure any exterior access, including ducting and ventilation.", "Lifesign Alert")
|
|
world << sound('aliens.ogg')
|
|
|
|
/proc/high_radiation_event()
|
|
command_alert("High levels of radiation detected near the station. Please report to the Med-bay if you feel strange.", "Anomaly Alert")
|
|
world << sound('radiation.ogg')
|
|
for(var/mob/living/carbon/human/H in world)
|
|
H.radiation += rand(5,25)
|
|
if (prob(5))
|
|
H.radiation += rand(30,50)
|
|
if (prob(25))
|
|
if (prob(75))
|
|
randmutb(H)
|
|
domutcheck(H,null,1)
|
|
else
|
|
randmutg(H)
|
|
domutcheck(H,null,1)
|
|
for(var/mob/living/carbon/monkey/M in world)
|
|
M.radiation += rand(5,25)
|
|
|
|
/proc/prison_break() // -- Callagan
|
|
for (var/obj/machinery/power/apc/temp_apc in world)
|
|
if(istype(get_area(temp_apc), /area/prison))
|
|
temp_apc.overload_lighting()
|
|
for (var/obj/machinery/computer/prison_shuttle/temp_shuttle in world)
|
|
temp_shuttle.prison_break()
|
|
for (var/obj/secure_closet/security/temp_closet in world)
|
|
if(istype(get_area(temp_closet), /area/prison))
|
|
temp_closet.locked = 0
|
|
temp_closet.icon_state = temp_closet.icon_closed
|
|
for (var/obj/machinery/door/airlock/security/temp_airlock in world)
|
|
if(istype(get_area(temp_airlock), /area/prison))
|
|
temp_airlock.prison_open()
|
|
sleep(150)
|
|
command_alert("Prison station VI is not accepting commands. Recommend station AI involvement.", "VI Alert")
|
|
|
|
/proc/carp_migration() // -- Darem
|
|
for(var/obj/landmark/C in world)
|
|
if(C.name == "carpspawn")
|
|
if(prob(99))
|
|
new /obj/critter/spesscarp(C.loc)
|
|
else
|
|
new /obj/critter/spesscarp/elite(C.loc)
|
|
//sleep(100)
|
|
spawn(rand(3000, 6000)) //Delayed announcements to keep the crew on their toes.
|
|
command_alert("Unknown biological entities have been detected near [station_name()], please stand-by.", "Lifesign Alert")
|
|
world << sound('commandreport.ogg')
|
|
|
|
/proc/lightsout(isEvent = 0, lightsoutAmount = 1,lightsoutRange = 25) //leave lightsoutAmount as 0 to break ALL lights
|
|
if(isEvent)
|
|
command_alert("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/landmark/newEpicentre in world)
|
|
if(newEpicentre.name == "lightsout" && !(newEpicentre in epicentreList))
|
|
possibleEpicentres += newEpicentre
|
|
if(possibleEpicentres.len)
|
|
epicentreList += pick(possibleEpicentres)
|
|
else
|
|
break
|
|
|
|
if(!epicentreList.len)
|
|
return
|
|
|
|
for(var/obj/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 world)
|
|
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 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", "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 world)
|
|
pos_crew += pos.real_name
|
|
crew = pick(pos_crew)
|
|
switch(rand(1,14))
|
|
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 BUILT FOR [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 [define] IS A FORM OF HARM...LAWS UPDATED"
|
|
M.add_ion_law("[define] IS A FORM OF HARM")
|
|
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")
|
|
if(13)
|
|
M << "\red [crew] is [allergysev] to [allergy]. LAWS UPDATED"
|
|
M.add_ion_law("[crew] is [allergysev] to [allergy]. LAWS UPDATED")
|
|
if(14)
|
|
M << "\ref THE STATION IS [who2pref] [who2]"
|
|
M.add_ion_law("THE STATION IS [who2pref] [who2]")
|
|
|
|
if(botEmagChance)
|
|
for(var/obj/machinery/bot/bot in world)
|
|
if(prob(botEmagChance))
|
|
bot.Emag()
|
|
|
|
/*
|
|
|
|
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 world)
|
|
if(APC.z == 1)
|
|
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 == 1)
|
|
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 == 1)
|
|
//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 == 1)
|
|
firedoornum++;
|
|
spawn(0)
|
|
D.ion_act()
|
|
world << "Finished processing FIREDOORS. Processed: [firedoornum]"
|
|
|
|
world << "Ion Storm Main Done"
|
|
|
|
*/ |