Bugfixes:

▫ Fix for Issue 161
   ▫ Fix for Issue 239
   ▫ Circuit imprinter runtime involving Atmosphereic Alert circuits.

▫ Capitalized some letters in the security level messages. Because that really annoyed me!

▫ Merged Donkieyo's patches with the master branch. (Forum post: http://nanotrasen.com/phpBB3/viewtopic.php?f=7&t=7051)



git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2706 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
vageyenaman@gmail.com
2011-12-16 23:47:49 +00:00
parent 19b78328f3
commit 853d78c331
7 changed files with 101 additions and 47 deletions

View File

@@ -60,12 +60,14 @@
data = "0983E840344C39F4B059D5145FC5785DC6406A4FFF"
read_only = 1
/obj/machinery/computer/cloning/New()
..()
spawn(5)
src.scanner = locate(/obj/machinery/dna_scannernew, get_step(src, WEST))
src.pod1 = locate(/obj/machinery/clonepod, get_step(src, EAST))
updatemodules()
/*src.scanner = findscanner()//locate(/obj/machinery/dna_scannernew, get_step(src, WEST))
src.pod1 = findcloner()//locate(/obj/machinery/clonepod, get_step(src, EAST))
world << "SEARCHING FOR MACHEIN"
src.temp = ""
if (isnull(src.scanner))
src.temp += " <font color=red>SCNR-ERROR</font>"
@@ -75,10 +77,50 @@
src.pod1.connected = src
if (src.temp == "")
src.temp = "System ready."
src.temp = "System ready."*/
return
return
/obj/machinery/computer/cloning/proc/updatemodules()
//world << "UPDATING MODULES"
src.scanner = findscanner()//locate(/obj/machinery/dna_scannernew, get_step(src, WEST))
src.pod1 = findcloner()//locate(/obj/machinery/clonepod, get_step(src, EAST))
//world << "SEARCHING FOR MACHEIN"
//src.temp = ""
//if (isnull(src.scanner))
// src.temp += " <font color=red>SCNR-ERROR</font>"
if (!isnull(src.pod1))
src.pod1.connected = src
// src.temp += " <font color=red>POD1-ERROR</font>"
//else
//if (src.temp == "")
// src.temp = "System ready."
/obj/machinery/computer/cloning/proc/findscanner()
//..()
//world << "SEARCHING FOR SCANNER"
var/obj/machinery/dna_scannernew/scannerf = null
for(dir in list(NORTH,EAST,SOUTH,WEST))
//world << "SEARCHING IN [dir]"
scannerf = locate(/obj/machinery/dna_scannernew, get_step(src, dir))
if (!isnull(scannerf))
//world << "FOUND"
break
return scannerf
/obj/machinery/computer/cloning/proc/findcloner()
//..()
//world << "SEARCHING FOR POD"
var/obj/machinery/clonepod/podf = null
for(dir in list(NORTH,EAST,SOUTH,WEST))
//world << "SEARCHING IN [dir]"
podf = locate(/obj/machinery/clonepod, get_step(src, dir))
if (!isnull(podf))
//world << "FOUND"
break
return podf
/obj/machinery/computer/cloning/attackby(obj/item/W as obj, mob/user as mob)
if (istype(W, /obj/item/weapon/disk/data)) //INSERT SOME DISKETTES
if (!src.diskette)
@@ -105,13 +147,26 @@
if(stat & (BROKEN|NOPOWER))
return
updatemodules()
var/dat = "<h3>Cloning System Control</h3>"
dat += "<font size=-1><a href='byond://?src=\ref[src];refresh=1'>Refresh</a></font>"
dat += "<br><tt>[temp]</tt><br>"
//dat += "<br><tt>[temp]</tt><br>"
switch(src.menu)
if(1)
dat += "<h4>Modules</h4>"
//dat += "<a href='byond://?src=\ref[src];relmodules=1'>Reload Modules</a>"
if (isnull(src.scanner))
dat += " <font color=red>Scanner-ERROR</font><br>"
else
dat += " <font color=green>Scanner-Found!</font><br>"
if (isnull(src.pod1))
dat += " <font color=red>Pod-ERROR</font><br>"
else
dat += " <font color=green>Pod-Found!</font><br>"
dat += "<h4>Scanner Functions</h4>"
if (isnull(src.scanner))
@@ -170,7 +225,7 @@
if(4)
if (!src.active_record)
src.menu = 2
dat = "[src.temp]<br>"
//dat = "[src.temp]<br>"
dat += "<h4>Confirm Record Deletion</h4>"
dat += "<b><a href='byond://?src=\ref[src];del_rec=1'>Scan card to confirm.</a></b><br>"

View File

@@ -1772,7 +1772,7 @@ datum
coco
name = "Coco Powder"
id = "Coco Powder"
id = "coco"
description = "A fatty, bitter paste made from coco beans."
reagent_state = SOLID
nutriment_factor = 5 * REAGENTS_METABOLISM

View File

@@ -70,7 +70,7 @@ proc/move_mining_shuttle()
/obj/machinery/computer/mining_shuttle/attack_hand(user as mob)
src.add_fingerprint(usr)
var/dat
dat = text("<b>Mining shuttle: <A href='?src=\ref[src];move=[1]'>Call</A></b>")
dat = text("<center>Mining shuttle:<br> <b><A href='?src=\ref[src];move=[1]'>Send</A></b></center>")
user << browse("[dat]", "window=miningshuttle;size=200x100")
/obj/machinery/computer/mining_shuttle/Topic(href, href_list)
@@ -85,17 +85,17 @@ proc/move_mining_shuttle()
return
if (!mining_shuttle_moving)
usr << "\blue shuttle called and will arrive shortly"
usr << "\blue Shuttle recieved message and will be sent shortly."
move_mining_shuttle()
else
usr << "\blue shuttle is already moving"
usr << "\blue Shuttle is already moving."
/obj/machinery/computer/mining_shuttle/attackby(obj/item/weapon/W as obj, mob/user as mob)
if (istype(W, /obj/item/weapon/card/emag))
src.req_access = list()
hacked = 1
usr << "The computer's controls are now all access"
usr << "You fried the consoles ID checking system. It's now available to everyone!"
/******************************Lantern*******************************/

View File

@@ -193,6 +193,7 @@
var/mob/dead/observer/observer = new()
spawning = 1
src << sound(null, repeat = 0, wait = 0, volume = 85, channel = 1) // MAD JAMS cant last forever yo
close_spawn_windows()
var/obj/O = locate("landmark*Observer-Start")

View File

@@ -185,13 +185,13 @@ datum
build_path = "/obj/item/weapon/circuitboard/secure_data"
atmosalerts
name = "Circuit Design (Atmosphere Alerts Console)"
name = "Circuit Design (Atmosphere Alert)"
desc = "Allows for the construction of circuit boards used to build an atmosphere alert console.."
id = "atmosalerts"
req_tech = list("programming" = 2)
build_type = IMPRINTER
materials = list("$glass" = 2000, "acid" = 20)
build_path = "/obj/item/weapon/circuitboard/atmosphere/alerts"
build_path = "/obj/item/weapon/circuitboard/atmos_alert"
air_management
name = "Circuit Design (Atmospheric Monitor)"

View File

@@ -579,6 +579,8 @@ won't update every console in existence) but it's more of a hassle to do. Also,
dat += "<A href='?src=\ref[src];menu=1.0'>Main Menu</A>"
if(1.2) //Technology Disk Menu
dat += "<A href='?src=\ref[src];menu=1.0'>Main Menu</A><HR>"
dat += "Disk Contents: (Technology Data Disk)<BR><BR>"
if(t_disk.stored == null)
dat += "The disk has no data stored on it.<HR>"
@@ -591,18 +593,18 @@ won't update every console in existence) but it's more of a hassle to do. Also,
dat += "Operations: "
dat += "<A href='?src=\ref[src];updt_tech=1'>Upload to Database</A> || "
dat += "<A href='?src=\ref[src];clear_tech=1'>Clear Disk</A> || "
dat += "<A href='?src=\ref[src];eject_tech=1'>Eject Disk</A><HR>"
dat += "<BR><A href='?src=\ref[src];menu=1.0'>Main Menu</A>"
dat += "<A href='?src=\ref[src];eject_tech=1'>Eject Disk</A>"
if(1.3) //Technology Disk submenu
dat += "<BR><A href='?src=\ref[src];menu=1.0'>Main Menu</A> || "
dat += "<A href='?src=\ref[src];menu=1.2'>Return to Disk Operations</A><HR>"
dat += "Load Technology to Disk:<BR><BR>"
for(var/datum/tech/T in files.known_tech)
dat += "[T.name] "
dat += "<A href='?src=\ref[src];copy_tech=1;copy_tech_ID=[T.id]'>(Copy to Disk)</A><BR>"
dat += "<HR><BR><A href='?src=\ref[src];menu=1.0'>Main Menu</A> || "
dat += "<A href='?src=\ref[src];menu=1.2'>Return to Disk Operations</A>"
if(1.4) //Design Disk menu.
dat += "<A href='?src=\ref[src];menu=1.0'>Main Menu</A><HR>"
if(d_disk.blueprint == null)
dat += "The disk has no data stored on it.<HR>"
dat += "Operations: "
@@ -621,18 +623,18 @@ won't update every console in existence) but it's more of a hassle to do. Also,
dat += "<HR>Operations: "
dat += "<A href='?src=\ref[src];updt_design=1'>Upload to Database</A> || "
dat += "<A href='?src=\ref[src];clear_design=1'>Clear Disk</A> || "
dat += "<A href='?src=\ref[src];eject_design=1'>Eject Disk</A><HR>"
dat += "<A href='?src=\ref[src];menu=1.0'>Main Menu</A>"
dat += "<A href='?src=\ref[src];eject_design=1'>Eject Disk</A>"
if(1.5) //Technology disk submenu
dat += "<A href='?src=\ref[src];menu=1.0'>Main Menu</A> || "
dat += "<A href='?src=\ref[src];menu=1.4'>Return to Disk Operations</A><HR>"
dat += "Load Design to Disk:<BR><BR>"
for(var/datum/design/D in files.known_designs)
dat += "[D.name] "
dat += "<A href='?src=\ref[src];copy_design=1;copy_design_ID=[D.id]'>(Copy to Disk)</A><BR>"
dat += "<HR><A href='?src=\ref[src];menu=1.0'>Main Menu</A> || "
dat += "<A href='?src=\ref[src];menu=1.4'>Return to Disk Operations</A>"
if(1.6) //R&D console settings
dat += "<A href='?src=\ref[src];menu=1.0'>Main Menu</A><HR>"
dat += "R&D Console Setting:<BR><BR>"
if(sync)
dat += "<A href='?src=\ref[src];sync=1'>Sync Database with Network</A><BR>"
@@ -642,9 +644,10 @@ won't update every console in existence) but it's more of a hassle to do. Also,
dat += "<A href='?src=\ref[src];menu=1.7'>Device Linkage Menu</A><BR>"
dat += "<A href='?src=\ref[src];lock=0.2'>Lock Console</A><BR>"
dat += "<A href='?src=\ref[src];reset=1'>Reset R&D Database.</A><BR>"
dat += "<HR><A href='?src=\ref[src];menu=1.0'>Main Menu</A>"
if(1.7) //R&D device linkage
dat += "<A href='?src=\ref[src];menu=1.0'>Main Menu</A> || "
dat += "<A href='?src=\ref[src];menu=1.6'>Settings Menu</A><HR> "
dat += "R&D Console Device Linkage Menu:<BR><BR>"
dat += "<A href='?src=\ref[src];find_device=1'>Re-sync with Nearby Devices</A><BR>"
dat += "Linked Devices:<BR>"
@@ -660,8 +663,6 @@ won't update every console in existence) but it's more of a hassle to do. Also,
dat += "* Circuit Imprinter <A href='?src=\ref[src];disconnect=imprinter'>(Disconnect)</A><BR>"
else
dat += "* (No Circuit Imprinter Linked)<BR>"
dat += "<HR><A href='?src=\ref[src];menu=1.6'>Settings Menu</A> || "
dat += "<A href='?src=\ref[src];menu=1.0'>Main Menu</A>"
////////////////////DESTRUCTIVE ANALYZER SCREENS////////////////////////////
if(2.0)
@@ -673,6 +674,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
dat += "<A href='?src=\ref[src];menu=1.0'>Main Menu</A>"
if(2.2)
dat += "<A href='?src=\ref[src];menu=1.0'>Main Menu</A><HR>"
dat += "Deconstruction Menu<HR>"
dat += "Name: [linked_destroy.loaded_item.name]<BR>"
dat += "Origin Tech:<BR>"
@@ -681,14 +683,16 @@ won't update every console in existence) but it's more of a hassle to do. Also,
dat += "* [CallTechName(T)] [temp_tech[T]]<BR>"
dat += "<HR><A href='?src=\ref[src];deconstruct=1'>Deconstruct Item</A> || "
dat += "<A href='?src=\ref[src];eject_item=1'>Eject Item</A> || "
dat += "<A href='?src=\ref[src];menu=1.0'>Main Menu</A>"
/////////////////////PROTOLATHE SCREENS/////////////////////////
if(3.0)
dat += "<A href='?src=\ref[src];menu=1.0'>Main Menu</A><HR>"
dat += "NO PROTOLATHE LINKED TO CONSOLE<BR><BR>"
dat += "<A href='?src=\ref[src];menu=1.0'>Main Menu</A>"
if(3.1)
dat += "<A href='?src=\ref[src];menu=1.0'>Main Menu</A> || "
dat += "<A href='?src=\ref[src];menu=3.2'>Material Storage</A> || "
dat += "<A href='?src=\ref[src];menu=3.3'>Chemical Storage</A><HR>"
dat += "Protolathe Menu:<BR><BR>"
dat += "<B>Material Amount:</B> [linked_lathe.TotalMaterials()] cm<sup>3</sup> (MAX: [linked_lathe.max_material_storage])<BR>"
dat += "<B>Chemical Volume:</B> [linked_lathe.reagents.total_volume] (MAX: [linked_lathe.reagents.maximum_volume])<HR>"
@@ -723,11 +727,10 @@ won't update every console in existence) but it's more of a hassle to do. Also,
dat += "* <A href='?src=\ref[src];build=[D.id]'>[temp_dat]</A><BR>"
else
dat += "* [temp_dat]<BR>"
dat += "<HR><A href='?src=\ref[src];menu=3.2'>Material Storage</A> || "
dat += "<A href='?src=\ref[src];menu=3.3'>Chemical Storage</A> || "
dat += "<A href='?src=\ref[src];menu=1.0'>Main Menu</A>"
if(3.2) //Protolathe Material Storage Sub-menu
dat += "<A href='?src=\ref[src];menu=1.0'>Main Menu</A> || "
dat += "<A href='?src=\ref[src];menu=3.1'>Protolathe Menu</A><HR>"
dat += "Material Storage<BR><HR>"
//Metal
dat += "* [linked_lathe.m_amount] cm<sup>3</sup> of Metal || "
@@ -784,26 +787,25 @@ won't update every console in existence) but it's more of a hassle to do. Also,
if(linked_lathe.clown_amount >= 3750) dat += "<A href='?src=\ref[src];lathe_ejectsheet=clown;lathe_ejectsheet_amt=1'>(1 Sheet)</A> "
if(linked_lathe.clown_amount >= 18750) dat += "<A href='?src=\ref[src];lathe_ejectsheet=clown;lathe_ejectsheet_amt=5'>(5 Sheets)</A> "
if(linked_lathe.clown_amount >= 3750) dat += "<A href='?src=\ref[src];lathe_ejectsheet=clown;lathe_ejectsheet_amt=50'>(Max Sheets)</A>"
dat += "<BR>"
dat += "<HR><A href='?src=\ref[src];menu=3.1'>Protolathe Menu</A> | "
dat += "<A href='?src=\ref[src];menu=1.0'>Main Menu</A>"
if(3.3) //Protolathe Chemical Storage Submenu
dat += "<A href='?src=\ref[src];menu=1.0'>Main Menu</A> || "
dat += "<A href='?src=\ref[src];menu=3.1'>Protolathe Menu</A><HR>"
dat += "Chemical Storage<BR><HR>"
for(var/datum/reagent/R in linked_lathe.reagents.reagent_list)
dat += "Name: [R.name] | Units: [R.volume] "
dat += "<A href='?src=\ref[src];disposeP=[R.id]'>(Purge)</A><BR>"
dat += "<A href='?src=\ref[src];disposeallP=1'><U>Disposal All Chemicals in Storage</U></A><BR>"
dat += "<HR><A href='?src=\ref[src];menu=3.1'>Protolathe Menu</A> | "
dat += "<A href='?src=\ref[src];menu=1.0'>Main Menu</A>"
///////////////////CIRCUIT IMPRINTER SCREENS////////////////////
if(4.0)
dat += "<A href='?src=\ref[src];menu=1.0'>Main Menu</A><HR>"
dat += "NO CIRCUIT IMPRINTER LINKED TO CONSOLE<BR><BR>"
dat += "<A href='?src=\ref[src];menu=1.0'>Main Menu</A>"
if(4.1)
dat += "<A href='?src=\ref[src];menu=1.0'>Main Menu</A> || "
dat += "<A href='?src=\ref[src];menu=4.3'>Material Storage</A> || "
dat += "<A href='?src=\ref[src];menu=4.2'>Chemical Storage</A><HR>"
dat += "Circuit Imprinter Menu:<BR><BR>"
dat += "Material Amount: [linked_imprinter.TotalMaterials()] cm<sup>3</sup><BR>"
dat += "Chemical Volume: [linked_imprinter.reagents.total_volume]<HR>"
@@ -829,20 +831,19 @@ won't update every console in existence) but it's more of a hassle to do. Also,
dat += "* <A href='?src=\ref[src];imprint=[D.id]'>[temp_dat]</A><BR>"
else
dat += "* [temp_dat]<BR>"
dat += "<HR><A href='?src=\ref[src];menu=4.3'>Material Storage</A> || "
dat += "<A href='?src=\ref[src];menu=4.2'>Chemical Storage</A> || "
dat += "<A href='?src=\ref[src];menu=1.0'>Main Menu</A>"
if(4.2)
dat += "<A href='?src=\ref[src];menu=1.0'>Main Menu</A> || "
dat += "<A href='?src=\ref[src];menu=4.1'>Imprinter Menu</A><HR>"
dat += "Chemical Storage<BR><HR>"
for(var/datum/reagent/R in linked_imprinter.reagents.reagent_list)
dat += "Name: [R.name] | Units: [R.volume] "
dat += "<A href='?src=\ref[src];disposeI=[R.id]'>(Purge)</A><BR>"
dat += "<A href='?src=\ref[src];disposeallI=1'><U>Disposal All Chemicals in Storage</U></A><BR>"
dat += "<HR><A href='?src=\ref[src];menu=4.1'>Imprinter Menu</A> | "
dat += "<A href='?src=\ref[src];menu=1.0'>Main Menu</A>"
if(4.3)
dat += "<A href='?src=\ref[src];menu=1.0'>Main Menu</A> || "
dat += "<A href='?src=\ref[src];menu=4.1'>Circuit Imprinter Menu</A><HR>"
dat += "Material Storage<BR><HR>"
//Glass
dat += "* [linked_imprinter.g_amount] cm<sup>3</sup> of Glass || "
@@ -864,9 +865,6 @@ won't update every console in existence) but it's more of a hassle to do. Also,
if(linked_imprinter.diamond_amount > 3750) dat += "<A href='?src=\ref[src];imprinter_ejectsheet=diamond;imprinter_ejectsheet_amt=1'>(1 Sheet)</A> "
if(linked_imprinter.diamond_amount > 18750) dat += "<A href='?src=\ref[src];imprinter_ejectsheet=diamond;imprinter_ejectsheet_amt=5'>(5 Sheets)</A> "
if(linked_imprinter.diamond_amount > 3750) dat += "<A href='?src=\ref[src];imprinter_ejectsheet=diamond;imprinter_ejectsheet_amt=50'>(Max Sheets)</A>"
dat += "<BR>"
dat += "<HR><A href='?src=\ref[src];menu=4.1'>Circuit Imprinter Menu</A> | "
dat += "<A href='?src=\ref[src];menu=1.0'>Main Menu</A>"
user << browse("<TITLE>Research and Development Console</TITLE><HR>[dat]", "window=rdconsole;size=575x400")
onclose(user, "rdconsole")

View File

@@ -21,7 +21,7 @@
if(level >= SEC_LEVEL_GREEN && level <= SEC_LEVEL_DELTA && level != security_level)
switch(level)
if(SEC_LEVEL_GREEN)
world << "<font size=4 color='red'>Attention! security level lowered to green</font>"
world << "<font size=4 color='red'>Attention! Security level lowered to green</font>"
world << "<font color='red'>[config.alert_desc_green]</font>"
security_level = SEC_LEVEL_GREEN
for(var/obj/machinery/firealarm/FA in world)
@@ -30,10 +30,10 @@
FA.overlays += image('monitors.dmi', "overlay_green")
if(SEC_LEVEL_BLUE)
if(security_level < SEC_LEVEL_BLUE)
world << "<font size=4 color='red'>Attention! security level elevated to blue</font>"
world << "<font size=4 color='red'>Attention! Security level elevated to blue</font>"
world << "<font color='red'>[config.alert_desc_blue_upto]</font>"
else
world << "<font size=4 color='red'>Attention! security level lowered to blue</font>"
world << "<font size=4 color='red'>Attention! Security level lowered to blue</font>"
world << "<font color='red'>[config.alert_desc_blue_downto]</font>"
security_level = SEC_LEVEL_BLUE
for(var/obj/machinery/firealarm/FA in world)