Fixed map, finalized DNa and disabilities.

TODO: Add a tool in medbay that can convert any pair of glasses into prescription?
This commit is contained in:
SkyMarshal
2012-02-17 21:26:06 -07:00
parent a36982a677
commit 543785a8e5
12 changed files with 5091 additions and 5133 deletions
@@ -1,81 +0,0 @@
#define RADIATION_CAPACITY 30000 //Radiation isn't particularly effective (TODO BALANCE)
/obj/machinery/atmospherics/unary/thermal_plate
//Based off Heat Reservoir and Space Heater
//Transfers heat between a pipe system and environment, based on which has a greater thermal energy concentration
icon = 'cold_sink.dmi'
icon_state = "intact_off"
name = "Thermal Transfer Plate"
desc = "Transfers heat to and from an area"
update_icon()
if(node)
icon_state = "intact_off"
else
icon_state = "exposed"
return
process()
..()
var/datum/gas_mixture/environment = loc.return_air()
//Get processable air sample and thermal info from environment
var/transfer_moles = 0.25 * environment.total_moles()
var/datum/gas_mixture/external_removed = environment.remove(transfer_moles)
if (!external_removed)
return radiate()
if (external_removed.total_moles() < 10)
return radiate()
//Get same info from connected gas
var/internal_transfer_moles = 0.25 * air_contents.total_moles()
var/datum/gas_mixture/internal_removed = air_contents.remove(internal_transfer_moles)
if (!internal_removed)
environment.merge(external_removed)
return 1
var/combined_heat_capacity = internal_removed.heat_capacity() + external_removed.heat_capacity()
var/combined_energy = internal_removed.temperature * internal_removed.heat_capacity() + external_removed.heat_capacity() * external_removed.temperature
if(!combined_heat_capacity) combined_heat_capacity = 1
var/final_temperature = combined_energy / combined_heat_capacity
external_removed.temperature = final_temperature
environment.merge(external_removed)
internal_removed.temperature = final_temperature
air_contents.merge(internal_removed)
network.update = 1
return 1
proc/radiate()
var/internal_transfer_moles = 0.25 * air_contents.total_moles()
var/datum/gas_mixture/internal_removed = air_contents.remove(internal_transfer_moles)
if (!internal_removed)
return 1
var/combined_heat_capacity = internal_removed.heat_capacity() + RADIATION_CAPACITY
var/combined_energy = internal_removed.temperature * internal_removed.heat_capacity() + (RADIATION_CAPACITY * 6.4)
var/final_temperature = combined_energy / combined_heat_capacity
internal_removed.temperature = final_temperature
air_contents.merge(internal_removed)
if (network)
network.update = 1
return 1
+10 -2
View File
@@ -834,7 +834,7 @@
dat += text("<BR><BR><A href='?src=\ref[];mach_close=scannernew'>Close</A>", user)
else
dat = "<font color='red'> Error: No DNA Modifier connected. </FONT>"
user << browse(dat, "window=scannernew;size=550x625")
user << browse(dat, "window=scannernew;size=700x625")
onclose(user, "scannernew")
return
@@ -975,7 +975,15 @@
////////////////////////////////////////////////////////
if (href_list["strucmenu"])
if(src.connected.occupant)
src.temphtml = text("Structural Enzymes: <font color='blue'>[getleftblocks(src.connected.occupant.dna.struc_enzymes,strucblock,3)][src.subblock == 1 ? "<U><B>"+getblock(getblock(src.connected.occupant.dna.struc_enzymes,src.strucblock,3),1,1)+"</U></B>" : getblock(getblock(src.connected.occupant.dna.struc_enzymes,src.strucblock,3),1,1)][src.subblock == 2 ? "<U><B>"+getblock(getblock(src.connected.occupant.dna.struc_enzymes,src.strucblock,3),2,1)+"</U></B>" : getblock(getblock(src.connected.occupant.dna.struc_enzymes,src.strucblock,3),2,1)][src.subblock == 3 ? "<U><B>"+getblock(getblock(src.connected.occupant.dna.struc_enzymes,src.strucblock,3),3,1)+"</U></B>" : getblock(getblock(src.connected.occupant.dna.struc_enzymes,src.strucblock,3),3,1)][getrightblocks(src.connected.occupant.dna.struc_enzymes,strucblock,3)]</FONT><BR><BR>")
var/temp_string1 = getleftblocks(src.connected.occupant.dna.struc_enzymes,strucblock,3)
var/temp1 = ""
for(var/i = 3, i <= length(temp_string1), i += 3)
temp1 += copytext(temp_string1, i-2, i+1) + " "
var/temp_string2 = getrightblocks(src.connected.occupant.dna.struc_enzymes,strucblock,3)
var/temp2 = ""
for(var/i = 3, i <= length(temp_string2), i += 3)
temp2 += copytext(temp_string2, i-2, i+1) + " "
src.temphtml = text("Structural Enzymes: <font color='blue'>[temp1] [src.subblock == 1 ? "<U><B>"+getblock(getblock(src.connected.occupant.dna.struc_enzymes,src.strucblock,3),1,1)+"</U></B>" : getblock(getblock(src.connected.occupant.dna.struc_enzymes,src.strucblock,3),1,1)][src.subblock == 2 ? "<U><B>"+getblock(getblock(src.connected.occupant.dna.struc_enzymes,src.strucblock,3),2,1)+"</U></B>":getblock(getblock(src.connected.occupant.dna.struc_enzymes,src.strucblock,3),2,1)][src.subblock == 3 ? "<U><B>"+getblock(getblock(src.connected.occupant.dna.struc_enzymes,src.strucblock,3),3,1)+"</U></B>":getblock(getblock(src.connected.occupant.dna.struc_enzymes,src.strucblock,3),3,1)] [temp2]</FONT><BR><BR>")
//src.temphtml = text("Structural Enzymes: <font color='blue'>[]</FONT><BR><BR>", src.connected.occupant.dna.struc_enzymes)
src.temphtml += text("Selected Block: <font color='blue'><B>[]</B></FONT><BR>", src.strucblock)
src.temphtml += text("<A href='?src=\ref[];strucmenuminus=1'><-</A> <A href='?src=\ref[];strucmenuchoose=1'>Block</A> <A href='?src=\ref[];strucmenuplus=1'>-></A><BR><BR>", src, src, src)
+1 -1
View File
@@ -164,7 +164,7 @@
else
else
dat += text("<A href='?src=\ref[];choice=Log In'>{Log In}</A>", src)
user << browse(text("<HEAD><TITLE>Security Records</TITLE></HEAD><TT>[]</TT>", dat), "window=secure_rec;size=550x400")
user << browse(text("<HEAD><TITLE>Security Records</TITLE></HEAD><TT>[]</TT>", dat), "window=secure_rec;size=600x400")
onclose(user, "secure_rec")
return
@@ -8,7 +8,6 @@
sleep(2)
new /obj/item/wardrobe/chief_engineer(src)
new /obj/item/blueprints(src)
//
var/obj/item/weapon/storage/backpack/industrial/BPK = new /obj/item/weapon/storage/backpack/industrial(src)
var/obj/item/weapon/storage/box/B = new(BPK)
new /obj/item/weapon/pen(B)
+26
View File
@@ -0,0 +1,26 @@
/obj/item/device/geneticsanalyzer
name = "Genetics Analyser"
icon = 'device.dmi'
icon_state = "genetics"
w_class = 2
/obj/item/device/geneticsanalyzer/attack(mob/M as mob, mob/user as mob)
for(var/mob/O in viewers(M, null))
O.show_message(text("\red [] has analyzed []'s genetic code!", user, M), 1)
//Foreach goto(67)
user.show_message(text("\blue Analyzing Results for [M]: [M.dna.struc_enzymes]\n\t"), 1)
user.show_message(text("\blue \t Epilepsy: [isblockon(getblock(M.dna.struc_enzymes, HEADACHEBLOCK,3),HEADACHEBLOCK) ? "Yes" : "No"]"), 1)
user.show_message(text("\blue \t Cough: [isblockon(getblock(M.dna.struc_enzymes, COUGHBLOCK,3),COUGHBLOCK) ? "Yes" : "No"]"), 1)
user.show_message(text("\blue \t Clumsy: [isblockon(getblock(M.dna.struc_enzymes, CLUMSYBLOCK,3),CLUMSYBLOCK) ? "Yes" : "No"]"), 1)
user.show_message(text("\blue \t Twitch: [isblockon(getblock(M.dna.struc_enzymes, TWITCHBLOCK,3),TWITCHBLOCK) ? "Yes" : "No"]"), 1)
user.show_message(text("\blue \t Nervous: [isblockon(getblock(M.dna.struc_enzymes, NERVOUSBLOCK,3),NERVOUSBLOCK) ? "Yes" : "No"]"), 1)
user.show_message(text("\blue \t Blind: [isblockon(getblock(M.dna.struc_enzymes, BLINDBLOCK,3),BLINDBLOCK) ? "Yes" : "No"]"), 1)
user.show_message(text("\blue \t Deaf: [isblockon(getblock(M.dna.struc_enzymes, DEAFBLOCK,3),DEAFBLOCK) ? "Yes" : "No"]"), 1)
user.show_message(text("\blue \t Requires Glasses: [isblockon(getblock(M.dna.struc_enzymes, GLASSESBLOCK,3),GLASSESBLOCK) ? "Yes" : "No"]"), 1)
var/unknow = 0
var/list/unknowns = list(HULKBLOCK,TELEBLOCK,FIREBLOCK,XRAYBLOCK,NOBREATHBLOCK,REMOTEVIEWBLOCK,REGENERATEBLOCK,INCREASERUNBLOCK,REMOTETALKBLOCK,MORPHBLOCK,BLENDBLOCK,HALLUCINATIONBLOCK,NOPRINTSBLOCK,SHOCKIMMUNITYBLOCK,SMALLSIZEBLOCK)
for(var/unknown in unknowns)
if(isblockon(getblock(M.dna.struc_enzymes, unknown,3),unknown))
unknow += 1
user.show_message(text("\blue \t Unknown Anomalies: [unknow]"))
+3 -3
View File
@@ -62,9 +62,9 @@
new /obj/item/clothing/glasses/regular(src)
new /obj/item/clothing/glasses/regular(src)
new /obj/item/clothing/glasses/regular(src)
new /obj/item/clothing/glasses/regular(src)
new /obj/item/clothing/glasses/regular(src)
new /obj/item/clothing/glasses/regular(src)
new /obj/item/clothing/glasses/sunglasses/prescription(src)
new /obj/item/clothing/glasses/sunglasses/prescription(src)
new /obj/item/clothing/glasses/meson/prescription(src)
..()
return
+3 -4
View File
@@ -19,10 +19,9 @@
usr << "Your message has been broadcast to administrators."
log_admin("HELP: [key_name(src)]: [msg]")
/* var/list/replacechars = list("'","\"",">","<","(",")")
for(var/rep in replacechars)
msg = dd_replacetext(msg, rep, "")
world << msg*/
var/list/replacechars = list("'" = "","\"" = "",">" = "","<" = "","(" = "",")" = "")
msg = sanitize_simple(msg, replacechars)
world << msg
send2adminirc("#bs12admin","HELP: \"[src.key]: [msg]\"")
if(tension_master)
tension_master.new_adminhelp()
+7 -1
View File
@@ -13,9 +13,12 @@
origin_tech = "magnets=2;engineering=2"
vision_flags = SEE_TURFS
prescription
prescription = 1
/obj/item/clothing/glasses/science
name = "Science Goggles"
desc = "nothing"
desc = "Used for !!SCIENCE!!"
icon_state = "purple"
item_state = "glasses"
@@ -57,6 +60,9 @@
protective_temperature = 1300
darkness_view = -1
prescription
prescription = 1
/obj/item/clothing/glasses/sunglasses/big
desc = "Strangely ancient technology used to help provide rudimentary eye cover. Larger than average enhanced shielding blocks many flashes."
icon_state = "bigsunglasses"
+3 -5
View File
@@ -232,11 +232,10 @@
drop_item()
spawn( 0 )
emote("cough")
return
if (disabilities & 8)
if ((prob(10) && paralysis <= 1 && r_Tourette < 1))
if ((prob(5) && paralysis <= 1 && r_Tourette < 1))
Stun(10)
spawn( 0 )
spawn(0)
switch(rand(1, 3))
if(1)
emote("twitch")
@@ -249,7 +248,6 @@
sleep(2)
pixel_x = old_x
pixel_y = old_y
return
if (disabilities & 16)
if (prob(10))
stuttering = max(10, stuttering)
@@ -1131,7 +1129,7 @@
else
blind.layer = 0
if (disabilities & 1 && ((glasses && !glasses.prescription) || !glasses))
if ((disabilities & 1 && ((glasses && !glasses.prescription) || !glasses)) || (glasses && glasses.prescription && !(disabilities & 1)))
client.screen += hud_used.vimpaired
if (eye_blurry)
+1 -1
View File
@@ -700,7 +700,7 @@ datum/preferences
if(disabilities & 4)
usr << "Coughing"
if(disabilities & 8)
usr << "Twitchiness"
usr << "Twitchiness/Tourettes (You must hate yourself)"
if(disabilities & 16)
usr << "Nervousness"
if(disabilities & 32)