Merge pull request #953 from Erthilo/master

Changelog changes, cyborg state laws and crew manifest buttons, new atm sprites, new botanist satchel, record date fix, custom items
This commit is contained in:
Mloc
2012-04-30 11:01:42 -07:00
34 changed files with 294 additions and 10 deletions
+4 -1
View File
@@ -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
var/modlock = 0
var/lawcheck[1] //For stating laws!
var/ioncheck[1]
+5
View File
@@ -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"
+3
View File
@@ -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)
+1 -1
View File
@@ -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<BR>[]", 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<BR>[]", 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"])]))
+1 -1
View File
@@ -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<BR>[]", authenticated, rank, time2text(world.realtime, "DDD MMM DD hh:mm:ss"), t1)
active2.fields[text("com_[]", counter)] = text("Made by [] ([]) on [], 2556<BR>[]", authenticated, rank, time2text(world.realtime, "DDD MMM DD hh:mm:ss"), t1)
if ("Delete Record (ALL)")
if (active1)
+15
View File
@@ -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
+94 -1
View File
@@ -93,4 +93,97 @@
/mob/living/silicon/robot/proc/clear_ion_laws()
laws_sanity_check()
laws.clear_ion_laws()
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 = "<b>Which laws do you want to include when stating them for the crew?</b><br><br>"
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 += {"<A href='byond://?src=\ref[src];lawc=0'>[src.lawcheck[1]] 0:</A> [src.laws.zeroth]<BR>"}
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 += {"<A href='byond://?src=\ref[src];lawi=[index]'>[src.ioncheck[index]] [ionnum()]:</A> [law]<BR>"}
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 += {"<A href='byond://?src=\ref[src];lawc=[number]'>[src.lawcheck[number+1]] [number]:</A> [law]<BR>"}
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 += {"<A href='byond://?src=\ref[src];lawc=[number]'>[src.lawcheck[number+1]] [number]:</A> [law]<BR>"}
number++
list += {"<br><br><A href='byond://?src=\ref[src];laws=1'>State Laws</A>"}
usr << browse(list, "window=laws")
@@ -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 = "<html><head><title>Crew Roster</title></head><body><b>Crew Roster:</b><br><br>"
for (var/datum/data/record/t in data_core.general)
dat += "[t.fields["name"]] - [t.fields["rank"]]<br>"
dat += "</body></html>"
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()
+3 -1
View File
@@ -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
+1 -1
View File
@@ -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<BR>[]", 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<BR>[]", 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"])]))
+3 -1
View File
@@ -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
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
+3
View File
@@ -0,0 +1,3 @@
<!--
Stick old posts here to prevent cluttering of main changelog.
-->
Binary file not shown.

After

Width:  |  Height:  |  Size: 657 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 727 B

+40 -3
View File
@@ -1,13 +1,26 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>/tg/ Station 13 Changelog</title>
<title>Baystation 12 Changelog</title>
<link rel="stylesheet" type="text/css" href="changelog.css">
<script type='text/javascript'></script>
<script type='text/javascript'>
function changeText(tagID, newText, linkTagID){
var tag = document.getElementById(tagID);
tag.innerHTML = newText;
var linkTag = document.getElementById(linkTagID);
linkTag.removeAttribute("href");
linkTag.removeAttribute("onclick");
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<!--
Header Section
-->
<table align='center' width='650'><tr><td>
<table align='center' class="top">
<tr>
@@ -24,7 +37,31 @@
</tr>
</table>
<iframe width='100%' height='500px' src="http://baystation12.net/wiki/index.php?title=Changelog&printable=yes&remove_links=1" frameborder="0" id="main_frame"></iframe>
<!--
Changelog Section
-->
<!-- NOTE TO UPDATERS!! Please only list things which are important to players.
Stuff which is in development and not yet visible to players or just code related
(ie. code improvements for expandability, etc.) should not be listed here. They
should be listed in the changelog upon commit though. Thanks. -->
<!-- To take advantage of the pretty new format (well it was new when I wrote this anyway), open the "add-to-changelog.html" file in any browser and add the stuff and then generate the html code and paste it here -->
<div class="commit sansserif">
<h2 class="date">30th April 2012</h2>
<h3 class="author">Erthilo updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">Switched to /tg/'s changelog format! Previous updates can be found here: http://baystation12.net/wiki/index.php/Changelog</li>
<li class="rscadd">New green alt satchel for Botanists.</li>
<li class="rscadd">Cyborgs can now view crew manifest and also state laws.</li>
<li class="imageadd">New ATM sprites.</li>
<li class="tweak">Changes year to 2556 on medical/security records.</li>
</ul>
</div>
<!--
Credits Section
-->
<b>/tg/ station 13 Development Team</b>
<table align='center' class="top">
+87
View File
@@ -0,0 +1,87 @@
/*
function dropdowns() {
var divs = document.getElementsByTagName('div');
var headers = new Array();
var links = new Array();
for(var i=0;i<divs.length;i++){
if(divs[i].className=='drop') {
divs[i].className='drop closed';
headers.push(divs[i]);
}
if(divs[i].className=='indrop') {
divs[i].className='indrop hidden';
links.push(divs[i]);
}
}
for(var i=0;i<headers.length;i++){
if(typeof(links[i])!== 'undefined' && links[i]!=null) {
headers[i].onclick = (function(elem) {
return function() {
if(elem.className.search('visible')>=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();
});
Binary file not shown.

After

Width:  |  Height:  |  Size: 495 B

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 498 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 651 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 678 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 535 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 580 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 403 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 462 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 509 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 660 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 684 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 113 KiB

After

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 115 KiB

After

Width:  |  Height:  |  Size: 115 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 176 KiB

After

Width:  |  Height:  |  Size: 177 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.8 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 18 KiB