mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-21 03:55:05 +01:00
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:
@@ -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
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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]"))
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user