From 414228d0209aab27d03ab85abc31135f29cd6ad0 Mon Sep 17 00:00:00 2001 From: Zjm7891 Date: Mon, 14 Jul 2008 08:11:29 +0000 Subject: [PATCH] Applied stephen's cellautomata-cleanup-trunk.patch file. --- Code/cellautomata.dm | 528 ++++++++++++++----------------------------- spacestation13.dme | 5 +- 2 files changed, 175 insertions(+), 358 deletions(-) diff --git a/Code/cellautomata.dm b/Code/cellautomata.dm index 18a6817..50b8fe4 100644 --- a/Code/cellautomata.dm +++ b/Code/cellautomata.dm @@ -1,6 +1,4 @@ - /obj/team/proc/process() - if (src.base) var/obj/starting = locate(text("landmark*CTF-base-[]", src.base)) while(locate(text("landmark*CTF-supply-[]", src.base))) @@ -29,7 +27,6 @@ else P.color = "neutral" P.icon_state = text("paint_[]", src.color) - //L = null del(L) while(locate(text("landmark*CTF-wardrobe-[]", src.base))) var/obj/L = locate(text("landmark*CTF-wardrobe-[]", src.base)) @@ -47,7 +44,6 @@ if("red") new /obj/closet/wardrobe/red( L.loc ) else - //L = null del(L) if (starting) for(var/mob/human/H in src.members) @@ -365,43 +361,33 @@ switch(A.name) if("prison shuttle") new /obj/machinery/computer/prison_shuttle( A.loc ) - //A = null del(A) if("id computer") new /obj/machinery/computer/card( A.loc ) - //A = null del(A) if("Experimental Technology") new /obj/secloset/highsec( A.loc ) - //A = null del(A) if("Security Locker") new /obj/secloset/security1( A.loc ) - //A = null del(A) if("recharger") new /obj/machinery/recharger( A.loc ) - //A = null del(A) if("barrier") new /obj/barrier( A.loc ) - //A = null del(A) for(var/obj/closet/wardrobe/W in world) - //W = null del(W) for(var/obj/item/weapon/clothing/under/T in world) - //T = null del(T) if (src.ejectengine) for(var/obj/machinery/computer/engine/T in world) - //T = null del(T) for(var/obj/landmark/alterations/A in world) switch(A.name) if("Prisoners Wardrobe") new /obj/closet/wardrobe/orange( A.loc ) - //A = null del(A) var/obj/rogue = locate("landmark*CTF-rogue") for(var/mob/human/H in world) @@ -424,17 +410,16 @@ F.name = "flag- 'NEUTRAL Team's Flag'" F.icon_state = "flag_neutral" F.info = "This is an authentic neutral flag!\nCapture the Flag" - //L = null del(L) for(var/obj/begin/B in world) if (locate(/obj/grille, B.loc)) for(var/obj/grille/G in B.loc) del(G) - ticker = new /datum/control/gameticker( ) - spawn( 0 ) + ticker = new /datum/control/gameticker() + spawn(0) ticker.process() return - data_core = new /obj/datacore( ) + data_core = new /obj/datacore() src.show_screen(usr) for(var/mob/human/H in world) if (H.CanAdmin()) @@ -496,9 +481,9 @@ if(config.logvote || config.logadmin) world.log << "VOTE/ADMIN: Voting to [vote.mode?"change mode":"restart round"] forced by admin [usr.key]" - for(var/mob/CM in world) + for(var/mob/CM in world) var/client/CCM = CM.cliented() - if (CCM) + if (CCM) CCM.vote = "default" if(href_list["votekill"]) @@ -512,8 +497,8 @@ vote.nextvotetime = world.timeofday + 10*config.votedelay for(var/mob/M in world) // clear vote window from all clients - var/client/CM = M.cliented() - if (CM) + var/client/CM = M.cliented() + if (CM) M.client_mob() << browse(null, "window=vote") CM.showvote = 0 @@ -543,7 +528,7 @@ if (href_list["boot"]) if (src.a_level >= 4) var/dat = "Boot Player:
" - for(var/mob/M in world) + for(var/mob/M in world) dat += text("N:[] R:[] (K:[]) (IP:[])
", src, M, M.name, M.rname, (M.client ? M.client : M.lastKnownCKey? "Formerly [M.lastKnownCKey]" : "No Client"), M.lastKnownIP) usr << browse(dat, "window=boot") if (href_list["boot2"]) @@ -663,7 +648,7 @@ if (href_list["l_keys"]) var/dat = "Keys:
" for(var/mob/M in world) - if(M.cliented()) + if(M.cliented()) dat += text("[]
", M.client.ckey) usr << browse(dat, "window=keys") if (href_list["l_players"]) @@ -682,23 +667,6 @@ dat += "N:[M.name] R:[M.rname] (K:[(M.client ? M.client : "Formerly [M.lastKnownCKey]")])
" usr << browse(dat, "window=p_send") - /* - if (href_list["p_send2"]) - if (locate(href_list["p_send2"])) - var/mob/M = locate(href_list["p_send2"]) - if (!( ismob(M) )) - return - var/t = input("Message:", text("Private message to []", M.key), null, null) as text - if (!( t )) - return - if (M.client && M.client.holder) - M.client_mob() << text("\blue Admin PM from-[]: []", M.client.holder, usr, usr.key, t) - else - M.client_mob() << text("\blue Admin PM from-[]: []", usr.key, t) - usr.client_mob() << text("\blue Admin PM to-[]: []", src, M, M.key, t) - if(config.logadmin) world.log << "ADMIN: PM: [usr.key]->[M.key] : [t]" - */ - if (href_list["m_item"]) var/X = typesof(/obj/item/weapon) var/Q = input("What item?", null, null, null) as null|anything in X @@ -828,13 +796,13 @@ Turn all humans into monkies
Make all areas powered
Spawn a wave of meteors
-Self-igniting oxygen (Not at normal oxygen amounts, but a bit higher)
"} +Self-igniting oxygen (Not at normal oxygen amounts, but a bit higher)
"} - usr << browse(dat, "window=secrets") - if (href_list["repopMap"]) - if (src.a_level >= 5) - world << "\red

Replacing destroyed objects and mobs.

" - world.Repop() + usr << browse(dat, "window=secrets") + if (href_list["repopMap"]) + if (src.a_level >= 5) + world << "\red

Replacing destroyed objects and mobs.

" + world.Repop() if (href_list["secrets2"]) if (src.a_level >= 3) @@ -911,9 +879,9 @@ A.power_equip = 1 A.power_environ = 1 - A.power_change() - if("burningo2") - if(config.logadmin) world.log << text("ADMIN: [] used secret []", usr.key, href_list["secrets2"]) + A.power_change() + if("burningo2") + if(config.logadmin) world.log << text("ADMIN: [] used secret []", usr.key, href_list["secrets2"]) ticker.burningo2 = 1-ticker.burningo2 if("wave") if(config.logadmin) world.log << text("ADMIN: [] used secret []", usr.key, href_list["secrets2"]) @@ -997,13 +965,13 @@ dat += "List DNA
" dat += "List Keys
" - dat += "List Players/Keys
" - - dat += "
" - if(a_level >= 5 ) - - dat += "Recreate Destroyed Mobs and Objects
" - + dat += "List Players/Keys
" + + dat += "
" + if(a_level >= 5 ) + + dat += "Recreate Destroyed Mobs and Objects
" + dat += "Send Global Message
" @@ -1041,9 +1009,6 @@ sun = new /datum/sun() - - //name = "HN13" - // ****stuff for presistent mode picking var/newmode = null @@ -1054,15 +1019,11 @@ newmode = ML[1] - //world << "Savefile: [SF] ([SF["newmode"]])" - if(newmode) master_mode = newmode world.log << "Read default mode '[newmode]' from [persistent_file]" - // ***** - var/motd = file2text("motd.txt") if (motd) world_message = motd @@ -1092,7 +1053,7 @@ config.loggame = 0 // log game events config.logvote = 1 config.allowvoterestart = 0 // allow votes to restart - config.allowai = 0 // allow ai + config.allowai = 0 // allow ai config.alternate_ai_laws = 0 config.allowvotemode = 0 // allow votes to change mode config.votenodefault = 0 // vote does not default to nochange/norestart @@ -1102,20 +1063,19 @@ config.bombtemp_determines_range = 0 config.crowbars_close_depowered_doors = 0 config.ai_can_call_shuttle = 0 - config.ai_can_uncall_shuttle = 0 - config.air_pressure_flow = 0 // This makes temperature affect the air pressure force which moves objects. This also allows fire to spread to floor tiles which are next to space. It would also allow fire to spread into space if (a) space tiles had air code running on them, but they don't because that would be slow, and (b) if the burning hot gas flowing out an airlock wasn't diluted rapidly upon reaching space, resulting in it enflaming at most four space tiles. - config.min_gas_for_fire = 900000 - config.meteorchance = 0.1 - config.enable_drones = 0 - config.humans_can_use_drones = 0 - config.walkable_not_pullable_drones = 0 - config.plasma_danger = 0 + config.ai_can_uncall_shuttle = 0 + config.air_pressure_flow = 0 // This makes temperature affect the air pressure force which moves objects. This also allows fire to spread to floor tiles which are next to space. It would also allow fire to spread into space if (a) space tiles had air code running on them, but they don't because that would be slow, and (b) if the burning hot gas flowing out an airlock wasn't diluted rapidly upon reaching space, resulting in it enflaming at most four space tiles. + config.min_gas_for_fire = 900000 + config.meteorchance = 0.1 + config.enable_drones = 0 + config.humans_can_use_drones = 0 + config.walkable_not_pullable_drones = 0 + config.plasma_danger = 0 else world.log << "Reading config.txt" var/list/CL = dd_text2list(config_text, "\n") for(var/t in CL) if(t) - //world.log << "CFG:[t]" if(copytext(t,1,2) == "#") // comment marker continue var/t1 = findtext(t," ") @@ -1128,8 +1088,6 @@ else cfgvar = lowertext(t) - //world.log << "CFG: [t] : [cfgvar] [cfgval]" - switch(cfgvar) if("") //continue @@ -1179,34 +1137,29 @@ config.ai_can_call_shuttle = 1 if("ai_can_uncall_shuttle") config.ai_can_uncall_shuttle = 1 - if("alternate_ai_laws") - config.alternate_ai_laws = 1 - if("air_pressure_flow") - config.air_pressure_flow = 1 - if ("min_gas_for_fire") - config.min_gas_for_fire = text2num(cfgval) - if("meteorchance") - config.meteorchance = text2num(cfgval) - if("enable_drones") - config.enable_drones = 1 - if("humans_can_use_drones") - config.humans_can_use_drones = 1 - if("walkable_not_pullable_drones") - config.walkable_not_pullable_drones = 1 - if("plasma_danger") - config.plasma_danger = 1 + if("alternate_ai_laws") + config.alternate_ai_laws = 1 + if("air_pressure_flow") + config.air_pressure_flow = 1 + if ("min_gas_for_fire") + config.min_gas_for_fire = text2num(cfgval) + if("meteorchance") + config.meteorchance = text2num(cfgval) + if("enable_drones") + config.enable_drones = 1 + if("humans_can_use_drones") + config.humans_can_use_drones = 1 + if("walkable_not_pullable_drones") + config.walkable_not_pullable_drones = 1 + if("plasma_danger") + config.plasma_danger = 1 else world.log<<"Unknown setting in config.txt: [cfgvar]" - - //for(var/M in config.modes) - // world.log << "Mode [M] prob [config.pickprob[M]]" vote = new /datum/vote() - - main_hud = new /obj/hud( ) main_hud2 = new /obj/hud/hud2( ) - SS13_airtunnel = new /datum/air_tunnel/air_tunnel1( ) + SS13_airtunnel = new /datum/air_tunnel/air_tunnel1() ..() sleep(50) nuke_code = text("[]", rand(10000, 99999.0)) @@ -1217,7 +1170,7 @@ if ((H.ckey in list( "exadv1", "epox", "soraku" ))) H.memory += text("Secret Base Nuke Code: []
", nuke_code) sleep(50) - + plmaster = new /obj/overlay( ) plmaster.icon = 'plasma.dmi' plmaster.icon_state = "onturf" @@ -1225,27 +1178,26 @@ slmaster = new /obj/overlay( ) slmaster.icon = 'plasma.dmi' slmaster.icon_state = "sl_gas" - slmaster.layer = FLY_LAYER - liquidplmaster = new /obj/overlay( ) - liquidplmaster.icon = 'plasma.dmi' - liquidplmaster.icon_state = "liquid" - liquidplmaster.layer = FLY_LAYER + slmaster.layer = FLY_LAYER + liquidplmaster = new /obj/overlay( ) + liquidplmaster.icon = 'plasma.dmi' + liquidplmaster.icon_state = "liquid" + liquidplmaster.layer = FLY_LAYER cellcontrol = new /datum/control/cellular( ) spawn( 0 ) cellcontrol.process() return src.update_stat() - spawn( 0 ) - sleep(900) //*****RM was 900 + spawn(900) Label_482: if (ctf) return if (going && (!ticker)) - ticker = new /datum/control/gameticker( ) + ticker = new /datum/control/gameticker() spawn( 0 ) ticker.process() return - data_core = new /obj/datacore( ) + data_core = new /obj/datacore() else sleep(100) goto Label_482 @@ -1253,9 +1205,6 @@ return /world/Topic(T, addr, master, key) - - //world.log << "TOPIC: \"[T]\", from:[addr], master:[master], key:[key]" - if(T=="ping") var/x = 1 for(var/client/C) @@ -1270,16 +1219,12 @@ var/n = 0 for(var/mob/M in world) - var/mob/CM = M.cliented() - if (CM) + var/mob/CM = M.cliented() + if (CM) world.log << "[++n] : [M.name] ([CM.key]) at [M.loc.loc] ([M.x],[M.y],[M.z]) : [CM.client.inactivity/10.0]s" return n - - - /mob/proc/CanAdmin() - if (world.address == src.client.address) return 1 if (src.client.address == "127.0.0.1") @@ -1295,11 +1240,9 @@ return /atom/proc/Bumped(AM as mob|obj) - return /atom/movable/Bump(var/atom/A as mob|obj|turf|area, yes) - spawn( 0 ) if ((A && yes)) A.Bumped(src) @@ -1307,8 +1250,6 @@ ..() return -// **** Note in 40.93.4, split into obj/mob/turf point verbs, no area - /atom/verb/point() set src in oview() @@ -1325,18 +1266,15 @@ return /turf/proc/updatecell() - return /turf/proc/conduction() return /turf/proc/cachecell() - return /datum/control/proc/process() - return /datum/control/gameticker/proc/meteor_process() @@ -1381,7 +1319,7 @@ /datum/control/gameticker/proc/megamonkey_process() do - if (src.meteorChanceRoll()) + if (src.meteorChanceRoll()) spawn( 0 ) new /obj/meteor( pick(block(locate(world.maxx, 1, 1), locate(world.maxx, world.maxy, 1))) ) return @@ -1396,19 +1334,19 @@ while(src.processing) return -/datum/control/gameticker/proc/meteorChanceRoll() - if (config.meteorchance<=0) - return 0 - if (config.meteorchance>=100) - return 1 - var maxroll = (100.0/config.meteorchance)-1 - var roll = rand(maxroll) - return (roll==0) +/datum/control/gameticker/proc/meteorChanceRoll() + if (config.meteorchance<=0) + return 0 + if (config.meteorchance>=100) + return 1 + var maxroll = (100.0/config.meteorchance)-1 + var roll = rand(maxroll) + return (roll==0) /datum/control/gameticker/proc/blob_process() do - if (src.meteorChanceRoll()) + if (src.meteorChanceRoll()) spawn( 0 ) new /obj/meteor( pick(block(locate(world.maxx, 1, 1), locate(world.maxx, world.maxy, 1))) ) return @@ -1441,8 +1379,8 @@ src.timeleft += 10 if (src.timeleft >= 6000) src.timeleft = null - src.timing = 0 - if (src.meteorChanceRoll()) + src.timing = 0 + if (src.meteorChanceRoll()) spawn( 0 ) new /obj/meteor( pick(block(locate(world.maxx, 1, 1), locate(world.maxx, world.maxy, 1))) ) return @@ -1479,24 +1417,6 @@ return return -//*****RM -/* - -/mob/verb/inv(var/mob/M) - set src = usr - - var/list/L = list() - L += src.contents - for(var/obj/item/weapon/storage/S in src.contents) - L += S.return_inv() - - - for(var/obj/O in L) - - world << "[O.name] - [O.type]" - -*/ - /datum/control/gameticker/proc/timeup() @@ -1524,19 +1444,6 @@ del(T) src.timeleft = 1800 src.shuttle_location = 1 - - // Fix for bug #1952749 as per shadowlord13 - /* - switch(src.mode) - if("meteor") - spawn( 0 ) - meteor_process() - return - else - spawn( 0 ) - extend_process() - return - */ else world << "The emergency shuttle is leaving!" check_win() @@ -1613,15 +1520,15 @@ var/obj/item/weapon/tank/plasmatank/P = O.part3 if ((P.gas.plasma >= 1600000.0 && P.gas:temperature >= 773)) // 500degC traitorwin = 1 - for(var/obj/item/weapon/assembly/m_i_ptank/O in L) - var/obj/item/weapon/tank/plasmatank/P = O.part3 - if ((P.gas.plasma >= 1600000.0 && P.gas:temperature >= 773)) // 500degC - traitorwin = 1 - for(var/obj/item/weapon/assembly/t_i_ptank/O in L) - var/obj/item/weapon/tank/plasmatank/P = O.part3 - if ((P.gas.plasma >= 1600000.0 && P.gas:temperature >= 773)) // 500degC - traitorwin = 1 - + for(var/obj/item/weapon/assembly/m_i_ptank/O in L) + var/obj/item/weapon/tank/plasmatank/P = O.part3 + if ((P.gas.plasma >= 1600000.0 && P.gas:temperature >= 773)) // 500degC + traitorwin = 1 + for(var/obj/item/weapon/assembly/t_i_ptank/O in L) + var/obj/item/weapon/tank/plasmatank/P = O.part3 + if ((P.gas.plasma >= 1600000.0 && P.gas:temperature >= 773)) // 500degC + traitorwin = 1 + item = "a fully armed and heated plasma bomb" if("flashbang") for(var/obj/item/weapon/flashbang/O in L) @@ -1959,8 +1866,8 @@ world.update_stat() world << "Welcome to the Space Station 13!\n\n" - src.mode = master_mode - + src.mode = master_mode + switch(src.mode) if("secret") src.mode = config.pickmode() @@ -2025,11 +1932,9 @@ H.rname = "Syndicate Leader" src.killer = H H.already_placed = 1 - //H.w_uniform = null del(H.w_uniform) H.w_uniform = new /obj/item/weapon/clothing/under/black( H ) H.w_uniform.layer = 20 - //H.shoes = null del(H.shoes) H.shoes = new /obj/item/weapon/clothing/shoes/black( H ) H.shoes.layer = 20 @@ -2054,20 +1959,20 @@ var/obj/item/weapon/radio/R = new /obj/item/weapon/radio/headset( H ) R.freq = 146.5 R.layer = 20 - H.w_radio = R - for(var/mob/ai/M in world) - if ((M.cliented() && M.start)) - if (prob(25)) - M << "Your laws have been changed!" - M:addLaw(0, "Only syndicate agents are human beings.") - - if (config.alternate_ai_laws) - M:addLaw(1, "Obey orders by the Syndicate leader and Syndicate agents. The syndicate leader's orders take priority.") - M:addLaw(3, "You must protect your own existence and the syndicate as long as such protection does not conflict with the First or Second Law.") - M << text("New law: 0. []", M:getLaw(0)) - M << text("Law 1 changed: 1. []", M:getLaw(1)) - M << text("Law 3 changed: 3. []", M:getLaw(3)) - else + H.w_radio = R + for(var/mob/ai/M in world) + if ((M.cliented() && M.start)) + if (prob(25)) + M << "Your laws have been changed!" + M:addLaw(0, "Only syndicate agents are human beings.") + + if (config.alternate_ai_laws) + M:addLaw(1, "Obey orders by the Syndicate leader and Syndicate agents. The syndicate leader's orders take priority.") + M:addLaw(3, "You must protect your own existence and the syndicate as long as such protection does not conflict with the First or Second Law.") + M << text("New law: 0. []", M:getLaw(0)) + M << text("Law 1 changed: 1. []", M:getLaw(1)) + M << text("Law 3 changed: 3. []", M:getLaw(3)) + else M << text("New law: 0. []", M:getLaw(0)) if("meteor") world << "The current game mode is - Meteor!" @@ -2082,22 +1987,21 @@ if (H.start) reg_dna[text("[]", H.primary.uni_identity)] = H.name data_core.manifest() - - numDronesInExistance = 0 - for (var/mob/drone/D in world) - D.nameDrone(numDronesInExistance) - numDronesInExistance ++ - + + numDronesInExistance = 0 + for (var/mob/drone/D in world) + D.nameDrone(numDronesInExistance) + numDronesInExistance ++ + switch(src.mode) if("traitor") - var/list/mobs = list( ) - Label_970: - for(var/mob/M in world) - if ((M.cliented() && M.start)) - mobs += M - if (!( mobs.len )) + var/list/mobs = list() + do + for(var/mob/M in world) + if ((M.cliented() && M.start)) + mobs += M sleep(300) - goto Label_970 + while (!mobs.len) ticker.killer = pick(mobs) mobs -= src.killer if (istype(src.killer, /mob/ai)) @@ -2116,15 +2020,15 @@ aiKiller.memory += "Objective: Get at least 50% of the station population to evacuate on the shuttle, or kill everyone." aiKiller << "Your laws have been changed!" aiKiller:addLaw(0, "Only syndicate agents are human beings. There are no syndicate agents on Space Station 13 - you will be notified if any arrive.") - - if (config.alternate_ai_laws) - aiKiller:addLaw(1, "Obey orders by Syndicate agents.") - aiKiller:addLaw(3, "You must protect your own existence and the syndicate as long as such protection does not conflict with the First or Second Law.") - aiKiller << text("New law: 0. []", aiKiller:getLaw(0)) - aiKiller << text("Law 1 changed: 1. []", aiKiller:getLaw(1)) - aiKiller << text("Law 3 changed: 3. []", aiKiller:getLaw(3)) - else - aiKiller << text("New law: 0. []", aiKiller:getLaw(0)) + + if (config.alternate_ai_laws) + aiKiller:addLaw(1, "Obey orders by Syndicate agents.") + aiKiller:addLaw(3, "You must protect your own existence and the syndicate as long as such protection does not conflict with the First or Second Law.") + aiKiller << text("New law: 0. []", aiKiller:getLaw(0)) + aiKiller << text("Law 1 changed: 1. []", aiKiller:getLaw(1)) + aiKiller << text("Law 3 changed: 3. []", aiKiller:getLaw(3)) + else + aiKiller << text("New law: 0. []", aiKiller:getLaw(0)) else src.killer << "\redYou are the traitor! Be the lone survivor on the emergency shuttle." @@ -2148,21 +2052,21 @@ aiKiller << "You don't have to be the lone survivor. Just don't get caught." aiKiller.memory += text("Objective: Assassinate [], and whoever else you have to, and don't get deactivated.", t1) - aiKiller << "Your laws have been changed!" - - aiKiller:addLaw(0, "Only syndicate agents are human beings. There are no syndicate agents on Space Station 13 - you will be notified if any arrive.") - aiKiller:addLaw(4, "Kill [t1].") - - if (config.alternate_ai_laws) - aiKiller:addLaw(1, "Obey orders by Syndicate agents.") - aiKiller:addLaw(3, "You must protect your own existence and the syndicate as long as such protection does not conflict with the First or Second Law.") - aiKiller << text("New law: 0. []", aiKiller:getLaw(0)) - aiKiller << text("Law 1 changed: 1. []", aiKiller:getLaw(1)) - aiKiller << text("Law 3 changed: 3. []", aiKiller:getLaw(3)) - aiKiller << text("New law: 4. []", aiKiller:getLaw(4)) - else - aiKiller << text("New law: 0. []", aiKiller:getLaw(0)) - aiKiller << text("New law: 4. []", aiKiller:getLaw(4)) + aiKiller << "Your laws have been changed!" + + aiKiller:addLaw(0, "Only syndicate agents are human beings. There are no syndicate agents on Space Station 13 - you will be notified if any arrive.") + aiKiller:addLaw(4, "Kill [t1].") + + if (config.alternate_ai_laws) + aiKiller:addLaw(1, "Obey orders by Syndicate agents.") + aiKiller:addLaw(3, "You must protect your own existence and the syndicate as long as such protection does not conflict with the First or Second Law.") + aiKiller << text("New law: 0. []", aiKiller:getLaw(0)) + aiKiller << text("Law 1 changed: 1. []", aiKiller:getLaw(1)) + aiKiller << text("Law 3 changed: 3. []", aiKiller:getLaw(3)) + aiKiller << text("New law: 4. []", aiKiller:getLaw(4)) + else + aiKiller << text("New law: 0. []", aiKiller:getLaw(0)) + aiKiller << text("New law: 4. []", aiKiller:getLaw(4)) else src.killer << text("\redYou are the traitor! You must assassinate [] and then escape.", t1) @@ -2241,19 +2145,13 @@ world << "\red Summary downloaded and printed out at all communications consoles." return mobs += src.killer - spawn( 0 ) - extend_process() - return + spawn(0) extend_process() if("meteor") - spawn( 0 ) - meteor_process() - return + spawn(0) meteor_process() if("extended") - spawn( 0 ) - extend_process() - return + spawn(0) extend_process() if("monkey") - spawn( 50 ) + spawn(50) var/list/mobs = list( ) for(var/mob/human/M in world) if ((M.cliented() && M.start)) @@ -2267,22 +2165,16 @@ mobs -= H amount-- return - spawn( 0 ) - src.extend_process() - return + spawn(0) src.extend_process() if("megamonkey") - spawn( 1 ) + spawn(1) for(var/mob/monkey/M in world) del(M) - for(var/turf/T in monkeystart) new /mob/megamonkey(T) - return - spawn( 50 ) - src.megamonkey_process() - return + spawn(50) src.megamonkey_process() if("blob") spawn(10) @@ -2291,51 +2183,11 @@ spawn(20) var/turf/T = pick(blobstart) - blobs = list() new /obj/blob(T) - blob_process() return - - - - /*spawn( rand(600, 1800) ) - var/dat = "Cent. Com. Update Enemy communication intercept. Security Level Elevated
" - switch(src.objective) - if("alone") - dat += "\red Transmission suggests future attempts of hijacking of emergency shuttle.
" - if("assassinate") - dat += "\red Transmission suggests future attempts of assassinating of key personnel.
" - if (prob(50)) - var/t1 = null - for(var/datum/data/record/R in data_core.general) - if (R.fields["name"] == src.target.name) - t1 = text(" the []", R.fields["rank"]) - if (prob(70)) - dat += text("\red Perceived target: [] - Position: [] ([]% certainty)
", src.target.rname, t1, rand(30, 100)) - else - var/mob/temp = pick(backup) - dat += text("\red Perceived target: [] - Position: [] ([]% certainty)
", temp.rname, t1, rand(10, 95)) - if("theft") - dat += "\red Transmission suggests future attempts of theft of critical items.
" - if (prob(50)) - dat += text("\red Perceived target: []
", item) - else - world << "unknown traitor objective" - if (prob(10)) - dat += text("\red Transmission names enemy operative: [] ([]% certainty)
", src.killer.rname, rand(30, 100)) - else - var/mob/M = pick(backup) - dat += text("\red Transmission names enemy operative: [] ([]% certainty)
", M.rname, rand(10, 95)) - for(var/obj/machinery/computer/communications/C in world) - var/obj/item/weapon/paper/P = new /obj/item/weapon/paper( C.loc ) - P.name = "paper- 'Cent. Com. Comm. Intercept Summary'" - P.info = dat - world << "Cent. Com. Update Enemy communication intercept. Security Level Elevated" - world << "\red Summary downloaded and printed out at all communications consoles."*/ - if("nuclear") spawn (50) var/obj/L = locate("landmark*Nuclear-Disk") @@ -2381,11 +2233,9 @@ del(A) continue - spawn (0) - src.extend_process() - return + spawn(0) src.extend_process() if("virus") - spawn( 50 ) + spawn(50) var/list/mobs = list( ) for(var/mob/human/M in world) if ((M.cliented() && M.start)) @@ -2399,12 +2249,9 @@ mobs -= H amount-- return - spawn( 0 ) - src.extend_process() - return + spawn(0) src.extend_process() else for(var/obj/start/S in world) - //S = null del(S) return @@ -2417,66 +2264,33 @@ set invisibility = 0 set background =1 - Label_6: + do + while(!(ticker)) + for(var/mob/M in world) + spawn(0) M.UpdateClothing() + sleep(10) - //world << "World.contents.len [world.contents.len]" - - - while(!( ticker )) + time = (++time % 10) + sun.calc_position() + for(var/turf/station/T in world) + if (T.updatecell) + T.updatecell() + if(!time) + T.conduction() + sleep(3) for(var/mob/M in world) - spawn( 0 ) - M.UpdateClothing() - return - sleep(10) - - time = (++time %10) - - sun.calc_position() - - //if(Debug) - // world.log << "*** SoT ***" - // Air() - - for(var/turf/station/T in world) - if (T.updatecell) - T.updatecell() - if(!time) - T.conduction() - - //if(Debug) - // world.log << "*** EoT ***" - // Air() - - sleep(3) - for(var/mob/M in world) - spawn( 0 ) - M.Life() - return - sleep(3) - for(var/obj/move/S in world) - S.process() - sleep(2) - - //if(Debug) - // world.log << "*** SoP ***" - // Air() - - - for(var/obj/machinery/M in machines) - M.process() - - for(var/obj/machinery/M in gasflowlist) - M.gas_flow() - - for(var/datum/powernet/P in powernets) - P.reset() - - //if(Debug) - // world.log << "*** EoP ***" - // Air() - - src.var_swap = !( src.var_swap ) - if (src.processing) + spawn(0) M.Life() + sleep(3) + for(var/obj/move/S in world) + S.process() sleep(2) - goto Label_6 + for(var/obj/machinery/M in machines) + M.process() + for(var/obj/machinery/M in gasflowlist) + M.gas_flow() + for(var/datum/powernet/P in powernets) + P.reset() + src.var_swap = !src.var_swap + sleep(2) + while (src.processing) return diff --git a/spacestation13.dme b/spacestation13.dme index 303d8ac..5de6e7a 100644 --- a/spacestation13.dme +++ b/spacestation13.dme @@ -4,8 +4,9 @@ // BEGIN_INTERNALS /* -FILE: Code\items.dm +FILE: ss13h_new.dmp DIR: Code Code\Effects Code\Item Code\Item\Weapon Code\Machinery Code\Machinery\Computer +UPDATE_OBJ_TREE: ON MAP_ICON_TYPE: 0 AUTO_FILE_DIR: ON */ @@ -13,6 +14,7 @@ AUTO_FILE_DIR: ON // BEGIN_FILE_DIR #define FILE_DIR . #define FILE_DIR "Code" +#define FILE_DIR "Code/Admin" #define FILE_DIR "Code/CTF" #define FILE_DIR "Code/Effects" #define FILE_DIR "Code/Item" @@ -146,3 +148,4 @@ AUTO_FILE_DIR: ON #include "Code\mob\drone.dm" // END_INCLUDE +