From 06ca6ed7f62926ae842c2af12ae25ab5a19f52eb Mon Sep 17 00:00:00 2001 From: Albert Iordache Date: Tue, 29 Nov 2011 13:51:04 +0200 Subject: [PATCH 1/8] Made CompactNinja a game master and replaced the links to whoopshop.com --- README.txt | 2 +- config/admins.txt | 2 +- html/changelog.html | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.txt b/README.txt index 2a3b32c68ad..08043875383 100644 --- a/README.txt +++ b/README.txt @@ -1,6 +1,6 @@ baystation 12 -Website: http://whoopshop.com +Website: http://baystation12.net/ Code: https://github.com/Baystation12/Baystation12 IRC: irc://irc.sorcery.net/bs12 diff --git a/config/admins.txt b/config/admins.txt index 08f2869fee0..063b55edc49 100644 --- a/config/admins.txt +++ b/config/admins.txt @@ -3,7 +3,7 @@ arcalane - Game Admin cacophony - Game Admin cajoes - Game Admin cib - Game Master -compactninja - Game Admin +compactninja - Game Master headswe - Game Master iaryni - Game Master masterofapples - Game Admin diff --git a/html/changelog.html b/html/changelog.html index 5fd7e3c5357..564e5f1a351 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -25,14 +25,14 @@
Baystation 12

- Forum:
http://whoopshop.com

- Guides and information wiki:
http://wiki.whoopshop.com

+ Forum:
http://baystation12.net

+ Guides and information wiki:
http://wiki.baystation12.net

Visit our IRC channel:
#bs12 on sorcery.net

-

Read the player guidelines!

+

Read the player guidelines!

Github change history

From 0e129ba6ce985acf39e47bf037ae1a60b36c5d61 Mon Sep 17 00:00:00 2001 From: Miniature Date: Tue, 29 Nov 2011 22:23:43 +1030 Subject: [PATCH 2/8] No more random end sounds --- code/game/cellautomata.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/cellautomata.dm b/code/game/cellautomata.dm index 46449af5378..9f2043ac5c9 100644 --- a/code/game/cellautomata.dm +++ b/code/game/cellautomata.dm @@ -123,7 +123,7 @@ //Crispy fullban /world/Reboot(var/reason) spawn(0) - world << sound(pick('newroundsexy.ogg','apcdestroyed.ogg','bangindonk.ogg')) // random end sounds!! - LastyBatsy + //world << sound(pick('newroundsexy.ogg','apcdestroyed.ogg','bangindonk.ogg')) // random end sounds!! - LastyBatsy No, no random end sounds. - Miniature //if(prob(40)) // for(var/mob/M in world) // if(M.client) From fbf18ddd7e82a0be1ddb3f8879ae89bb5303f63c Mon Sep 17 00:00:00 2001 From: Miniature Date: Wed, 9 Nov 2011 00:20:02 +1030 Subject: [PATCH 3/8] Arrivals scanner --- baystation12.dme | 1 + code/game/machinery/scanner.dm | 117 +++++++++++++++++++++++++++++++++ 2 files changed, 118 insertions(+) create mode 100644 code/game/machinery/scanner.dm diff --git a/baystation12.dme b/baystation12.dme index 1e8635b68d0..e654cf02ac9 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -441,6 +441,7 @@ #include "code\game\machinery\rechargestation.dm" #include "code\game\machinery\requests_console.dm" #include "code\game\machinery\robot_fabricator.dm" +#include "code\game\machinery\scanner.dm" #include "code\game\machinery\seed_extractor.dm" #include "code\game\machinery\shieldgen.dm" #include "code\game\machinery\sink.dm" diff --git a/code/game/machinery/scanner.dm b/code/game/machinery/scanner.dm new file mode 100644 index 00000000000..c07587ee787 --- /dev/null +++ b/code/game/machinery/scanner.dm @@ -0,0 +1,117 @@ +obj/machinery/scanner + name = "Scanner" + var/outputdir = 0 + icon = 'computer.dmi' + icon_state = "aiupload" + density = 1 + anchored = 1 + var/lastuser = null +obj/machinery/scanner/New() + if(!outputdir) + switch(dir) + if(1) + outputdir = 2 + if(2) + outputdir = 1 + if(4) + outputdir = 8 + if(8) + outputdir = 4 + if(!outputdir) + outputdir = 8 +obj/machinery/scanner/attack_hand(mob/living/carbon/human/user) + if(!ishuman(user) || lastuser == user.real_name) + return + lastuser = user.real_name + var/mname = user.real_name + var/dna = user.dna.unique_enzymes + var/bloodtype = user.b_type + var/fingerprint = md5(user.dna.uni_identity) + var/list/marks = list() + var/age = user.age + var/gender = user.gender + var/DBQuery/cquery = dbcon.NewQuery("SELECT * from jobban WHERE ckey='[user.ckey]'") + if(!cquery.Execute()) return + else + while(cquery.NextRow()) + var/list/row = cquery.GetRowData() + marks += row["rank"] + var/text = {" +
Report

+ Name: [mname] + Age: [age] + Sex: [gender] + DNA: [dna] + Blood Type: [bloodtype] + Fingerprint: [fingerprint] + + Black Marks:
"} + for(var/A in marks) + text += "\red[A]
" + user << "\blue You feel a sting as the scanner sucks all your information out of you and sticks it in it's database." + var/turf/T = get_step(src,outputdir) + var/obj/item/weapon/paper/print = new(T) + print.name = "[mname] Report" + print.info = text + print.stamped = 1 + + for(var/datum/data/record/test in data_core.general) + if (test.fields["name"] == mname) + return + + var/datum/data/record/G = new() + var/datum/data/record/M = new() + var/datum/data/record/S = new() + var/datum/data/record/L = new() + G.fields["rank"] = "Unassigned" + G.fields["name"] = H.real_name + G.fields["id"] = text("[]", add_zero(num2hex(rand(1, 1.6777215E7)), 6)) + M.fields["name"] = G.fields["name"] + M.fields["id"] = G.fields["id"] + S.fields["name"] = G.fields["name"] + S.fields["id"] = G.fields["id"] + if(H.gender == FEMALE) + G.fields["sex"] = "Female" + else + G.fields["sex"] = "Male" + G.fields["age"] = text("[]", H.age) + G.fields["fingerprint"] = text("[]", md5(H.dna.uni_identity)) + G.fields["p_stat"] = "Active" + G.fields["m_stat"] = "Stable" + M.fields["b_type"] = text("[]", H.b_type) + M.fields["b_dna"] = H.dna.unique_enzymes + M.fields["mi_dis"] = "None" + M.fields["mi_dis_d"] = "No minor disabilities have been declared." + M.fields["ma_dis"] = "None" + M.fields["ma_dis_d"] = "No major disabilities have been diagnosed." + M.fields["alg"] = "None" + M.fields["alg_d"] = "No allergies have been detected in this patient." + M.fields["cdi"] = "None" + M.fields["cdi_d"] = "No diseases have been diagnosed at the moment." + M.fields["notes"] = "No notes." + S.fields["criminal"] = "None" + S.fields["mi_crim"] = "None" + S.fields["mi_crim_d"] = "No minor crime convictions." + S.fields["ma_crim"] = "None" + S.fields["ma_crim_d"] = "No major crime convictions." + S.fields["notes"] = "No notes." + + //Begin locked reporting + L.fields["name"] = H.real_name + L.fields["sex"] = H.gender + L.fields["age"] = H.age + L.fields["id"] = md5("[H.real_name][H.mind.assigned_role]") + L.fields["rank"] = H.mind.assigned_role + L.fields["b_type"] = H.b_type + L.fields["b_dna"] = H.dna.unique_enzymes + L.fields["enzymes"] = H.dna.struc_enzymes + L.fields["identity"] = H.dna.uni_identity + L.fields["image"] = H_icon//What the person looks like. Naked, in this case. + //End locked reporting + + data_core.general += G + data_core.medical += M + data_core.security += S + data_core.locked += L + + From d4ae76820bbb9f1fef730a0d58d54b8d309c3d58 Mon Sep 17 00:00:00 2001 From: Miniature Date: Tue, 29 Nov 2011 19:29:56 +1030 Subject: [PATCH 4/8] Fixedish the arrivals scanner, still need to add circuitboard to it --- code/game/machinery/scanner.dm | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/code/game/machinery/scanner.dm b/code/game/machinery/scanner.dm index c07587ee787..43155f9980c 100644 --- a/code/game/machinery/scanner.dm +++ b/code/game/machinery/scanner.dm @@ -30,12 +30,14 @@ obj/machinery/scanner/attack_hand(mob/living/carbon/human/user) var/list/marks = list() var/age = user.age var/gender = user.gender + /* no dbstuff yet var/DBQuery/cquery = dbcon.NewQuery("SELECT * from jobban WHERE ckey='[user.ckey]'") if(!cquery.Execute()) return else while(cquery.NextRow()) var/list/row = cquery.GetRowData() marks += row["rank"] + */ var/text = {"
Report

Name: [mname] @@ -64,22 +66,22 @@ obj/machinery/scanner/attack_hand(mob/living/carbon/human/user) var/datum/data/record/S = new() var/datum/data/record/L = new() G.fields["rank"] = "Unassigned" - G.fields["name"] = H.real_name + G.fields["name"] = mname G.fields["id"] = text("[]", add_zero(num2hex(rand(1, 1.6777215E7)), 6)) M.fields["name"] = G.fields["name"] M.fields["id"] = G.fields["id"] S.fields["name"] = G.fields["name"] S.fields["id"] = G.fields["id"] - if(H.gender == FEMALE) + if(gender == FEMALE) G.fields["sex"] = "Female" else G.fields["sex"] = "Male" - G.fields["age"] = text("[]", H.age) - G.fields["fingerprint"] = text("[]", md5(H.dna.uni_identity)) + G.fields["age"] = text("[]", age) + G.fields["fingerprint"] = text("[]", fingerprint) G.fields["p_stat"] = "Active" G.fields["m_stat"] = "Stable" - M.fields["b_type"] = text("[]", H.b_type) - M.fields["b_dna"] = H.dna.unique_enzymes + M.fields["b_type"] = text("[]", bloodtype) + M.fields["b_dna"] = dna M.fields["mi_dis"] = "None" M.fields["mi_dis_d"] = "No minor disabilities have been declared." M.fields["ma_dis"] = "None" @@ -97,16 +99,16 @@ obj/machinery/scanner/attack_hand(mob/living/carbon/human/user) S.fields["notes"] = "No notes." //Begin locked reporting - L.fields["name"] = H.real_name - L.fields["sex"] = H.gender - L.fields["age"] = H.age - L.fields["id"] = md5("[H.real_name][H.mind.assigned_role]") - L.fields["rank"] = H.mind.assigned_role - L.fields["b_type"] = H.b_type - L.fields["b_dna"] = H.dna.unique_enzymes - L.fields["enzymes"] = H.dna.struc_enzymes - L.fields["identity"] = H.dna.uni_identity - L.fields["image"] = H_icon//What the person looks like. Naked, in this case. + L.fields["name"] = mname + L.fields["sex"] = gender + L.fields["age"] = age + L.fields["id"] = md5("[mname][user.mind.assigned_role]") + L.fields["rank"] = "Unknown" + L.fields["b_type"] = bloodtype + L.fields["b_dna"] = dna + L.fields["enzymes"] = user.dna.struc_enzymes + L.fields["identity"] = user.dna.uni_identity + L.fields["image"] = getFlatIcon(user,0)//What the person looks like. Naked, in this case. //End locked reporting data_core.general += G From 60aea590539d5275bf2eae048e84e5c33667a4f4 Mon Sep 17 00:00:00 2001 From: CompactNinja Date: Tue, 29 Nov 2011 23:34:55 +1030 Subject: [PATCH 5/8] Scanner icons, whee. Signed-off-by: CompactNinja --- icons/obj/stationobjs.dmi | Bin 90570 -> 93158 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/obj/stationobjs.dmi b/icons/obj/stationobjs.dmi index 1c92b1415e55cb29a3e409b51cddaf7afe2d3fbd..e2b315e0c6987544d4320f4adf744a75dcda2c8c 100644 GIT binary patch delta 5385 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 V%6VHs$_G!t%*guECj;-t{{!H)l`{YU delta 2779 zcmV<13MBRB*9FSM1&|kizz7Ba007c*$3Fl71l@X6Sad{Xb7OL8aCB*JZU6vyoTXVk zkJ~s9t?geSB+VU;d$43XNwZC`LEs|60#|G)P}JCBmJ)>_WheLRudr8^ERKh|z{ReC z_hzWa`IO%$pTB(FeNUdg?UqMCr)`rwCY!%k%f(5TzDgdGb+%l8RG<%)KYwvvdPp9V zce?oj%3FN5T$CDJ@|bLvi#^I3F8`Nc zIlA2elaJ2~IE%@ZO|D z#~YD~Ol0>D5dRsUfWNbg#wMaUyj{}*;iQ|AvJ+90JW5w7$#=ImAYZ*aN>|lj_$Ubq zzG#tJ(L$?BQ^nEM8x-4 zzQYrLKKS@IvQY8>5#n5s(LnxYDr;;jOWxuINLc(tX4xRK(0ZF2=_^S7c-cMw$@=`K z(qPK`Ys7GIg(iQ=xi6_IYiw)Fm)$d8Rxdid?4J3ye8m!-`6D6QpfzYzo%Xq|ThvWV zIiE1{hz2y_$VL+Zzlz?G`lneKYumBM7Ol5`M*50xcvon|lMKLwRKXo@9kgJ7+X4}| z;XO0FM#(N#s2&-i(-k{Mrl5g2Dg_M?B9X}vl*xJQlFvl?h#*^`nEa=y>>(1^ihI~tgJCjWMqV)A=` zQ4i%eqZ(ATm($~C2C@wme+asW{vW$4Wz7?OuR(!nS zM_j71b)DbKzZk zC{5=;r$RdDFDROt_0XhH&{7TdVz3t@Czx_z<5d}?ll9}?)1B_Udt~eTfgneT{XNSf z@9WFslk*q=004k!u|I?f0Jy)5G1`X!04pi>GK2sC007)#1Ah(x000!oI)Y-1>E{tl zIt;Jf2LJ#7@({TJH^%gT9=_OzE9d9`%h#{Te!5haG+^yzE$0RZ`$ z*?@=t@c%u0xocPI!&eWSN4p;$Lz=&zR<9Sxg9n37)FMcqK7IN{^hJbCH~=V!JOjSF zyX!2lzP_INx_^qA{h}7X%gamp^y$-Isy+aq7}go^ot>T7cWgGBbI&Sgc{xvwzV_lr zpFVy1T73XOabm9n-fT8w-+6iy+&n!MsntZm z@svs>>whob_r>@9(eFd`ogJz7dQQeq7U`GE<^H=}+Yxk8O|CiNj;e7zWEcY|uLw9WkJa1Zy|5Eke_e6gAOSi8i+`2Cy6uiJY4N8d!wmHHna>VE#p{Wv`T?*G?cyAJ?Z9@Y)`#HM;o zIDhsLbscUOV<%bqS;tPI7P`2FF|Ba%wfz7T{ha%cbo(MA|8zRm{=xpfG#al(M5H5! zQkBmlTQ8lp=RN-PbMDW1{^i{liGTh90E)BF40w3I)(p6N5T162tge}DQp_7gn+^6azu27u*}{5s&n>wZsP4}8Y( zg?L;j>N?=#^4fe&FMQo@S6Z#snlWZ#D4720_8X1YB8|b>Pm%uyXF$cx8BqH4Eqx~+ z9{`X}^6P+GX2I{v40x2h&W3ioUHbHA3^rae+<3`o{2*!!Cd+Zrrw;(om1+ije1GIa zV+MR)KkE$m^g@@{=BrYvL@t8#SG!-`Iv>7ud)BiaaaEyahHrA|)3@~j0L4i?13rGA z#te8|Kg$ew5my=r7eD&+lk~%H2%7D7eOG+|K(P|dfY*CHX>M;v&VtXl<1^rS z(O&%M-`&3U=8OJn_W=OzSzm}}e18T!2mN?;> z((dO$d-0=BpFVx9J^>$+I`ow7eD&+>C@Nh0{|wiwOXx-JB%@X&-0u{ z!k_R@vH)oHjWK2|>C-Q|Z;Z(^3jnZ)+<@m1N_zH1yAJ@Xf( Date: Tue, 29 Nov 2011 15:45:01 +0100 Subject: [PATCH 6/8] Added back json support / restart notice should fix unnecessary restart after gamemode change before round start --- baystation12.dme | 1 + code/game/cellautomata.dm | 4 +- code/game/gamemodes/gameticker.dm | 1 + code/game/json.dm | 102 ++++++++++++++++++++++++++++++ code/game/vote.dm | 2 +- code/modules/admin/admin.dm | 2 +- 6 files changed, 108 insertions(+), 4 deletions(-) create mode 100644 code/game/json.dm diff --git a/baystation12.dme b/baystation12.dme index 1e8635b68d0..97a7443639e 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -338,6 +338,7 @@ #include "code\game\dna.dm" #include "code\game\dna_mutations.dm" #include "code\game\hud.dm" +#include "code\game\json.dm" #include "code\game\landmarks.dm" #include "code\game\master_controller.dm" #include "code\game\prisonshuttle.dm" diff --git a/code/game/cellautomata.dm b/code/game/cellautomata.dm index 9f2043ac5c9..a61ed7262b7 100644 --- a/code/game/cellautomata.dm +++ b/code/game/cellautomata.dm @@ -123,7 +123,7 @@ //Crispy fullban /world/Reboot(var/reason) spawn(0) - //world << sound(pick('newroundsexy.ogg','apcdestroyed.ogg','bangindonk.ogg')) // random end sounds!! - LastyBatsy No, no random end sounds. - Miniature + //world << sound(pick('newroundsexy.ogg','apcdestroyed.ogg','bangindonk.ogg')) // random end sounds!! - LastyBatsy No, no random end sounds. - Miniature //if(prob(40)) // for(var/mob/M in world) // if(M.client) @@ -132,7 +132,7 @@ // for(var/mob/M in world) // if(M.client) // M << sound('apcdestroyed.ogg') - + send2irc(world.url,"Server Rebooting!") for(var/client/C) if (config.server) //if you set a server location in config.txt, it sends you there instead of trying to reconnect to the same world address. -- NeoFite C << link("byond://[config.server]") diff --git a/code/game/gamemodes/gameticker.dm b/code/game/gamemodes/gameticker.dm index 2cad4558abf..f18f35a30bc 100644 --- a/code/game/gamemodes/gameticker.dm +++ b/code/game/gamemodes/gameticker.dm @@ -173,6 +173,7 @@ var/global/datum/controller/gameticker/ticker else feedback_set_details("end_proper","proper completion") world << "\blue Restarting in [restart_timeout/10] seconds" + // send2irc(world.url,"Server Rebooting!") feedback_set_details("round_end","[time2text(world.realtime)]") if(blackbox) diff --git a/code/game/json.dm b/code/game/json.dm new file mode 100644 index 00000000000..65a29172197 --- /dev/null +++ b/code/game/json.dm @@ -0,0 +1,102 @@ + +var/jsonpath = "/home/bay12/public_html" +var/dmepath = "/home/bay12/git/baystation12.dme" +var/makejson = 1 //temp +world/proc/makejson() + + if(!makejson) + return + fdel("[jsonpath]/info.json") + //usr << "Error cant delete json" + //else + //usr << "Deleted json in public html" + fdel("info.json") + //usr << "error cant delete local json" + //else + //usr << "Deleted local json" + var/F = file("info.json") + if(!isfile(F)) + return + var/mode + if(ticker) + if(ticker.current_state == 1) + mode = "Round Setup" + else if(ticker.hide_mode) + mode = "SECRET" + else + mode = master_mode + var/playerscount = 0 + var/players = "" + var/admins = "no" + for(var/client/C) + playerscount++ + if(C.holder) + if(!C.stealth) + admins = "yes" + players += "[C.key];" + else + players += "[C.fakekey];" + else + players += "[C.key];" + F << "{\"mode\":\"[mode]\",\"players\" : \"[players]\",\"playercount\" : \"[playerscount]\",\"admin\" : \"[admins]\",\"time\" : \"[time2text(world.realtime,"MM/DD - hh:mm")]\"}" + fcopy("info.json","[jsonpath]/info.json") + +/proc/switchmap(newmap,newpath) + var/oldmap + var/obj/mapinfo/M = locate() + + if(M) + oldmap = M.mapname + + else + message_admins("Did not locate mapinfo object. Go bug the mapper to add a /obj/mapinfo to their map!\n For now, you can probably spawn one manually. If you do, be sure to set it's mapname var correctly, or else you'll just get an error again.") + return + + message_admins("Current map: [oldmap]") + var/text = file2text(dmepath) + var/path = "#include \"maps/[oldmap].dmm\"" + var/xpath = "#include \"maps/[newpath].dmm\"" + var/loc = findtext(text,path,1,0) + if(!loc) + path = "#include \"maps\\[oldmap].dmm\"" + xpath = "#include \"maps\\[newpath].dmm\"" + loc = findtext(text,path,1,0) + if(!loc) + message_admins("Could not find '#include \"maps\\[oldmap].dmm\"' or '\"maps/[oldmap].dmm\"' in the bs12.dme. The mapinfo probably has an incorrect mapname var. Alternatively, could not find the .dme itself, at [dmepath].") + return + + var/rest = copytext(text, loc + length(path)) + text = copytext(text,1,loc) + text += "\n[xpath]" + text += rest +/* for(var/A in lines) + if(findtext(A,path,1,0)) + lineloc = lines.Find(A,1,0) + lines[lineloc] = xpath + world << "FOUND"*/ + fdel(dmepath) + var/file = file(dmepath) + file << text + message_admins("Compiling...") + shell("./recompile") + message_admins("Done") + world.Reboot("Switching to [newmap]") + +obj/mapinfo + invisibility = 101 + var/mapname = "thismap" + var/decks = 4 +proc/GetMapInfo() + var/obj/mapinfo/M = locate() + world << M.name + world << M.mapname +client/proc/ChangeMap(var/X as text) + set name = "Change Map" + set category = "Admin" + switchmap(X,X) +proc/send2irc(msg,msg2) + shell("python26 nudge.py [msg] [msg2]") +proc/send2adminirc(channel,msg) + world << channel << " "<< msg + shell("python26 nudge.py '[channel]' [msg]") +p //test \ No newline at end of file diff --git a/code/game/vote.dm b/code/game/vote.dm index 7dbe6c6cce9..93155476e47 100644 --- a/code/game/vote.dm +++ b/code/game/vote.dm @@ -74,7 +74,7 @@ world << "Result is change to \red [wintext]" world.save_mode(winner) - if(ticker) + if(ticker.current_state != 1) world <<"\red World will reboot in 10 seconds" feedback_set_details("end_error","mode vote - [winner]") diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 89684bc2d47..47cc72bc567 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -2152,7 +2152,7 @@ feedback_set_details("round_end","[time2text(world.realtime)]") if(blackbox) blackbox.save_all_data_to_sql() - + //send2irc(world.url,"Server Rebooting!") sleep(50) world.Reboot() From 1c01524055d49759ea58f79c2fc87497ad51bf39 Mon Sep 17 00:00:00 2001 From: Miniature Date: Wed, 30 Nov 2011 01:19:41 +1030 Subject: [PATCH 7/8] Arrivals scanner stuff, now has sprite, new name, and uses power Just needs jobban stuff, then should be fine to add to a map --- code/game/machinery/scanner.dm | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/code/game/machinery/scanner.dm b/code/game/machinery/scanner.dm index 43155f9980c..857ed1dbbfc 100644 --- a/code/game/machinery/scanner.dm +++ b/code/game/machinery/scanner.dm @@ -1,11 +1,13 @@ +//not a computer obj/machinery/scanner - name = "Scanner" + name = "Identity Analyser" var/outputdir = 0 - icon = 'computer.dmi' - icon_state = "aiupload" + icon = 'stationobjs.dmi' + icon_state = "scanner_idle" density = 1 anchored = 1 var/lastuser = null + obj/machinery/scanner/New() if(!outputdir) switch(dir) @@ -19,9 +21,28 @@ obj/machinery/scanner/New() outputdir = 4 if(!outputdir) outputdir = 8 + +/obj/machinery/scanner/process() + if(stat & NOPOWER) + return + use_power(50) + +/obj/machinery/scanner/power_change() + if(!powered()) + spawn(rand(0, 15)) + icon_state = "scanner_off" + stat |= NOPOWER + else + icon_state = "scanner_idle" + stat &= ~NOPOWER + obj/machinery/scanner/attack_hand(mob/living/carbon/human/user) + if(stat & NOPOWER) + return if(!ishuman(user) || lastuser == user.real_name) return + use_power(500) + flick("scanner_on",src) lastuser = user.real_name var/mname = user.real_name var/dna = user.dna.unique_enzymes From e1df14b5c1996646ed6b936182d3e85f46f03a14 Mon Sep 17 00:00:00 2001 From: Head Date: Tue, 29 Nov 2011 18:15:49 +0100 Subject: [PATCH 8/8] Forgot to call makejson() --- code/game/json.dm | 2 +- code/modules/mob/mob.dm | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/code/game/json.dm b/code/game/json.dm index 65a29172197..94bd63052c1 100644 --- a/code/game/json.dm +++ b/code/game/json.dm @@ -2,7 +2,7 @@ var/jsonpath = "/home/bay12/public_html" var/dmepath = "/home/bay12/git/baystation12.dme" var/makejson = 1 //temp -world/proc/makejson() +proc/makejson() if(!makejson) return diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 087bf09b1b9..14d703cf080 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -678,7 +678,7 @@ world.update_status() ..() - + makejson() if (join_motd) src << "
[join_motd]
" @@ -696,6 +696,7 @@ spawn(0) if(holder) del(holder) + makejson() return ..() /mob/proc/can_use_hands()