diff --git a/code/defines/mob/living/silicon/robot.dm b/code/defines/mob/living/silicon/robot.dm index f288e30c02d..c65ae490386 100644 --- a/code/defines/mob/living/silicon/robot.dm +++ b/code/defines/mob/living/silicon/robot.dm @@ -56,4 +56,7 @@ var/speed = 0 //Cause sec borgs gotta go fast //No they dont! var/scrambledcodes = 0 // Used to determine if a borg shows up on the robotics console. Setting to one hides them. var/channels = list() - var/modlock = 0 \ No newline at end of file + var/modlock = 0 + + var/lawcheck[1] //For stating laws! + var/ioncheck[1] \ No newline at end of file diff --git a/code/defines/obj/storage.dm b/code/defines/obj/storage.dm index 67459f8f934..a6f20a1ba69 100644 --- a/code/defines/obj/storage.dm +++ b/code/defines/obj/storage.dm @@ -657,3 +657,8 @@ name = "security satchel" desc = "A robust satchel for security related needs." icon_state = "satchel-sec" + +/obj/item/weapon/storage/backpack/satchel_hyd + name = "hydroponics satchel" + desc = "A green satchel for plant related work." + icon_state = "satchel_hyd" diff --git a/code/game/jobs/job/civilian.dm b/code/game/jobs/job/civilian.dm index aa294a16ce5..8e2e98b362b 100644 --- a/code/game/jobs/job/civilian.dm +++ b/code/game/jobs/job/civilian.dm @@ -71,6 +71,9 @@ equip(var/mob/living/carbon/human/H) if(!H) return 0 + if(H.backbag == 2) H.equip_if_possible(new /obj/item/weapon/storage/backpack(H), H.slot_back) + if(H.backbag == 3) H.equip_if_possible(new /obj/item/weapon/storage/backpack/satchel(H), H.slot_back) + if(H.backbag == 4) H.equip_if_possible(new /obj/item/weapon/storage/backpack/satchel_hyd(H), H.slot_back) H.equip_if_possible(new /obj/item/clothing/under/rank/hydroponics(H), H.slot_w_uniform) H.equip_if_possible(new /obj/item/clothing/shoes/black(H), H.slot_shoes) H.equip_if_possible(new /obj/item/clothing/gloves/botanic_leather(H), H.slot_gloves) diff --git a/code/game/machinery/computer/medical.dm b/code/game/machinery/computer/medical.dm index c7035736f6d..56b5e8c1af5 100644 --- a/code/game/machinery/computer/medical.dm +++ b/code/game/machinery/computer/medical.dm @@ -481,7 +481,7 @@ var/counter = 1 while(src.active2.fields[text("com_[]", counter)]) counter++ - src.active2.fields[text("com_[]", counter)] = text("Made by [] ([]) on [], 2053
[]", src.authenticated, src.rank, time2text(world.realtime, "DDD MMM DD hh:mm:ss"), t1) + src.active2.fields[text("com_[]", counter)] = text("Made by [] ([]) on [], 2556
[]", src.authenticated, src.rank, time2text(world.realtime, "DDD MMM DD hh:mm:ss"), t1) if (href_list["del_c"]) if ((istype(src.active2, /datum/data/record) && src.active2.fields[text("com_[]", href_list["del_c"])])) diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm index 479e8edf240..7cc8685c261 100644 --- a/code/game/machinery/computer/security.dm +++ b/code/game/machinery/computer/security.dm @@ -328,7 +328,7 @@ What a mess.*/ var/counter = 1 while(active2.fields[text("com_[]", counter)]) counter++ - active2.fields[text("com_[]", counter)] = text("Made by [] ([]) on [], 2053
[]", authenticated, rank, time2text(world.realtime, "DDD MMM DD hh:mm:ss"), t1) + active2.fields[text("com_[]", counter)] = text("Made by [] ([]) on [], 2556
[]", authenticated, rank, time2text(world.realtime, "DDD MMM DD hh:mm:ss"), t1) if ("Delete Record (ALL)") if (active1) diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm index b516adc80ce..09a5e9e2523 100644 --- a/code/modules/customitems/item_defines.dm +++ b/code/modules/customitems/item_defines.dm @@ -67,6 +67,14 @@ item_state = "jumpsuitdown" color = "jumpsuitdown" +/obj/item/clothing/under/fluff/olddressuniform + name = "retired dress uniform" + desc = "A retired Station Head of Staff uniform, phased out twenty years ago for the newer jumpsuit design, but still acceptable dress. Lovingly maintained." + icon = 'custom_items.dmi' + icon_state = "olddressuniform" + item_state = "olddressuniform" + color = "olddressuniform" + //////////// Useable Items /obj/item/weapon/pen/fluff/multi @@ -101,6 +109,13 @@ icon = 'custom_items.dmi' icon_state = "maye_daye_1" +/obj/item/weapon/reagent_containers/food/drinks/flask/fluff/johann_erzatz_1 + name = "vintage thermos" + desc = "An older thermos with a faint shine." + icon = 'custom_items.dmi' + icon_state = "johann_erzatz_1" + volume = 50 + //////////// Misc Items /obj/item/fluff/wes_solari_1 diff --git a/code/modules/mob/living/silicon/robot/laws.dm b/code/modules/mob/living/silicon/robot/laws.dm index e7f4904ede4..5afa42ee14b 100644 --- a/code/modules/mob/living/silicon/robot/laws.dm +++ b/code/modules/mob/living/silicon/robot/laws.dm @@ -93,4 +93,97 @@ /mob/living/silicon/robot/proc/clear_ion_laws() laws_sanity_check() - laws.clear_ion_laws() \ No newline at end of file + laws.clear_ion_laws() + +/mob/living/silicon/robot/proc/statelaws() // -- TLE +// set category = "AI Commands" +// set name = "State Laws" + src.say("Current Active Laws:") + //src.laws_sanity_check() + //src.laws.show_laws(world) + var/number = 1 + sleep(10) + + + + if (src.laws.zeroth) + if (src.lawcheck[1] == "Yes") //This line and the similar lines below make sure you don't state a law unless you want to. --NeoFite + src.say("0. [src.laws.zeroth]") + sleep(10) + + for (var/index = 1, index <= src.laws.ion.len, index++) + var/law = src.laws.ion[index] + var/num = ionnum() + if (length(law) > 0) + if (src.ioncheck[index] == "Yes") + src.say("[num]. [law]") + sleep(10) + + for (var/index = 1, index <= src.laws.inherent.len, index++) + var/law = src.laws.inherent[index] + + if (length(law) > 0) + if (src.lawcheck[index+1] == "Yes") + src.say("[number]. [law]") + sleep(10) + number++ + + + for (var/index = 1, index <= src.laws.supplied.len, index++) + var/law = src.laws.supplied[index] + + if (length(law) > 0) + if(src.lawcheck.len >= number+1) + if (src.lawcheck[number+1] == "Yes") + src.say("[number]. [law]") + sleep(10) + number++ + + +/mob/living/silicon/robot/verb/checklaws() //Gives you a link-driven interface for deciding what laws the statelaws() proc will share with the crew. --NeoFite + set category = "Robot Commands" + set name = "State Laws" + + var/list = "Which laws do you want to include when stating them for the crew?

" + + + + if (src.laws.zeroth) + if (!src.lawcheck[1]) + src.lawcheck[1] = "No" //Given Law 0's usual nature, it defaults to NOT getting reported. --NeoFite + list += {"[src.lawcheck[1]] 0: [src.laws.zeroth]
"} + + for (var/index = 1, index <= src.laws.ion.len, index++) + var/law = src.laws.ion[index] + + if (length(law) > 0) + + + if (!src.ioncheck[index]) + src.ioncheck[index] = "Yes" + list += {"[src.ioncheck[index]] [ionnum()]: [law]
"} + src.ioncheck.len += 1 + + var/number = 1 + for (var/index = 1, index <= src.laws.inherent.len, index++) + var/law = src.laws.inherent[index] + + if (length(law) > 0) + src.lawcheck.len += 1 + + if (!src.lawcheck[number+1]) + src.lawcheck[number+1] = "Yes" + list += {"[src.lawcheck[number+1]] [number]: [law]
"} + number++ + + for (var/index = 1, index <= src.laws.supplied.len, index++) + var/law = src.laws.supplied[index] + if (length(law) > 0) + src.lawcheck.len += 1 + if (!src.lawcheck[number+1]) + src.lawcheck[number+1] = "Yes" + list += {"[src.lawcheck[number+1]] [number]: [law]
"} + number++ + list += {"

State Laws"} + + usr << browse(list, "window=laws") \ No newline at end of file diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index be090aaa13f..13a2c20ded1 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -207,6 +207,20 @@ viewalerts = 1 src << browse(dat, "window=robotalerts&can_close=0") +/mob/living/silicon/robot/proc/ai_roster() + set category = "Robot Commands" + set name = "Show Crew Manifest" + + var/dat = "Crew RosterCrew Roster:

" + + for (var/datum/data/record/t in data_core.general) + dat += "[t.fields["name"]] - [t.fields["rank"]]
" + + dat += "" + + src << browse(dat, "window=airoster") + onclose(src, "airoster") + /mob/living/silicon/robot/blob_act() if (stat != 2) adjustBruteLoss(60) @@ -937,6 +951,26 @@ else src << "Module isn't activated" installed_modules() + + if (href_list["lawc"]) // Toggling whether or not a law gets stated by the State Laws verb --NeoFite + var/L = text2num(href_list["lawc"]) + switch(lawcheck[L+1]) + if ("Yes") lawcheck[L+1] = "No" + if ("No") lawcheck[L+1] = "Yes" +// src << text ("Switching Law [L]'s report status to []", lawcheck[L+1]) + checklaws() + + if (href_list["lawi"]) // Toggling whether or not a law gets stated by the State Laws verb --NeoFite + var/L = text2num(href_list["lawi"]) + switch(ioncheck[L]) + if ("Yes") ioncheck[L] = "No" + if ("No") ioncheck[L] = "Yes" +// src << text ("Switching Law [L]'s report status to []", lawcheck[L+1]) + checklaws() + + if (href_list["laws"]) // With how my law selection code works, I changed statelaws from a verb to a proc, and call it through my law selection panel. --NeoFite + statelaws() + return /mob/living/silicon/robot/proc/uneq_active() diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index c9e4dbd35ab..3d4ca7661d2 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -212,6 +212,8 @@ O << "To use something, simply click or double-click it." O << {"Use say ":s to speak to fellow cyborgs and the AI through binary."} + O.verbs += /mob/living/silicon/robot/proc/ai_roster + O.job = "Cyborg" O.mmi = new /obj/item/device/mmi(O) @@ -412,4 +414,4 @@ del(src) - return O + return O diff --git a/code/unused/computer2/med_rec.dm b/code/unused/computer2/med_rec.dm index 8cb06a40c28..c4a4e2245df 100644 --- a/code/unused/computer2/med_rec.dm +++ b/code/unused/computer2/med_rec.dm @@ -409,7 +409,7 @@ var/counter = 1 while(src.active2.fields[text("com_[]", counter)]) counter++ - src.active2.fields[text("com_[]", counter)] = text("Made by [] ([]) on [], 2053
[]", src.authenticated, src.rank, time2text(world.realtime, "DDD MMM DD hh:mm:ss"), t1) + src.active2.fields[text("com_[]", counter)] = text("Made by [] ([]) on [], 2556
[]", src.authenticated, src.rank, time2text(world.realtime, "DDD MMM DD hh:mm:ss"), t1) if (href_list["del_c"]) if ((istype(src.active2, /datum/data/record) && src.active2.fields[text("com_[]", href_list["del_c"])])) diff --git a/config/custom_items.txt b/config/custom_items.txt index 744eabb8733..b5c1ac10406 100644 --- a/config/custom_items.txt +++ b/config/custom_items.txt @@ -19,4 +19,6 @@ lexusjjss: Lexus Langg: /obj/item/weapon/clipboard/fluff/smallnote lexusjjss: Zachary Tomlinson: /obj/item/weapon/clipboard/fluff/smallnote orangebottle: Lillian Levett: /obj/item/weapon/pen/fluff/fancypen orangebottle: Lilliana Reade: /obj/item/weapon/pen/fluff/fancypen -deusdactyl: Roger Wiles: /obj/item/clothing/under/rank/virologist/fluff/cdc_jumpsuit, /obj/item/clothing/suit/storage/labcoat/fluff/cdc_labcoat \ No newline at end of file +deusdactyl: Roger Wiles: /obj/item/clothing/under/rank/virologist/fluff/cdc_jumpsuit, /obj/item/clothing/suit/storage/labcoat/fluff/cdc_labcoat +desiderium: Momiji Inubashiri: /obj/item/clothing/under/fluff/olddressuniform +leonheart11: Johann Erzatz: /obj/item/weapon/reagent_containers/food/drinks/flask/fluff/johann_erzatz_1 \ No newline at end of file diff --git a/html/archivedchangelog.html b/html/archivedchangelog.html new file mode 100644 index 00000000000..6c80d65c641 --- /dev/null +++ b/html/archivedchangelog.html @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/html/bug-minus.png b/html/bug-minus.png new file mode 100644 index 00000000000..9934db406b1 Binary files /dev/null and b/html/bug-minus.png differ diff --git a/html/burn-exclamation.png b/html/burn-exclamation.png new file mode 100644 index 00000000000..b2a4f670a86 Binary files /dev/null and b/html/burn-exclamation.png differ diff --git a/html/changelog.html b/html/changelog.html index e17e91684fb..855e307feea 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -1,13 +1,26 @@  - /tg/ Station 13 Changelog + Baystation 12 Changelog - + +
@@ -24,7 +37,31 @@
- + + + + + +
+

30th April 2012

+

Erthilo updated:

+
    +
  • Switched to /tg/'s changelog format! Previous updates can be found here: http://baystation12.net/wiki/index.php/Changelog
  • +
  • New green alt satchel for Botanists.
  • +
  • Cyborgs can now view crew manifest and also state laws.
  • +
  • New ATM sprites.
  • +
  • Changes year to 2556 on medical/security records.
  • +
+
+ + /tg/ station 13 Development Team diff --git a/html/changelog.js b/html/changelog.js new file mode 100644 index 00000000000..4146d0f094e --- /dev/null +++ b/html/changelog.js @@ -0,0 +1,87 @@ +/* +function dropdowns() { + var divs = document.getElementsByTagName('div'); + var headers = new Array(); + var links = new Array(); + for(var i=0;i=0) { + elem.className = elem.className.replace('visible','hidden'); + this.className = this.className.replace('open','closed'); + } + else { + elem.className = elem.className.replace('hidden','visible'); + this.className = this.className.replace('closed','open'); + } + return false; + } + })(links[i]); + } + } +} +*/ +/* +function filterchanges(type){ + var lists = document.getElementsByTagName('ul'); + for(var i in lists){ + if(lists[i].className && lists[i].className.search('changes')>=0) { + for(var j in lists[i].childNodes){ + if(lists[i].childNodes[j].nodeType == 1){ + if(!type){ + lists[i].childNodes[j].style.display = 'block'; + } + else if(lists[i].childNodes[j].className!=type) { + lists[i].childNodes[j].style.display = 'none'; + } + else { + lists[i].childNodes[j].style.display = 'block'; + } + } + } + } + } +} +*/ +function dropdowns() { + var drops = $('div.drop'); + var indrops = $('div.indrop'); + if(drops.length!=indrops.length){ + alert("Some coder fucked up with dropdowns"); + } + drops.each(function(index){ + $(this).toggleClass('closed'); + $(indrops[index]).hide(); + $(this).click(function(){ + $(this).toggleClass('closed'); + $(this).toggleClass('open'); + $(indrops[index]).toggle(); + }); + }); +} + +function filterchanges(type){ + $('ul.changes li').each(function(){ + if(!type || $(this).hasClass(type)){ + $(this).show(); + } + else { + $(this).hide(); + } + }); +} + +$(document).ready(function(){ + dropdowns(); +}); \ No newline at end of file diff --git a/html/chevron-expand.png b/html/chevron-expand.png new file mode 100644 index 00000000000..f770e33d8ea Binary files /dev/null and b/html/chevron-expand.png differ diff --git a/html/chevron.png b/html/chevron.png new file mode 100644 index 00000000000..b83135b6908 Binary files /dev/null and b/html/chevron.png differ diff --git a/html/cross-circle.png b/html/cross-circle.png new file mode 100644 index 00000000000..e6f2d3228b8 Binary files /dev/null and b/html/cross-circle.png differ diff --git a/html/hard-hat-exclamation.png b/html/hard-hat-exclamation.png new file mode 100644 index 00000000000..e22eb61b8fe Binary files /dev/null and b/html/hard-hat-exclamation.png differ diff --git a/html/image-minus.png b/html/image-minus.png new file mode 100644 index 00000000000..b2bac2c45ab Binary files /dev/null and b/html/image-minus.png differ diff --git a/html/image-plus.png b/html/image-plus.png new file mode 100644 index 00000000000..308c1ae0a28 Binary files /dev/null and b/html/image-plus.png differ diff --git a/html/music-minus.png b/html/music-minus.png new file mode 100644 index 00000000000..1b9478f43e7 Binary files /dev/null and b/html/music-minus.png differ diff --git a/html/music-plus.png b/html/music-plus.png new file mode 100644 index 00000000000..ea7f36c6ba3 Binary files /dev/null and b/html/music-plus.png differ diff --git a/html/spell-check.png b/html/spell-check.png new file mode 100644 index 00000000000..70b066d12ae Binary files /dev/null and b/html/spell-check.png differ diff --git a/html/tick-circle.png b/html/tick-circle.png new file mode 100644 index 00000000000..bcc4dc24b20 Binary files /dev/null and b/html/tick-circle.png differ diff --git a/html/wrench-screwdriver.png b/html/wrench-screwdriver.png new file mode 100644 index 00000000000..1a59de688d5 Binary files /dev/null and b/html/wrench-screwdriver.png differ diff --git a/icons/mob/back.dmi b/icons/mob/back.dmi index d2e07918203..7636523d57c 100644 Binary files a/icons/mob/back.dmi and b/icons/mob/back.dmi differ diff --git a/icons/mob/items_lefthand.dmi b/icons/mob/items_lefthand.dmi index 14e84d67326..0674f0abd7b 100644 Binary files a/icons/mob/items_lefthand.dmi and b/icons/mob/items_lefthand.dmi differ diff --git a/icons/mob/items_righthand.dmi b/icons/mob/items_righthand.dmi index a35fc84e968..0f8bf8278fd 100644 Binary files a/icons/mob/items_righthand.dmi and b/icons/mob/items_righthand.dmi differ diff --git a/icons/mob/uniform.dmi b/icons/mob/uniform.dmi index 9ea045299d4..b3ae61bd778 100644 Binary files a/icons/mob/uniform.dmi and b/icons/mob/uniform.dmi differ diff --git a/icons/obj/custom_items.dmi b/icons/obj/custom_items.dmi index fd13b9499bf..c03545cfefd 100644 Binary files a/icons/obj/custom_items.dmi and b/icons/obj/custom_items.dmi differ diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi index 1703f6ceb33..bb3e6d1c056 100644 Binary files a/icons/obj/storage.dmi and b/icons/obj/storage.dmi differ diff --git a/icons/obj/terminals.dmi b/icons/obj/terminals.dmi index 19a7712aec0..816d9fed745 100644 Binary files a/icons/obj/terminals.dmi and b/icons/obj/terminals.dmi differ