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
@@ -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]
|
||||
@@ -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"
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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"])]))
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"])]))
|
||||
|
||||
@@ -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
|
||||
@@ -0,0 +1,3 @@
|
||||
<!--
|
||||
Stick old posts here to prevent cluttering of main changelog.
|
||||
-->
|
||||
|
After Width: | Height: | Size: 657 B |
|
After Width: | Height: | Size: 727 B |
@@ -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">
|
||||
|
||||
@@ -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();
|
||||
});
|
||||
|
After Width: | Height: | Size: 495 B |
|
After Width: | Height: | Size: 498 B |
|
After Width: | Height: | Size: 651 B |
|
After Width: | Height: | Size: 678 B |
|
After Width: | Height: | Size: 535 B |
|
After Width: | Height: | Size: 580 B |
|
After Width: | Height: | Size: 403 B |
|
After Width: | Height: | Size: 462 B |
|
After Width: | Height: | Size: 509 B |
|
After Width: | Height: | Size: 660 B |
|
After Width: | Height: | Size: 684 B |
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 113 KiB After Width: | Height: | Size: 114 KiB |
|
Before Width: | Height: | Size: 115 KiB After Width: | Height: | Size: 115 KiB |
|
Before Width: | Height: | Size: 176 KiB After Width: | Height: | Size: 177 KiB |
|
Before Width: | Height: | Size: 8.8 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 51 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 18 KiB |