From 4166ae3e3f4cd4ba13b2baa70a89a6d3c838de81 Mon Sep 17 00:00:00 2001 From: Mij Date: Wed, 24 Oct 2012 12:24:04 -0700 Subject: [PATCH] Xenoarch: artifacts, strange rocks, pretty orebox Artifacts and strange rock formations spawn during world gen. Frequency may need tweaking. Strange rocks melt when acid hits them due to what I assume are changes /tg/ made with how acid works. Alternately I missed something during copypasta spree. I'll muck with it later. For now, harvesting always works with applied welding tools. Ore boxes back to old beautiful selves. Re-added a few icons to mining.dmi and the strange rock icon to turfs.dmi --- code/modules/mining/mine_turfs.dm | 34 +- code/modules/mining/ores_materials_coins.dm | 9 + code/modules/mining/satchel_ore_box.dm | 5 - code/modules/mining/satchel_ore_boxdm.dm | 5 + .../modules/research/xenoarchaeology/finds.dm | 724 +++++------ html/changelog.html | 1054 +++++++++-------- icons/obj/mining.dmi | Bin 39461 -> 43840 bytes icons/turf/walls.dmi | Bin 148802 -> 150889 bytes 8 files changed, 939 insertions(+), 892 deletions(-) diff --git a/code/modules/mining/mine_turfs.dm b/code/modules/mining/mine_turfs.dm index acdcd620bdf..7285b4628b0 100644 --- a/code/modules/mining/mine_turfs.dm +++ b/code/modules/mining/mine_turfs.dm @@ -14,6 +14,7 @@ var/mineralAmt = 0 var/spread = 0 //will the seam spread? var/spreadChance = 0 //the percentual chance of an ore spreading to the neighbouring tiles + var/artifactChance = 0.3 //percent chance to spawn a xenoarchaelogical artifact var/last_act = 0 /turf/simulated/mineral/Del() @@ -70,8 +71,8 @@ /turf/simulated/mineral/random name = "Mineral deposit" - var/mineralAmtList = list("Uranium" = 5, "Iron" = 5, "Diamond" = 5, "Gold" = 5, "Silver" = 5, "Plasma" = 5/*, "Adamantine" = 5*/) - var/mineralSpawnChanceList = list("Uranium" = 5, "Iron" = 50, "Diamond" = 1, "Gold" = 5, "Silver" = 5, "Plasma" = 25/*, "Adamantine" =5*/)//Currently, Adamantine won't spawn as it has no uses. -Durandan + var/mineralAmtList = list("Uranium" = 5, "Iron" = 5, "Diamond" = 5, "Gold" = 5, "Silver" = 5, "Plasma" = 5, "Archaeo" = 3/*, "Adamantine" = 5*/) + var/mineralSpawnChanceList = list("Uranium" = 5, "Iron" = 50, "Diamond" = 1, "Gold" = 5, "Silver" = 5, "Plasma" = 25, "Archaeo" = 5/*, "Adamantine" =5*/)//Currently, Adamantine won't spawn as it has no uses. -Durandan var/mineralChance = 10 //means 10% chance of this plot changing to a mineral deposit /turf/simulated/mineral/random/New() @@ -94,16 +95,21 @@ M = new/turf/simulated/mineral/silver(src) if("Plasma") M = new/turf/simulated/mineral/plasma(src) + if("Archaeo") + M = new/turf/simulated/mineral/archaeo(src) /*if("Adamantine") M = new/turf/simulated/mineral/adamantine(src)*/ if(M) src = M M.levelupdate() + else if (prob(artifactChance)) + //spawn a rare, xeno-arch artifact here + new/obj/machinery/artifact(src) return /turf/simulated/mineral/random/high_chance mineralChance = 25 - mineralSpawnChanceList = list("Uranium" = 10, "Iron" = 30, "Diamond" = 2, "Gold" = 10, "Silver" = 10, "Plasma" = 25) + mineralSpawnChanceList = list("Uranium" = 10, "Iron" = 30, "Diamond" = 2, "Gold" = 10, "Silver" = 10, "Plasma" = 25, "Archaeo" = 2) /turf/simulated/mineral/random/Del() return @@ -163,6 +169,15 @@ spread = 1 +/turf/simulated/mineral/archaeo + name = "Strange rock formation" + icon_state = "rock_Archaeo" + mineralName = "Archaeo" + mineralAmt = 3 + spreadChance = 25 + spread = 1 + + /turf/simulated/mineral/clown name = "Bananium deposit" icon_state = "rock_Clown" @@ -231,6 +246,7 @@ return /turf/simulated/mineral/proc/gets_drilled() + var/destroyed = 0 //used for breaking strange rocks if ((src.mineralName != "") && (src.mineralAmt > 0) && (src.mineralAmt < 11)) var/i for (i=0;iThe contents of the ore box reveal...
") if (amt_gold) @@ -163,8 +160,6 @@ dat += text("Uranium ore: [amt_uranium]
") if (amt_clown) dat += text("Bananium ore: [amt_clown]
") - if (amt_archaeo) - dat += text("Strange rocks: [amt_archaeo]
") dat += text("

Empty box") user << browse("[dat]", "window=orebox") diff --git a/code/modules/mining/satchel_ore_boxdm.dm b/code/modules/mining/satchel_ore_boxdm.dm index b1eaeb51614..5b7632c7857 100644 --- a/code/modules/mining/satchel_ore_boxdm.dm +++ b/code/modules/mining/satchel_ore_boxdm.dm @@ -28,6 +28,7 @@ var/amt_plasma = 0 var/amt_uranium = 0 var/amt_clown = 0 + var/amt_archaeo = 0 for (var/obj/item/weapon/ore/C in contents) if (istype(C,/obj/item/weapon/ore/diamond)) @@ -46,6 +47,8 @@ amt_uranium++; if (istype(C,/obj/item/weapon/ore/clown)) amt_clown++; + if (istype(C,/obj/item/weapon/ore/strangerock)) + amt_archaeo++; var/dat = text("The contents of the ore box reveal...
") if (amt_gold) @@ -64,6 +67,8 @@ dat += text("Uranium ore: [amt_uranium]
") if (amt_clown) dat += text("Bananium ore: [amt_clown]
") + if (amt_archaeo) + dat += text("Strange rocks: [amt_archaeo]
") dat += text("

Empty box") user << browse("[dat]", "window=orebox") diff --git a/code/modules/research/xenoarchaeology/finds.dm b/code/modules/research/xenoarchaeology/finds.dm index 1142779c554..4e448e8518e 100644 --- a/code/modules/research/xenoarchaeology/finds.dm +++ b/code/modules/research/xenoarchaeology/finds.dm @@ -1,362 +1,362 @@ -//original code and idea from Alfie275 (luna) and ISaidNo (goon) - with thanks - - - - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// samples - -/obj/item/weapon/rocksliver - name = "rock sliver" - desc = "It looks extremely delicate." - icon = 'mining.dmi' - icon_state = "sliver0" //0-4 - //item_state = "electronic" - var/source_rock = "/turf/simulated/mineral/archaeo" - item_state = "" - var/datum/geosample/geological_data - -/obj/item/weapon/rocksliver/New() - icon_state = "sliver[rand(0,4)]" - - - - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// strange rocks - -/obj/item/weapon/ore/strangerock - var/datum/geosample/geological_data - var/source_rock = "/turf/simulated/mineral" - var/method = 0 - var/obj/inside - origin_tech = "materials=5" - -/obj/item/weapon/ore/strangerock/New() - ..() - //var/datum/reagents/r = new/datum/reagents(50) - //src.reagents = r - if(rand(3)) - method = 0 - else - method = 1 - inside = pick(150;"", 50;"/obj/item/weapon/crystal", 25;"/obj/item/weapon/talkingcrystal", "/obj/item/weapon/fossil/base") - -/obj/item/weapon/ore/strangerock/bullet_act(var/obj/item/projectile/P) - -/obj/item/weapon/ore/strangerock/ex_act(var/severity) - src.visible_message("The [src] crumbles away, leaving some dust and gravel behind.") - -/obj/item/weapon/ore/strangerock/attackby(obj/item/weapon/W as obj, mob/user as mob) - - if(istype(W,/obj/item/weapon/weldingtool/)) - var/obj/item/weapon/weldingtool/w = W - if(w.isOn() && (w.get_fuel() > 3)) - if(!src.method) - if(inside) - var/obj/A = new src.inside(get_turf(src)) - for(var/mob/M in viewers(world.view, user)) - M.show_message("\blue The rock burns away revealing a [A.name].",1) - else - for(var/mob/M in viewers(world.view, user)) - M.show_message("\blue The rock burns away into nothing.",1) - del src - else - for(var/mob/M in viewers(world.view, user)) - M.show_message("\blue A few sparks fly off the rock, but otherwise nothing else happens.",1) - w.remove_fuel(4) - - else if(istype(W,/obj/item/device/core_sampler/)) - var/obj/item/device/core_sampler/S = W - if(S.filled_bag) - user << "\red The core sampler is full!" - else if(S.num_stored_bags < 1) - user << "\red The core sampler is out of sample bags!" - else - S.filled_bag = new /obj/item/weapon/storage/samplebag(S) - S.icon_state = "sampler1" - - for(var/i=0, i<7, i++) - var/obj/item/weapon/rocksliver/R = new /obj/item/weapon/rocksliver(S.filled_bag) - R.source_rock = src.source_rock - R.geological_data = src.geological_data - user << "\blue You take a core sample of the [src]." - -/* -/obj/item/weapon/ore/strangerock/acid_act(var/datum/reagent/R) - if(src.method) - if(inside) - var/obj/A = new src.inside(get_turf(src)) - for(var/mob/M in viewers(world.view, get_turf(src))) - M.show_message("\blue The rock fizzes away revealing a [A.name].",1) - else - for(var/mob/M in viewers(world.view, get_turf(src))) - M.show_message("\blue The rock fizzes away into nothing.",1) - del src - else - for(var/mob/M in viewers(world.view, get_turf(src))) - M.show_message("\blue The acid splashes harmlessly off the rock, nothing else interesting happens.",1) - return 1 - */ - - - - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// crystals - -/obj/item/weapon/crystal - name = "Crystal" - icon = 'mining.dmi' - icon_state = "crystal" - -/obj/item/weapon/crystal/bullet_act(var/obj/item/projectile/P) - if(istype(P,/obj/item/projectile/beam/emitter)) - switch(rand(0,3)) - if(0) - var/obj/item/projectile/beam/emitter/A = new /obj/item/projectile/beam/emitter( src.loc ) - A.dir = 1 - A.yo = 20 - A.xo = 0 - if(0) - var/obj/item/projectile/beam/emitter/A = new /obj/item/projectile/beam/emitter( src.loc ) - A.dir = 2 - A.yo = -20 - A.xo = 0 - if(0) - var/obj/item/projectile/beam/emitter/A = new /obj/item/projectile/beam/emitter( src.loc ) - A.dir = 4 - A.yo = 0 - A.xo = 20 - if(0) - var/obj/item/projectile/beam/emitter/A = new /obj/item/projectile/beam/emitter( src.loc ) - A.dir = 8 - A.yo = 0 - A.xo = -20 - else - ..() - -/obj/item/weapon/talkingcrystal - name = "Crystal" - icon = 'mining.dmi' - icon_state = "crystal2" - var/list/list/words = list() - var/lastsaid - -/obj/item/weapon/talkingcrystal/New() - spawn(100) - process() - -/obj/item/weapon/talkingcrystal/bullet_act(var/obj/item/projectile/P) - if(istype(P,/obj/item/projectile/beam)) - switch(rand(0,3)) - if(0) - var/obj/item/projectile/beam/A = new /obj/item/projectile/beam( src.loc ) - A.dir = pick(alldirs) - A.yo = 20 - A.xo = 0 - if(0) - var/obj/item/projectile/beam/A = new /obj/item/projectile/beam( src.loc ) - A.dir = pick(alldirs) - A.yo = -20 - A.xo = 0 - if(0) - var/obj/item/projectile/beam/A = new /obj/item/projectile/beam( src.loc ) - A.dir = pick(alldirs) - A.yo = 0 - A.xo = 20 - if(0) - var/obj/item/projectile/beam/A = new /obj/item/projectile/beam( src.loc ) - A.dir = pick(alldirs) - A.yo = 0 - A.xo = -20 - var/word = pick("pain","hurt","masochism","sadist","rage","repressed","ouch","evil","void","kill","destroy") - SaySomething(word) - else - ..() - -/obj/item/weapon/talkingcrystal/proc/catchMessage(var/msg, var/mob/source) - var/list/seperate = list() - if(findtext(msg,"((")) - return - else if(findtext(msg,"))")) - return - else if(findtext(msg," ")==0) - return - else - /*var/l = lentext(msg) - if(findtext(msg," ",l,l+1)==0) - msg+=" "*/ - seperate = stringsplit(msg, " ") - - var/addressing_crystal = 0 - if("crystal" in seperate || "gem" in seperate) - addressing_crystal = 1 - - for(var/Xa = 1,Xa 20 + rand(10,20)) - words.Remove(words[1]) - if(!words["[lowertext(seperate[Xa])]"]) - words["[lowertext(seperate[Xa])]"] = list() - var/list/w = words["[lowertext(seperate[Xa])]"] - if(w) - w.Add("[lowertext(seperate[next])]") - //world << "Adding [lowertext(seperate[next])] to [lowertext(seperate[Xa])]" - - for(var/mob/O in viewers(src)) - O.show_message("\blue The crystal hums for bit then stops...", 1) - if(!rand(0, 5 - addressing_crystal * 3)) - spawn(2) SaySomething(pick(seperate)) - -/obj/item/weapon/talkingcrystal/proc/debug() - //set src in view() - for(var/v in words) - world << "[uppertext(v)]" - var/list/d = words["[v]"] - for(var/X in d) - world << "[X]" - -/obj/item/weapon/talkingcrystal/proc/SaySomething(var/word = null) - - var/msg - var/limit = rand(max(5,words.len/2))+3 - var/text - if(!word) - text = "[pick(words)]" - else - text = pick(stringsplit(word, " ")) - if(lentext(text)==1) - text=uppertext(text) - else - var/cap = copytext(text,1,2) - cap = uppertext(cap) - cap += copytext(text,2,lentext(text)+1) - text=cap - var/q = 0 - msg+=text - if(msg=="What" | msg == "Who" | msg == "How" | msg == "Why" | msg == "Are") - q=1 - - text=lowertext(text) - for(var/ya,ya <= limit,ya++) - - if(words.Find("[text]")) - var/list/w = words["[text]"] - text=pick(w) - else - text = "[pick(words)]" - msg+=" [text]" - if(q) - msg+="?" - else - if(rand(0,10)) - msg+="." - else - msg+="!" - - var/list/listening = viewers(src) - for(var/mob/M in world) - if (!M.client) - continue //skip monkeys and leavers - if (istype(M, /mob/new_player)) - continue - if(M.stat == 2 && M.client.ghost_ears) - listening|=M - - for(var/mob/M in listening) - M << "The crystal reverberates, \blue\"[msg]\"" - lastsaid = world.timeofday + rand(300,800) - -/obj/item/weapon/talkingcrystal/process() - if(prob(25) && world.timeofday >= lastsaid && words.len >= 1) - SaySomething() - spawn(100) - process() - - - - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// fossils - -/obj/item/weapon/fossil - name = "Fossil" - icon = 'fossil.dmi' - icon_state = "bone" - desc = "It's a fossil." - -/obj/item/weapon/fossil/base/New() - spawn(0) - var/list/l = list("/obj/item/weapon/fossil/bone"=8,"/obj/item/weapon/fossil/skull"=2, - "/obj/item/weapon/fossil/skull/horned"=2,"/obj/item/weapon/fossil/shell"=1) - var/t = pickweight(l) - new t(src.loc) - del src - -/obj/item/weapon/fossil/bone - name = "Fossilised bone" - icon_state = "bone" - desc = "It's a fossilised bone." - -/obj/item/weapon/fossil/shell - name = "Fossilised shell" - icon_state = "shell" - desc = "It's a fossilised shell." - -/obj/item/weapon/fossil/skull/horned - icon_state = "hskull" - desc = "It's a fossilised, horned skull." - -/obj/item/weapon/fossil/skull - name = "Fossilised skull" - icon_state = "skull" - desc = "It's a fossilised skull." - -/obj/item/weapon/fossil/skull/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W,/obj/item/weapon/fossil/bone)) - var/obj/o = new /obj/skeleton(get_turf(src)) - var/a = new /obj/item/weapon/fossil/bone - var/b = new src.type - o.contents.Add(a) - o.contents.Add(b) - del W - del src - -/obj/skeleton - name = "Incomplete skeleton" - icon = 'fossil.dmi' - icon_state = "uskel" - desc = "Incomplete skeleton." - var/bnum = 1 - var/breq - var/bstate = 0 - -/obj/skeleton/New() - src.breq = rand(6)+3 - src.desc = "An incomplete skeleton, looks like it could use [src.breq-src.bnum] more bones." - -/obj/skeleton/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W,/obj/item/weapon/fossil/bone)) - if(!bstate) - bnum++ - src.contents.Add(new/obj/item/weapon/fossil/bone) - del W - if(bnum==breq) - usr = user - icon_state = "skel" - var/creaturename = input("Input a name for your discovery:","Name your discovery","Spaceosaurus") - src.bstate = 1 - src.density = 1 - src.name = "[creaturename] skeleton" - if(src.contents.Find(/obj/item/weapon/fossil/skull/horned)) - src.desc = "A creature made of [src.contents.len-1] assorted bones and a horned skull, the plaque reads [creaturename]." - else - src.desc = "A creature made of [src.contents.len-1] assorted bones and a skull, the plaque reads [creaturename]." - else - src.desc = "Incomplete skeleton, looks like it could use [src.breq-src.bnum] more bones." - user << "Looks like it could use [src.breq-src.bnum] more bones." - else - ..() - else - ..() +//original code and idea from Alfie275 (luna) and ISaidNo (goon) - with thanks + + + + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// samples + +/obj/item/weapon/rocksliver + name = "rock sliver" + desc = "It looks extremely delicate." + icon = 'mining.dmi' + icon_state = "sliver0" //0-4 + //item_state = "electronic" + var/source_rock = "/turf/simulated/mineral/archaeo" + item_state = "" + var/datum/geosample/geological_data + +/obj/item/weapon/rocksliver/New() + icon_state = "sliver[rand(0,4)]" + + + + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// strange rocks + +/obj/item/weapon/ore/strangerock + var/datum/geosample/geological_data + var/source_rock = "/turf/simulated/mineral" + +/obj/item/weapon/ore/strangerock/New() + ..() + //var/datum/reagents/r = new/datum/reagents(50) + //src.reagents = r + if(rand(3)) + method = 0 // 0 = fire, 1+ = acid + else + method = 0 //currently always fire + // method = 1 //removed due to acid melting strange rocks to gooey grey -Mij + inside = pick(150;"", 50;"/obj/item/weapon/crystal", 25;"/obj/item/weapon/talkingcrystal", "/obj/item/weapon/fossil/base") + +/obj/item/weapon/ore/strangerock/bullet_act(var/obj/item/projectile/P) + +/obj/item/weapon/ore/strangerock/ex_act(var/severity) + src.visible_message("The [src] crumbles away, leaving some dust and gravel behind.") + +/obj/item/weapon/ore/strangerock/attackby(obj/item/weapon/W as obj, mob/user as mob) + + if(istype(W,/obj/item/weapon/weldingtool/)) + var/obj/item/weapon/weldingtool/w = W + if(w.isOn() && (w.get_fuel() > 3)) + if(!src.method) //0 = fire, 1+ = acid + if(inside) + var/obj/A = new src.inside(get_turf(src)) + for(var/mob/M in viewers(world.view, user)) + M.show_message("\blue The rock burns away revealing a [A.name].",1) + else + for(var/mob/M in viewers(world.view, user)) + M.show_message("\blue The rock burns away into nothing.",1) + del src + else + for(var/mob/M in viewers(world.view, user)) + M.show_message("\blue A few sparks fly off the rock, but otherwise nothing else happens.",1) + w.remove_fuel(4) + + else if(istype(W,/obj/item/device/core_sampler/)) + var/obj/item/device/core_sampler/S = W + if(S.filled_bag) + user << "\red The core sampler is full!" + else if(S.num_stored_bags < 1) + user << "\red The core sampler is out of sample bags!" + else + S.filled_bag = new /obj/item/weapon/storage/samplebag(S) + S.icon_state = "sampler1" + + for(var/i=0, i<7, i++) + var/obj/item/weapon/rocksliver/R = new /obj/item/weapon/rocksliver(S.filled_bag) + R.source_rock = src.source_rock + R.geological_data = src.geological_data + user << "\blue You take a core sample of the [src]." + +/*Code does not work, likely due to removal/change of acid_act proc +//Strange rocks currently melt to gooey grey w/ acid application (see reactions) +//will fix when I get a chance to fiddle with it -Mij +/obj/item/weapon/ore/strangerock/acid_act(var/datum/reagent/R) + if(src.method) + if(inside) + var/obj/A = new src.inside(get_turf(src)) + for(var/mob/M in viewers(world.view, get_turf(src))) + M.show_message("\blue The rock fizzes away revealing a [A.name].",1) + else + for(var/mob/M in viewers(world.view, get_turf(src))) + M.show_message("\blue The rock fizzes away into nothing.",1) + del src + else + for(var/mob/M in viewers(world.view, get_turf(src))) + M.show_message("\blue The acid splashes harmlessly off the rock, nothing else interesting happens.",1) + return 1 +*/ + + + + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// crystals + +/obj/item/weapon/crystal + name = "Crystal" + icon = 'mining.dmi' + icon_state = "crystal" + +/obj/item/weapon/crystal/bullet_act(var/obj/item/projectile/P) + if(istype(P,/obj/item/projectile/beam/emitter)) + switch(rand(0,3)) + if(0) + var/obj/item/projectile/beam/emitter/A = new /obj/item/projectile/beam/emitter( src.loc ) + A.dir = 1 + A.yo = 20 + A.xo = 0 + if(0) + var/obj/item/projectile/beam/emitter/A = new /obj/item/projectile/beam/emitter( src.loc ) + A.dir = 2 + A.yo = -20 + A.xo = 0 + if(0) + var/obj/item/projectile/beam/emitter/A = new /obj/item/projectile/beam/emitter( src.loc ) + A.dir = 4 + A.yo = 0 + A.xo = 20 + if(0) + var/obj/item/projectile/beam/emitter/A = new /obj/item/projectile/beam/emitter( src.loc ) + A.dir = 8 + A.yo = 0 + A.xo = -20 + else + ..() + +/obj/item/weapon/talkingcrystal + name = "Crystal" + icon = 'mining.dmi' + icon_state = "crystal2" + var/list/list/words = list() + var/lastsaid + +/obj/item/weapon/talkingcrystal/New() + spawn(100) + process() + +/obj/item/weapon/talkingcrystal/bullet_act(var/obj/item/projectile/P) + if(istype(P,/obj/item/projectile/beam)) + switch(rand(0,3)) + if(0) + var/obj/item/projectile/beam/A = new /obj/item/projectile/beam( src.loc ) + A.dir = pick(alldirs) + A.yo = 20 + A.xo = 0 + if(0) + var/obj/item/projectile/beam/A = new /obj/item/projectile/beam( src.loc ) + A.dir = pick(alldirs) + A.yo = -20 + A.xo = 0 + if(0) + var/obj/item/projectile/beam/A = new /obj/item/projectile/beam( src.loc ) + A.dir = pick(alldirs) + A.yo = 0 + A.xo = 20 + if(0) + var/obj/item/projectile/beam/A = new /obj/item/projectile/beam( src.loc ) + A.dir = pick(alldirs) + A.yo = 0 + A.xo = -20 + var/word = pick("pain","hurt","masochism","sadist","rage","repressed","ouch","evil","void","kill","destroy") + SaySomething(word) + else + ..() + +/obj/item/weapon/talkingcrystal/proc/catchMessage(var/msg, var/mob/source) + var/list/seperate = list() + if(findtext(msg,"((")) + return + else if(findtext(msg,"))")) + return + else if(findtext(msg," ")==0) + return + else + /*var/l = lentext(msg) + if(findtext(msg," ",l,l+1)==0) + msg+=" "*/ + seperate = stringsplit(msg, " ") + + var/addressing_crystal = 0 + if("crystal" in seperate || "gem" in seperate) + addressing_crystal = 1 + + for(var/Xa = 1,Xa 20 + rand(10,20)) + words.Remove(words[1]) + if(!words["[lowertext(seperate[Xa])]"]) + words["[lowertext(seperate[Xa])]"] = list() + var/list/w = words["[lowertext(seperate[Xa])]"] + if(w) + w.Add("[lowertext(seperate[next])]") + //world << "Adding [lowertext(seperate[next])] to [lowertext(seperate[Xa])]" + + for(var/mob/O in viewers(src)) + O.show_message("\blue The crystal hums for bit then stops...", 1) + if(!rand(0, 5 - addressing_crystal * 3)) + spawn(2) SaySomething(pick(seperate)) + +/obj/item/weapon/talkingcrystal/proc/debug() + //set src in view() + for(var/v in words) + world << "[uppertext(v)]" + var/list/d = words["[v]"] + for(var/X in d) + world << "[X]" + +/obj/item/weapon/talkingcrystal/proc/SaySomething(var/word = null) + + var/msg + var/limit = rand(max(5,words.len/2))+3 + var/text + if(!word) + text = "[pick(words)]" + else + text = pick(stringsplit(word, " ")) + if(lentext(text)==1) + text=uppertext(text) + else + var/cap = copytext(text,1,2) + cap = uppertext(cap) + cap += copytext(text,2,lentext(text)+1) + text=cap + var/q = 0 + msg+=text + if(msg=="What" | msg == "Who" | msg == "How" | msg == "Why" | msg == "Are") + q=1 + + text=lowertext(text) + for(var/ya,ya <= limit,ya++) + + if(words.Find("[text]")) + var/list/w = words["[text]"] + text=pick(w) + else + text = "[pick(words)]" + msg+=" [text]" + if(q) + msg+="?" + else + if(rand(0,10)) + msg+="." + else + msg+="!" + + var/list/listening = viewers(src) + for(var/mob/M in world) + if (!M.client) + continue //skip monkeys and leavers + if (istype(M, /mob/new_player)) + continue + if(M.stat == 2 && M.client.ghost_ears) + listening|=M + + for(var/mob/M in listening) + M << "The crystal reverberates, \blue\"[msg]\"" + lastsaid = world.timeofday + rand(300,800) + +/obj/item/weapon/talkingcrystal/process() + if(prob(25) && world.timeofday >= lastsaid && words.len >= 1) + SaySomething() + spawn(100) + process() + + + + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// fossils + +/obj/item/weapon/fossil + name = "Fossil" + icon = 'fossil.dmi' + icon_state = "bone" + desc = "It's a fossil." + +/obj/item/weapon/fossil/base/New() + spawn(0) + var/list/l = list("/obj/item/weapon/fossil/bone"=8,"/obj/item/weapon/fossil/skull"=2, + "/obj/item/weapon/fossil/skull/horned"=2,"/obj/item/weapon/fossil/shell"=1) + var/t = pickweight(l) + new t(src.loc) + del src + +/obj/item/weapon/fossil/bone + name = "Fossilised bone" + icon_state = "bone" + desc = "It's a fossilised bone." + +/obj/item/weapon/fossil/shell + name = "Fossilised shell" + icon_state = "shell" + desc = "It's a fossilised shell." + +/obj/item/weapon/fossil/skull/horned + icon_state = "hskull" + desc = "It's a fossilised, horned skull." + +/obj/item/weapon/fossil/skull + name = "Fossilised skull" + icon_state = "skull" + desc = "It's a fossilised skull." + +/obj/item/weapon/fossil/skull/attackby(obj/item/weapon/W as obj, mob/user as mob) + if(istype(W,/obj/item/weapon/fossil/bone)) + var/obj/o = new /obj/skeleton(get_turf(src)) + var/a = new /obj/item/weapon/fossil/bone + var/b = new src.type + o.contents.Add(a) + o.contents.Add(b) + del W + del src + +/obj/skeleton + name = "Incomplete skeleton" + icon = 'fossil.dmi' + icon_state = "uskel" + desc = "Incomplete skeleton." + var/bnum = 1 + var/breq + var/bstate = 0 + +/obj/skeleton/New() + src.breq = rand(6)+3 + src.desc = "An incomplete skeleton, looks like it could use [src.breq-src.bnum] more bones." + +/obj/skeleton/attackby(obj/item/weapon/W as obj, mob/user as mob) + if(istype(W,/obj/item/weapon/fossil/bone)) + if(!bstate) + bnum++ + src.contents.Add(new/obj/item/weapon/fossil/bone) + del W + if(bnum==breq) + usr = user + icon_state = "skel" + var/creaturename = input("Input a name for your discovery:","Name your discovery","Spaceosaurus") + src.bstate = 1 + src.density = 1 + src.name = "[creaturename] skeleton" + if(src.contents.Find(/obj/item/weapon/fossil/skull/horned)) + src.desc = "A creature made of [src.contents.len-1] assorted bones and a horned skull, the plaque reads [creaturename]." + else + src.desc = "A creature made of [src.contents.len-1] assorted bones and a skull, the plaque reads [creaturename]." + else + src.desc = "Incomplete skeleton, looks like it could use [src.breq-src.bnum] more bones." + user << "Looks like it could use [src.breq-src.bnum] more bones." + else + ..() + else + ..() diff --git a/html/changelog.html b/html/changelog.html index ddbebce66b9..f9a279c7981 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -1,523 +1,533 @@ - - - - Baystation 12 Changelog - - - - - - - -
- - - - -
-
Baystation 12 - A Space Station 13 Server
-

-
Visit our IRC channel: #bs12 on irc.sorcery.net
- Code licensed under GPLv3. Content licensed under CC BY-SA 3.0.

- -By playing to agreed to read and abide by the rules!
- -
-
Baystation 12 Credit List - - - - -
- Code: Abi79, Aryn, Cael_Aislinn, Chinsky, cib, CompactNinja, DopeGhoti, Erthilo, Hawk_v3, Head, Ispil, Lexusjjss, Melonstorm, Miniature, Mloc, SkyMarshal, Spectre, Strumpetplaya, Sunfall, Tastyfish, Uristqwerty
- Sprites: Apple_Master, Arcalane, Chinsky, CompactNinja, Deus Dactyl, Erthilo, Flashkirby, Miniature, Searif, Xenone
- Sounds: Aryn
- Thanks To: /tg/ station, Goonstation, Animus Station, Daedalus, and original Spacestation 13 devs. Skibiliano for the IRC bot. -
- - - - - -
-

October 22nd

-

Cael_Aislinn updated:

- -
- -
-

October 18th

-

CIB updated:

-
    -
  • Added a new type of wound, internal wounds. These should later be treated with surgery, though for now bicardine works.
  • -
  • Appendicitis now has a fourth stage in which the appendix burst and an internal wound is inflicted.
  • -
  • The full body scanner is back.
  • -
-

Chinsky updated:

-
    -
  • Buffed up welder fuel tanks for all your nefarious needs.
  • -
  • Replaced evac hallway lights with less.. party ones.
  • -
-
- -
-

17.10.2012

-

CIB updated:

-
    -
  • Ported limb selection on startup. Note that this may still be bugged, so use at own risk.
  • -
  • You can now select opposite gender hairstyles.
  • -
-

Chinsky updated:

-
    -
  • Fixed arrivals announcment.
  • -
  • Slur will properly fade away with time now.
  • -
  • Anti-alco chem will get rid of slur now.
  • -
  • Throwing metal item at eletrified grilles and doors will cause them to spark.
  • -
  • Added forensics tech jackets.
  • -
  • Ported some hairstyles from pre-merge code.
  • -
-
- -
-

October 13th, 2012

-

Cael_Aislinn updated:

-
    -
  • Moderators are now being loaded correctly, and all broken admin and mod verbs should be functioning correctly. Misc other fixes and improvements.
  • -
-

CIB updated:

-
    -
  • Medical stack items(ointment, bandages) aren't instant anymore, but instead stop bleeding and speed up healing.
  • -
  • Cyborgs can now use :h to use their department channel.
  • -
  • Ported BS12 medbots. This means you now have to load them with a chemical, or otherwise they only have inaprovaline.
  • -
  • Ported the BS12 player info features.
  • -
  • Examine now only reveals whether someone is breathing(need to be 3 tiles away or closer). Check pulse from 1 tile distance.
  • -
  • Ported bleeding. Bleeding can be stopped by applying a bandage.
  • -
  • Small delay for chloral hydrate and sleep toxin to take effect.
  • -
-
- -
-

October 12th, 2012

-

Cael_Aislinn updated:

-
    -
  • Merge current BS12 code with /tg/station's rev4847. Thanks for everyone who's been posting issues and bugs to the PiratePad issue tracker (see also here for general discussion and criticisms).
  • -
  • See https://code.google.com/p/tgstation13/source/list for tg's changelog. This is recommended reading for anyone interested in any changes, be warned there's a lot of them.
  • -
-
- -
-

October 9th, 2012

-

Cael_Aislinn updated:

-
    -
  • The merge code is now stable and playable (diag click only has been fixed, among other things). Hopefully, more playtesting will be taking place over the next few weeks.
  • -
-
- -
-

September 26th, 2012

-

Cael_Aislinn updated:

-
    -
  • Multiple bugfixes and tweaks in response to the testing session a few days ago have been put in place. For more details, see the piratepad tracker (TG also has broken underwear, we're awaiting a fix from them for it).
  • -
-
- -
-

September 24th, 2012

-

Cael_Aislinn updated:

-
    -
  • Engineering depressurisation during the test run was due to the singularity EMPing doors open. This is not a bug.
  • -
-
- -
-

September 23nd, 2012

-

Cael_Aislinn updated:

-
    -
  • The server map has now officially branched to tgstation2.0.9.1.dmm.
  • -
-
- -
-

August 22, 2012

-

Cael_Aislinn updated:

-
    -
  • This server is in the process of running a merge of BS12 and up to date TGcode. This is a significant update, and there will likely be several bugs coming with it. - See https://github.com/Baystation12/Baystation12/pull/1671 for more information.
  • -
  • The server is now running tgstation2.0.9.dmm. The station layout is functionally the same, but with significant additions from tg. Hopefully, the Antiqua will be ready soon.
  • -
  • Please report all bugs immediately, both in OOC and by making an issue at: https://github.com/Baystation12/Baystation12/issues/new
  • -
-
- -
-

15th August 2012

-

Cael_Aislinn updated:

-
    -
  • Readded changeling and traitorchan (traitor + changeling) to secret rounds, lowered probability of cult being chosen during secret rounds.
  • -
-
- -
-

7th August 2012

-

CIB updated:

-
    -
  • Wound descriptions now again are in sync with actual damage.
  • -
  • Bandages no longer are instant, but rather only stop bleeding and speed up the healing process.
  • -
  • Bleeding and regeneration speeds have been balanced, so that now it is possible to bleed out.
  • -
-
- -
-

4 August 2012

-

Cael_Aislinn updated:

-
    -
  • Ghosts and observers can now possess mice and inhabit the station as mortals once more. Be warned, in this form you will be unable to be cloned! (you can, however, jump back into ghost form as you like)
  • -
- -

FireFishie updated:

-
    -
  • Added Flashkirby99's tajaran sprites, but the accompanying hairstyles will have to wait for a tweak to genetics before being usable in-game. Apologies for not logging this change sooner.
  • -
  • By vote, the captain's armor is again space capable and the memo on his desk updated to reflect this.
  • -
  • The Captain now starts wearing matching gloves, jackboots, and a cap. The old Napoleonic hat can still be found in the secure locker.
  • -
  • The Head of Personnel now starts with a clipboard, but without body armor and a helmet. Both items can still be found in the secure locker for emergencies.
  • -
  • Cargo tech and shaft miner wardrobes now include fingerless gloves. Janitor wardrobes now includes a portalathe. Warden wardrobes now includes a jacket.
  • -
  • Medical, security, and tool-belts may now hold any lighter. Medical belts may now hold latex gloves and sterile masks. Security belts may now hold gas masks. Tool-belts may now hold cigarette packs.
  • -
-
- -
-

2 August 2012

-

Cael_Aislinn updated:

-
    -
  • Vermin such as mice and roaches will periodically spawn in maintenance and toilet areas across the station. Cats will hunt the mice, roaches can be stepped on and mousetraps will deal with both.
  • -
-
- -
-

10 July 2012

-

Abi79 updated:

-
    -
  • Removed the stun effect from artifacts.
  • -
  • Fixed the bug where helmets would not turn off when placed into backpacks.
  • -
  • Added more "cancel" buttons to various dialogs.
  • -
- -

CIB updated:

-
    -
  • Fixed the bug where the preview image in the character creation panel was broken.
  • -
  • Fixed the bug where you could only see if a player had no pulse when that player was ghosted or logged off.
  • -
-
- -
-

9 July 2012

-

CIB updated:

-
    -
  • Maintenance shafts are now safe places in the event of a radiation belt. This feature may be temporary until a better solution is found.
  • -
-
- -
-

5 July 2012

-

Cael_Aislinn updated:

-
    -
  • The Mining North Outpost has been repurposed as a research outpost, with a shuttle going back to the research division on the main station. The pneumatic transport chute is still available to transfer ore between this outpost and the mining one.
  • -
  • Shield generators now have circuitboards, and the capacitors should actually rotate now (both still have placeholder sprites though).
  • -
-
- -
-

3 July 2012

-

CIB updated:

-
    -
  • You can now select amputated and robot limbs in the character preferences. Note, though, that amputated limbs don't work properly yet.
  • -
-
+ + + + Baystation 12 Changelog + + + + -
-

29 June 2012

-

Erthilo updated:

-
    -
  • Raises job limits for Botanists, Atmospheric Technicians, Roboticists, Chemists, and Geneticists.
  • -
-
-
-

28 June 2012

-

Chinsky updated:

-
    -
  • 'Rename' function for clipboards
  • -
  • Can add photos to clipboards
  • -
  • Fixed troubles with formatting when reading from clipboard (linebreaks not being properly placed)
  • -
  • Fixed photocopiers not copying photos properly
  • -
-
-
-

27 June 2012

-

Erthilo updated:

-
    -
  • Simple animals (like constructs) can properly emote using the Me verb now.
  • -
  • Body scanners now show a much more detailed readout on patients.
  • -
  • Wizard 'Mind Transfer' spell now requires full wizard garb to work.
  • -
  • Chairs without wheel will no longer move with fire extinguishers. BECAUSE I HATE FUN.
  • -
  • Gauze/kits/ointment now heal wounds instantly again. Gauze and ointment don't work below 50 health, advanced kits don't work below 0. This may be tweaked as necessary in future.
  • -
  • Stepping in pools of blood no longer leaves footprints due to lag issues.
  • -
  • Fixed batons hitting on all non-help intents. It'll now only do it on harm intent.
  • -
  • Fixed tape recorders not recording holopad speech.
  • -
  • Fixed random " on his head" messages in examine.
  • -
  • Fixed surgery, all surgical procedures should work again.
  • -
  • Fixes medical items. Gauze/kits/ointment can now be applied correctly again.
  • -
-
-
-

26 June 2012

-

TG updated:

-
    -
  • Fixed silicon mobs not being able to access newscaster.
  • -
  • Fixed harmbatons on everything other than harm, now it is the opposite way round.
  • -
-
- -
-

25 June 2012

-

Erthilo updated:

-
    -
  • People in critical (less than -50 health) from external trauma (100+ damage from brute and/or burn) bleeding, and with unsplinted limbs, will send a message to anyone trying to drag them, to warn them it would be a bad idea trying to move them. They will suffer a lot more damage if dragged while lying down.
    The correct procedure is therefore, A) Bring a roller bed, or B) Splint all limbs, stop all bleeding with gauze, and then drag them.
  • -
  • Dragging someone while injured (brute) will have a small chance of injuring them further that increases depending on how damaged they are. This coincides with the blood spatters that are already generated.
  • -
  • Added splints that can be applied to broken arms and legs, and will reduce effects of broken limbs. These can be removed the same way as handcuffs. They show up on the mob and on examine.
  • -
  • Added an autoinjector that can only hold five units, but acts like a hypospray.
  • -
  • Added an advanced medical kit that Medical Doctors spawn with that has Advanced Trauma Kits, Advanced Burn Kits, autoinjectors, and splints.
  • -
  • Health Scanners now show unsplinted fractures ONLY in arms or legs.
  • -
  • Blood is now actually lost from the person being dragged.
  • -
  • Fixed CPR being performed at weird health levels.
  • -
-

Watermelon Storm updated:

-
    -
  • Added a medbay (with rolling beds) and a holding cell to the destination of the escape shuttle.
  • -
-

Drieden updated:

-
    -
  • The cargo bay now has a supply depot to store, sort, and dispense raw materials, and print shipping manifests.
  • -
-
- -
-

23 June 2012

-

SkyMarshal updated:

-
    -
  • ZAS now has different thresholds to move mobs and dense objects. A depressurising room at normal pressure will no longer turn lockers deadly.
  • -
  • ZAS now properly rebuilds zones, and connect/merge adjacent zones. This should be the final real bugfix to the system.
  • -
  • I have removed the aspects of the wound system causing the instant healing and, very likely, lag. This will result in wounds healing instantly again, but the computational overhead being significantly less.
  • -
  • The auto-targeting-mode for guns will now provide a different type of flavor text when it makes you fire, to make the situations that it occurs in to be less ambiguous.
  • -
  • UltraLight is in, but has some lighting bugs still remaining. This is the next thing I intend to tackle, bare with it please.
  • -
-

TG updated:

-
    -
  • Updated toilets. You can now crowbar open the cistern and hide stuff in there.
  • -
  • Omni-directional PA console! Never have to worry about rotating it again, because now it does it itself!
  • -
  • Players can fill their cigarettes with various chemicals and smoke them.
  • -
  • You can now click blocks to select them.
  • -
  • Areas have been redefined and renamed to make more logical sense (eg "Arrivals North Maintenance" instead of "Secondary Fore Port Maintenance"). Same has been done with Solars.
  • -
  • Scientists no longer start with gas masks and o2 tanks (Still available from the lockers).
  • -
  • Hydroponics trays are now unwrenchable.
  • -
  • The Experimental Welding Tool, rather than having a larger tank, will refill itself over time.
  • -
  • Borg diamond drills now properly dig sand.
  • -
-
- -
-

22 June 2012

-

Cael_Aislinn updated:

-
    -
  • A research laboratory has been constructed to store and catalogue xeno-archaelogical relics. Savvy anomalists are advised to supervise recovery efforts themselves, as unsubtle miners may damage delicate samples through not using the proper tools.
  • -
-
- -
-

18 June 2012

-

Cael_Aislinn updated:

-
    -
  • A discovery on a nearby asteroid has brought xeno-archaelogists flocking to the NSS Exodus in search of ancient treasures. Miners beware, these artifacts may be helpful or deadly! There is talk of establishing a permanent research position on the station in an attempt to study them (thanks to ISaidNo for original code).
  • -
-
- -
-

16 June 2012

-

Cael_Aislinn updated:

-
    -
  • Recent breakthroughs have brought shield generation technology to the NSS Exodus. External (hull) shield generators and capacitors may now be built, with appropriate circuitboards available from RnD.
  • -
-
- -
-

09 June 2012

-

Erthilo updated:

-
    -
  • Blobs have evolved! Their weaknesses/strengths are now randomised. Experimentation ahoy!
  • -
  • Meteors have been fixed, and will therefore appear again. Meteor mode works too.
  • -
-
- -
-

07 June 2012

-

SkyMarshal updated:

-
    -
  • ZAS now works properly. No perpetually leaking doors, no walls that hold air like a seive.
  • -
  • ZAS airflow is now enabled, and will move objects (AND PEOPLE!) when air moves with enough force. AIRLOCKS ARE NOW DEADLY DANGEROUS!
  • -
  • Packages will now reflect the size of what they contain
  • -
-
- -
-

06 June 2012

-

Erthilo updated:

-
    -
  • Tajaran's are more vulnerable to high temperatures and get hungry faster, but deal well with colder temperatures. Soghun's are more susceptible to cold temperatures, but get hungry much slower.
  • -
  • Skrell update! Adds Skrell as a whitelisted race. They have their own language which can be used by typing :k
  • -
  • Soghun get their own language by typing :o
  • -
  • Skintone and eye colour of most species can now be changed, The preview picture should be a fairly accurate representation of what you'll get in-game.
  • -
  • All valves in atmosperics now start off, instead of having to turn them off, then on again.
  • -
  • Soy sauce recipe change to soymilk + water pending better ideas.
  • -
  • Fixes pAI's universal translator not being universal.
  • -
-
- -
-

04 June 2012

-

TG updated:

-
    -
  • Added "Toggle Open" verb to all closets and crates
  • -
  • Added "Toggle Lock" verb to all lockable closets
  • -
  • Window doors are now breakable. They can still be emagged and hacktooled, and they have fairly high health.
  • -
  • Windoors are now constructable. See here for how to build them: http://baystation12.net/wiki/index.php/Construction#Window-door_.28Windoor.29
  • -
  • Lawyers can now access security records with their PDAs (read-only)
  • -
  • RIG suits have been renamed to hardsuits.
  • -
-

SkyMarshal updated:

-
    -
  • Added the capability for the security PDA to scan items in like the detectives scanner, and for it to be loaded into the database in the same manner.
  • -
-

Erthilo updated:

-
    -
  • You can now only build 2 cleanbots.
  • -
  • Fixed flavour text, it should now be possible to have it longer than 40 characters, and should stay properly formatted.
  • -
  • Fixes AI's not being able to talk through holopads.
  • -
-
- -
-

01 June 2012

-

Erthilo updated:

-
    -
  • Added character records. You can now add medical and security records to your character through Character Setup. These are official NanoTrasen records, and should be written as such. These will show up in-game on the medical and security records computers. Admins can 'jobban' people from records, so use them sensibly!
  • -
  • Added a megaphone to each Head's office. These broadcast messages in slightly larger font so you can be noticed. Please don't spam them.
  • -
  • Added Flashkirby's ERT suit sprites. Also tweaked ERT's loadout.
  • -
-
- -
-

29 May 2012

-

Aryn updated:

-
    -
  • Airflow works on a room-by-room basis rather than on individual tiles. Rooms will depressurize much faster than they did, though not too fast for balance reasons.
  • -
  • Fire now works on a logarithmic scale based on oxygen and fuel content. This is a far more complex tweak under the hood than it is in game.
  • -
  • Plasma now has increased toxicity and can burn exposed skin and eyes. In addition, because of the new air, it fills the room instantaneously. Try not to spill any.
  • -
-
- -
-

28 May 2012

-

Erthilo updated:

-
    -
  • Surgeons spawn with scrubs, Emergency Physicians spawn with first responder jackets.
  • -
  • Added water bottles to cola vending machines.
  • -
  • More HUD changes: https://dl.dropbox.com/u/4911517/ShareX/2012-05/2012-05-28_20-40-50.png
  • -
-
- -
-

27 May 2012

-

Abi79 updated:

-
    -
  • Money withdrawn from the ATM will now be worth the proper value.
  • -
-

Erthilo updated:

-
    -
  • Fixed PDA light not turning off when exploded by a detomax.
  • -
  • Fixes food not disappearing from hands when finished.
  • -
  • Fixed the bug where traitors would get an empty objectives list. Credit: thvortex.
  • -
  • New portalathe sprite, thanks to dezzmont and Furlucis.
  • -
-
- -
-

26 May 2012

-

Erthilo updated:

-
    -
  • Added Flashkirby's RIG and cow sprites!
  • -
  • Removed and added some new AI Ion laws, credit: Ispil.
  • -
- -

Abi79 updated:

-
    -
  • Everyone should now be able to see the properly formatted changelog.
  • -
-
- - - - -/tg/ station 13 Development Team - - - - -
- Coders: TLE, NEO, Errorage, muskets, veryinky, Skie, Noise, Numbers, Agouri, Noka, Urist McDorf, Uhangi, Darem, Mport, rastaf0, Doohl, Superxpdude, Rockdtben, ConstantA, Petethegoat, Kor, Polymorph, Carn, Nodrak, Donkie
- Spriters: Agouri, Cheridan, Cruazy Guest, Deeaych, Deuryn, Matty406, Microwave, ShiftyEyesShady, Skie, Uhangi, Veyveyr, Petethegoat, Kor, Ricotez, Ausops, TankNut
- Sounds: Skie, Lasty/Vinyl
- Thanks to: CDK Station devs, GoonStation devs, the original SpaceStation developers and Invisty for the title image -
- -Daedalus Development Team - - - - -
- Coders: DopeGhoti, Sunfall, ThVortex
- Artwork: Captain Hammer
- Spriters: ((TODO.))
- Sounds: Peter J, due, Erik Satie
- Thanks to: All the dev teams that came before: BS12, /tg/station13, the Goons, and the original SS13 folks.
-
- -GoonStation 13 Development Team -
- Coders: Stuntwaffle, Showtime, Pantaloons, Nannek, Keelin, Exadv1, hobnob, Justicefries, 0staf, sniperchance, AngriestIBM, BrianOBlivion
- Spriters: Supernorn, Haruhi, Stuntwaffle, Pantaloons, Rho, SynthOrange, I Said No
-
-

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Rights are currently extended to SomethingAwful Goons only.

-

Some icons by Yusuke Kamiyamane. All rights reserved. Licensed under a Creative Commons Attribution 3.0 License.

-
- - + + +
+ + + + +
+
Baystation 12 - A Space Station 13 Server
+

+
Visit our IRC channel: #bs12 on irc.sorcery.net
+ Code licensed under GPLv3. Content licensed under CC BY-SA 3.0.

+ +By playing to agreed to read and abide by the rules!
+ +
+
Baystation 12 Credit List + + + + +
+ Code: Abi79, Aryn, Cael_Aislinn, Chinsky, cib, CompactNinja, DopeGhoti, Erthilo, Hawk_v3, Head, Ispil, Lexusjjss, Melonstorm, Miniature, Mloc, SkyMarshal, Spectre, Strumpetplaya, Sunfall, Tastyfish, Uristqwerty
+ Sprites: Apple_Master, Arcalane, Chinsky, CompactNinja, Deus Dactyl, Erthilo, Flashkirby, Miniature, Searif, Xenone
+ Sounds: Aryn
+ Thanks To: /tg/ station, Goonstation, Animus Station, Daedalus, and original Spacestation 13 devs. Skibiliano for the IRC bot. +
+ + + + + +
+

October 24th

+

Mij updated:

+
    +
  • Get ready for some xenoarch love! Re-added artifact and strange rock spawning at world gen.
  • +
  • Strange rocks react to fire only now, until I can hammer out how acid works. Technically acid does do something to them.... ;)
  • +
  • Re-added a number of mining/xenoarch related icons. Changed ore boxes to look prettier, like they used to.
  • +
+
+ +
+

October 22nd

+

Cael_Aislinn updated:

+ +
+ +
+

October 18th

+

CIB updated:

+
    +
  • Added a new type of wound, internal wounds. These should later be treated with surgery, though for now bicardine works.
  • +
  • Appendicitis now has a fourth stage in which the appendix burst and an internal wound is inflicted.
  • +
  • The full body scanner is back.
  • +
+

Chinsky updated:

+
    +
  • Buffed up welder fuel tanks for all your nefarious needs.
  • +
  • Replaced evac hallway lights with less.. party ones.
  • +
+
+ +
+

17.10.2012

+

CIB updated:

+
    +
  • Ported limb selection on startup. Note that this may still be bugged, so use at own risk.
  • +
  • You can now select opposite gender hairstyles.
  • +
+

Chinsky updated:

+
    +
  • Fixed arrivals announcment.
  • +
  • Slur will properly fade away with time now.
  • +
  • Anti-alco chem will get rid of slur now.
  • +
  • Throwing metal item at eletrified grilles and doors will cause them to spark.
  • +
  • Added forensics tech jackets.
  • +
  • Ported some hairstyles from pre-merge code.
  • +
+
+ +
+

October 13th, 2012

+

Cael_Aislinn updated:

+
    +
  • Moderators are now being loaded correctly, and all broken admin and mod verbs should be functioning correctly. Misc other fixes and improvements.
  • +
+

CIB updated:

+
    +
  • Medical stack items(ointment, bandages) aren't instant anymore, but instead stop bleeding and speed up healing.
  • +
  • Cyborgs can now use :h to use their department channel.
  • +
  • Ported BS12 medbots. This means you now have to load them with a chemical, or otherwise they only have inaprovaline.
  • +
  • Ported the BS12 player info features.
  • +
  • Examine now only reveals whether someone is breathing(need to be 3 tiles away or closer). Check pulse from 1 tile distance.
  • +
  • Ported bleeding. Bleeding can be stopped by applying a bandage.
  • +
  • Small delay for chloral hydrate and sleep toxin to take effect.
  • +
+
+ +
+

October 12th, 2012

+

Cael_Aislinn updated:

+
    +
  • Merge current BS12 code with /tg/station's rev4847. Thanks for everyone who's been posting issues and bugs to the PiratePad issue tracker (see also here for general discussion and criticisms).
  • +
  • See https://code.google.com/p/tgstation13/source/list for tg's changelog. This is recommended reading for anyone interested in any changes, be warned there's a lot of them.
  • +
+
+ +
+

October 9th, 2012

+

Cael_Aislinn updated:

+
    +
  • The merge code is now stable and playable (diag click only has been fixed, among other things). Hopefully, more playtesting will be taking place over the next few weeks.
  • +
+
+ +
+

September 26th, 2012

+

Cael_Aislinn updated:

+
    +
  • Multiple bugfixes and tweaks in response to the testing session a few days ago have been put in place. For more details, see the piratepad tracker (TG also has broken underwear, we're awaiting a fix from them for it).
  • +
+
+ +
+

September 24th, 2012

+

Cael_Aislinn updated:

+
    +
  • Engineering depressurisation during the test run was due to the singularity EMPing doors open. This is not a bug.
  • +
+
+ +
+

September 23nd, 2012

+

Cael_Aislinn updated:

+
    +
  • The server map has now officially branched to tgstation2.0.9.1.dmm.
  • +
+
+ +
+

August 22, 2012

+

Cael_Aislinn updated:

+
    +
  • This server is in the process of running a merge of BS12 and up to date TGcode. This is a significant update, and there will likely be several bugs coming with it. + See https://github.com/Baystation12/Baystation12/pull/1671 for more information.
  • +
  • The server is now running tgstation2.0.9.dmm. The station layout is functionally the same, but with significant additions from tg. Hopefully, the Antiqua will be ready soon.
  • +
  • Please report all bugs immediately, both in OOC and by making an issue at: https://github.com/Baystation12/Baystation12/issues/new
  • +
+
+ +
+

15th August 2012

+

Cael_Aislinn updated:

+
    +
  • Readded changeling and traitorchan (traitor + changeling) to secret rounds, lowered probability of cult being chosen during secret rounds.
  • +
+
+ +
+

7th August 2012

+

CIB updated:

+
    +
  • Wound descriptions now again are in sync with actual damage.
  • +
  • Bandages no longer are instant, but rather only stop bleeding and speed up the healing process.
  • +
  • Bleeding and regeneration speeds have been balanced, so that now it is possible to bleed out.
  • +
+
+ +
+

4 August 2012

+

Cael_Aislinn updated:

+
    +
  • Ghosts and observers can now possess mice and inhabit the station as mortals once more. Be warned, in this form you will be unable to be cloned! (you can, however, jump back into ghost form as you like)
  • +
+ +

FireFishie updated:

+
    +
  • Added Flashkirby99's tajaran sprites, but the accompanying hairstyles will have to wait for a tweak to genetics before being usable in-game. Apologies for not logging this change sooner.
  • +
  • By vote, the captain's armor is again space capable and the memo on his desk updated to reflect this.
  • +
  • The Captain now starts wearing matching gloves, jackboots, and a cap. The old Napoleonic hat can still be found in the secure locker.
  • +
  • The Head of Personnel now starts with a clipboard, but without body armor and a helmet. Both items can still be found in the secure locker for emergencies.
  • +
  • Cargo tech and shaft miner wardrobes now include fingerless gloves. Janitor wardrobes now includes a portalathe. Warden wardrobes now includes a jacket.
  • +
  • Medical, security, and tool-belts may now hold any lighter. Medical belts may now hold latex gloves and sterile masks. Security belts may now hold gas masks. Tool-belts may now hold cigarette packs.
  • +
+
+ +
+

2 August 2012

+

Cael_Aislinn updated:

+
    +
  • Vermin such as mice and roaches will periodically spawn in maintenance and toilet areas across the station. Cats will hunt the mice, roaches can be stepped on and mousetraps will deal with both.
  • +
+
+ +
+

10 July 2012

+

Abi79 updated:

+
    +
  • Removed the stun effect from artifacts.
  • +
  • Fixed the bug where helmets would not turn off when placed into backpacks.
  • +
  • Added more "cancel" buttons to various dialogs.
  • +
+ +

CIB updated:

+
    +
  • Fixed the bug where the preview image in the character creation panel was broken.
  • +
  • Fixed the bug where you could only see if a player had no pulse when that player was ghosted or logged off.
  • +
+
+ +
+

9 July 2012

+

CIB updated:

+
    +
  • Maintenance shafts are now safe places in the event of a radiation belt. This feature may be temporary until a better solution is found.
  • +
+
+ +
+

5 July 2012

+

Cael_Aislinn updated:

+
    +
  • The Mining North Outpost has been repurposed as a research outpost, with a shuttle going back to the research division on the main station. The pneumatic transport chute is still available to transfer ore between this outpost and the mining one.
  • +
  • Shield generators now have circuitboards, and the capacitors should actually rotate now (both still have placeholder sprites though).
  • +
+
+ +
+

3 July 2012

+

CIB updated:

+
    +
  • You can now select amputated and robot limbs in the character preferences. Note, though, that amputated limbs don't work properly yet.
  • +
+
+ +
+

29 June 2012

+

Erthilo updated:

+
    +
  • Raises job limits for Botanists, Atmospheric Technicians, Roboticists, Chemists, and Geneticists.
  • +
+
+
+

28 June 2012

+

Chinsky updated:

+
    +
  • 'Rename' function for clipboards
  • +
  • Can add photos to clipboards
  • +
  • Fixed troubles with formatting when reading from clipboard (linebreaks not being properly placed)
  • +
  • Fixed photocopiers not copying photos properly
  • +
+
+
+

27 June 2012

+

Erthilo updated:

+
    +
  • Simple animals (like constructs) can properly emote using the Me verb now.
  • +
  • Body scanners now show a much more detailed readout on patients.
  • +
  • Wizard 'Mind Transfer' spell now requires full wizard garb to work.
  • +
  • Chairs without wheel will no longer move with fire extinguishers. BECAUSE I HATE FUN.
  • +
  • Gauze/kits/ointment now heal wounds instantly again. Gauze and ointment don't work below 50 health, advanced kits don't work below 0. This may be tweaked as necessary in future.
  • +
  • Stepping in pools of blood no longer leaves footprints due to lag issues.
  • +
  • Fixed batons hitting on all non-help intents. It'll now only do it on harm intent.
  • +
  • Fixed tape recorders not recording holopad speech.
  • +
  • Fixed random " on his head" messages in examine.
  • +
  • Fixed surgery, all surgical procedures should work again.
  • +
  • Fixes medical items. Gauze/kits/ointment can now be applied correctly again.
  • +
+
+
+

26 June 2012

+

TG updated:

+
    +
  • Fixed silicon mobs not being able to access newscaster.
  • +
  • Fixed harmbatons on everything other than harm, now it is the opposite way round.
  • +
+
+ +
+

25 June 2012

+

Erthilo updated:

+
    +
  • People in critical (less than -50 health) from external trauma (100+ damage from brute and/or burn) bleeding, and with unsplinted limbs, will send a message to anyone trying to drag them, to warn them it would be a bad idea trying to move them. They will suffer a lot more damage if dragged while lying down.
    The correct procedure is therefore, A) Bring a roller bed, or B) Splint all limbs, stop all bleeding with gauze, and then drag them.
  • +
  • Dragging someone while injured (brute) will have a small chance of injuring them further that increases depending on how damaged they are. This coincides with the blood spatters that are already generated.
  • +
  • Added splints that can be applied to broken arms and legs, and will reduce effects of broken limbs. These can be removed the same way as handcuffs. They show up on the mob and on examine.
  • +
  • Added an autoinjector that can only hold five units, but acts like a hypospray.
  • +
  • Added an advanced medical kit that Medical Doctors spawn with that has Advanced Trauma Kits, Advanced Burn Kits, autoinjectors, and splints.
  • +
  • Health Scanners now show unsplinted fractures ONLY in arms or legs.
  • +
  • Blood is now actually lost from the person being dragged.
  • +
  • Fixed CPR being performed at weird health levels.
  • +
+

Watermelon Storm updated:

+
    +
  • Added a medbay (with rolling beds) and a holding cell to the destination of the escape shuttle.
  • +
+

Drieden updated:

+
    +
  • The cargo bay now has a supply depot to store, sort, and dispense raw materials, and print shipping manifests.
  • +
+
+ +
+

23 June 2012

+

SkyMarshal updated:

+
    +
  • ZAS now has different thresholds to move mobs and dense objects. A depressurising room at normal pressure will no longer turn lockers deadly.
  • +
  • ZAS now properly rebuilds zones, and connect/merge adjacent zones. This should be the final real bugfix to the system.
  • +
  • I have removed the aspects of the wound system causing the instant healing and, very likely, lag. This will result in wounds healing instantly again, but the computational overhead being significantly less.
  • +
  • The auto-targeting-mode for guns will now provide a different type of flavor text when it makes you fire, to make the situations that it occurs in to be less ambiguous.
  • +
  • UltraLight is in, but has some lighting bugs still remaining. This is the next thing I intend to tackle, bare with it please.
  • +
+

TG updated:

+
    +
  • Updated toilets. You can now crowbar open the cistern and hide stuff in there.
  • +
  • Omni-directional PA console! Never have to worry about rotating it again, because now it does it itself!
  • +
  • Players can fill their cigarettes with various chemicals and smoke them.
  • +
  • You can now click blocks to select them.
  • +
  • Areas have been redefined and renamed to make more logical sense (eg "Arrivals North Maintenance" instead of "Secondary Fore Port Maintenance"). Same has been done with Solars.
  • +
  • Scientists no longer start with gas masks and o2 tanks (Still available from the lockers).
  • +
  • Hydroponics trays are now unwrenchable.
  • +
  • The Experimental Welding Tool, rather than having a larger tank, will refill itself over time.
  • +
  • Borg diamond drills now properly dig sand.
  • +
+
+ +
+

22 June 2012

+

Cael_Aislinn updated:

+
    +
  • A research laboratory has been constructed to store and catalogue xeno-archaelogical relics. Savvy anomalists are advised to supervise recovery efforts themselves, as unsubtle miners may damage delicate samples through not using the proper tools.
  • +
+
+ +
+

18 June 2012

+

Cael_Aislinn updated:

+
    +
  • A discovery on a nearby asteroid has brought xeno-archaelogists flocking to the NSS Exodus in search of ancient treasures. Miners beware, these artifacts may be helpful or deadly! There is talk of establishing a permanent research position on the station in an attempt to study them (thanks to ISaidNo for original code).
  • +
+
+ +
+

16 June 2012

+

Cael_Aislinn updated:

+
    +
  • Recent breakthroughs have brought shield generation technology to the NSS Exodus. External (hull) shield generators and capacitors may now be built, with appropriate circuitboards available from RnD.
  • +
+
+ +
+

09 June 2012

+

Erthilo updated:

+
    +
  • Blobs have evolved! Their weaknesses/strengths are now randomised. Experimentation ahoy!
  • +
  • Meteors have been fixed, and will therefore appear again. Meteor mode works too.
  • +
+
+ +
+

07 June 2012

+

SkyMarshal updated:

+
    +
  • ZAS now works properly. No perpetually leaking doors, no walls that hold air like a seive.
  • +
  • ZAS airflow is now enabled, and will move objects (AND PEOPLE!) when air moves with enough force. AIRLOCKS ARE NOW DEADLY DANGEROUS!
  • +
  • Packages will now reflect the size of what they contain
  • +
+
+ +
+

06 June 2012

+

Erthilo updated:

+
    +
  • Tajaran's are more vulnerable to high temperatures and get hungry faster, but deal well with colder temperatures. Soghun's are more susceptible to cold temperatures, but get hungry much slower.
  • +
  • Skrell update! Adds Skrell as a whitelisted race. They have their own language which can be used by typing :k
  • +
  • Soghun get their own language by typing :o
  • +
  • Skintone and eye colour of most species can now be changed, The preview picture should be a fairly accurate representation of what you'll get in-game.
  • +
  • All valves in atmosperics now start off, instead of having to turn them off, then on again.
  • +
  • Soy sauce recipe change to soymilk + water pending better ideas.
  • +
  • Fixes pAI's universal translator not being universal.
  • +
+
+ +
+

04 June 2012

+

TG updated:

+
    +
  • Added "Toggle Open" verb to all closets and crates
  • +
  • Added "Toggle Lock" verb to all lockable closets
  • +
  • Window doors are now breakable. They can still be emagged and hacktooled, and they have fairly high health.
  • +
  • Windoors are now constructable. See here for how to build them: http://baystation12.net/wiki/index.php/Construction#Window-door_.28Windoor.29
  • +
  • Lawyers can now access security records with their PDAs (read-only)
  • +
  • RIG suits have been renamed to hardsuits.
  • +
+

SkyMarshal updated:

+
    +
  • Added the capability for the security PDA to scan items in like the detectives scanner, and for it to be loaded into the database in the same manner.
  • +
+

Erthilo updated:

+
    +
  • You can now only build 2 cleanbots.
  • +
  • Fixed flavour text, it should now be possible to have it longer than 40 characters, and should stay properly formatted.
  • +
  • Fixes AI's not being able to talk through holopads.
  • +
+
+ +
+

01 June 2012

+

Erthilo updated:

+
    +
  • Added character records. You can now add medical and security records to your character through Character Setup. These are official NanoTrasen records, and should be written as such. These will show up in-game on the medical and security records computers. Admins can 'jobban' people from records, so use them sensibly!
  • +
  • Added a megaphone to each Head's office. These broadcast messages in slightly larger font so you can be noticed. Please don't spam them.
  • +
  • Added Flashkirby's ERT suit sprites. Also tweaked ERT's loadout.
  • +
+
+ +
+

29 May 2012

+

Aryn updated:

+
    +
  • Airflow works on a room-by-room basis rather than on individual tiles. Rooms will depressurize much faster than they did, though not too fast for balance reasons.
  • +
  • Fire now works on a logarithmic scale based on oxygen and fuel content. This is a far more complex tweak under the hood than it is in game.
  • +
  • Plasma now has increased toxicity and can burn exposed skin and eyes. In addition, because of the new air, it fills the room instantaneously. Try not to spill any.
  • +
+
+ +
+

28 May 2012

+

Erthilo updated:

+
    +
  • Surgeons spawn with scrubs, Emergency Physicians spawn with first responder jackets.
  • +
  • Added water bottles to cola vending machines.
  • +
  • More HUD changes: https://dl.dropbox.com/u/4911517/ShareX/2012-05/2012-05-28_20-40-50.png
  • +
+
+ +
+

27 May 2012

+

Abi79 updated:

+
    +
  • Money withdrawn from the ATM will now be worth the proper value.
  • +
+

Erthilo updated:

+
    +
  • Fixed PDA light not turning off when exploded by a detomax.
  • +
  • Fixes food not disappearing from hands when finished.
  • +
  • Fixed the bug where traitors would get an empty objectives list. Credit: thvortex.
  • +
  • New portalathe sprite, thanks to dezzmont and Furlucis.
  • +
+
+ +
+

26 May 2012

+

Erthilo updated:

+
    +
  • Added Flashkirby's RIG and cow sprites!
  • +
  • Removed and added some new AI Ion laws, credit: Ispil.
  • +
+ +

Abi79 updated:

+
    +
  • Everyone should now be able to see the properly formatted changelog.
  • +
+
+ + + + +/tg/ station 13 Development Team + + + + +
+ Coders: TLE, NEO, Errorage, muskets, veryinky, Skie, Noise, Numbers, Agouri, Noka, Urist McDorf, Uhangi, Darem, Mport, rastaf0, Doohl, Superxpdude, Rockdtben, ConstantA, Petethegoat, Kor, Polymorph, Carn, Nodrak, Donkie
+ Spriters: Agouri, Cheridan, Cruazy Guest, Deeaych, Deuryn, Matty406, Microwave, ShiftyEyesShady, Skie, Uhangi, Veyveyr, Petethegoat, Kor, Ricotez, Ausops, TankNut
+ Sounds: Skie, Lasty/Vinyl
+ Thanks to: CDK Station devs, GoonStation devs, the original SpaceStation developers and Invisty for the title image +
+ +Daedalus Development Team + + + + +
+ Coders: DopeGhoti, Sunfall, ThVortex
+ Artwork: Captain Hammer
+ Spriters: ((TODO.))
+ Sounds: Peter J, due, Erik Satie
+ Thanks to: All the dev teams that came before: BS12, /tg/station13, the Goons, and the original SS13 folks.
+
+ +GoonStation 13 Development Team +
+ Coders: Stuntwaffle, Showtime, Pantaloons, Nannek, Keelin, Exadv1, hobnob, Justicefries, 0staf, sniperchance, AngriestIBM, BrianOBlivion
+ Spriters: Supernorn, Haruhi, Stuntwaffle, Pantaloons, Rho, SynthOrange, I Said No
+
+

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Rights are currently extended to SomethingAwful Goons only.

+

Some icons by Yusuke Kamiyamane. All rights reserved. Licensed under a Creative Commons Attribution 3.0 License.

+
+ + diff --git a/icons/obj/mining.dmi b/icons/obj/mining.dmi index a24a2a6d3c8d8178b18bc0191cad15c29e2e305b..c6293f649269ac776fe41cd8f30078ac8847a30d 100644 GIT binary patch delta 21997 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 delta 17609 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 diff --git a/icons/turf/walls.dmi b/icons/turf/walls.dmi index d206bf0e46ffc6fbd19128ecd1be9f0494744481..3219b4aabdaf360c20e5134cce3629e128f5775d 100644 GIT binary patch delta 17821 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 delta 15721 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