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/baystation12.dme b/baystation12.dme index 1e8635b68d0..647e95ad1be 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" @@ -441,6 +442,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/cellautomata.dm b/code/game/cellautomata.dm index 46449af5378..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 + //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..94bd63052c1 --- /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 +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/machinery/scanner.dm b/code/game/machinery/scanner.dm new file mode 100644 index 00000000000..857ed1dbbfc --- /dev/null +++ b/code/game/machinery/scanner.dm @@ -0,0 +1,140 @@ +//not a computer +obj/machinery/scanner + name = "Identity Analyser" + var/outputdir = 0 + icon = 'stationobjs.dmi' + icon_state = "scanner_idle" + 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/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 + var/bloodtype = user.b_type + var/fingerprint = md5(user.dna.uni_identity) + 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 = {" +
- 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