eswordthecat
2014-12-28 08:13:48 +08:00
parent 606e275857
commit 9131429301
31 changed files with 52 additions and 68 deletions

View File

@@ -185,25 +185,25 @@
handled=1 handled=1
if("set_input_pressure" in signal.data) if("set_input_pressure" in signal.data)
input_pressure_min = between( input_pressure_min = Clamp(
0,
text2num(signal.data["set_input_pressure"]), text2num(signal.data["set_input_pressure"]),
0,
ONE_ATMOSPHERE*50 ONE_ATMOSPHERE*50
) )
handled=1 handled=1
if("set_output_pressure" in signal.data) if("set_output_pressure" in signal.data)
output_pressure_max = between( output_pressure_max = Clamp(
text2num(signal.data["set_output_pressure"]),
0, 0,
text2num(signal.data["set_output_pressure"]),
ONE_ATMOSPHERE*50 ONE_ATMOSPHERE*50
) )
handled=1 handled=1
if("set_external_pressure" in signal.data) if("set_external_pressure" in signal.data)
external_pressure_bound = between( external_pressure_bound = Clamp(
0,
text2num(signal.data["set_external_pressure"]), text2num(signal.data["set_external_pressure"]),
0,
ONE_ATMOSPHERE*50 ONE_ATMOSPHERE*50
) )
handled=1 handled=1

View File

@@ -113,9 +113,9 @@
on = !on on = !on
if("set_output_pressure" in signal.data) if("set_output_pressure" in signal.data)
target_pressure = between( target_pressure = Clamp(
0,
text2num(signal.data["set_output_pressure"]), text2num(signal.data["set_output_pressure"]),
0,
ONE_ATMOSPHERE*50 ONE_ATMOSPHERE*50
) )

View File

@@ -134,9 +134,9 @@ Thus, the two variables affect pump operation are set in New():
on = !on on = !on
if("set_output_pressure" in signal.data) if("set_output_pressure" in signal.data)
target_pressure = between( target_pressure = Clamp(
0,
text2num(signal.data["set_output_pressure"]), text2num(signal.data["set_output_pressure"]),
0,
ONE_ATMOSPHERE*50 ONE_ATMOSPHERE*50
) )

View File

@@ -125,9 +125,9 @@ Thus, the two variables affect pump operation are set in New():
on = !on on = !on
if("set_transfer_rate" in signal.data) if("set_transfer_rate" in signal.data)
transfer_rate = between( transfer_rate = Clamp(
0,
text2num(signal.data["set_transfer_rate"]), text2num(signal.data["set_transfer_rate"]),
0,
air1.volume air1.volume
) )

View File

@@ -123,7 +123,7 @@
if("set_volume_rate" in signal.data) if("set_volume_rate" in signal.data)
var/number = text2num(signal.data["set_volume_rate"]) var/number = text2num(signal.data["set_volume_rate"])
volume_rate = between(0, number, air_contents.volume) volume_rate = Clamp(number, 0, air_contents.volume)
if("status" in signal.data) if("status" in signal.data)
spawn(2) spawn(2)

View File

@@ -225,33 +225,33 @@
handled=1 handled=1
if("set_internal_pressure" in signal.data) if("set_internal_pressure" in signal.data)
internal_pressure_bound = between( internal_pressure_bound = Clamp(
0,
text2num(signal.data["set_internal_pressure"]), text2num(signal.data["set_internal_pressure"]),
0,
ONE_ATMOSPHERE*50 ONE_ATMOSPHERE*50
) )
handled=1 handled=1
if("set_external_pressure" in signal.data) if("set_external_pressure" in signal.data)
external_pressure_bound = between( external_pressure_bound = Clamp(
0,
text2num(signal.data["set_external_pressure"]), text2num(signal.data["set_external_pressure"]),
0,
ONE_ATMOSPHERE*50 ONE_ATMOSPHERE*50
) )
handled=1 handled=1
if("adjust_internal_pressure" in signal.data) if("adjust_internal_pressure" in signal.data)
internal_pressure_bound = between( internal_pressure_bound = Clamp(
0,
internal_pressure_bound + text2num(signal.data["adjust_internal_pressure"]), internal_pressure_bound + text2num(signal.data["adjust_internal_pressure"]),
0,
ONE_ATMOSPHERE*50 ONE_ATMOSPHERE*50
) )
handled=1 handled=1
if("adjust_external_pressure" in signal.data) if("adjust_external_pressure" in signal.data)
external_pressure_bound = between( external_pressure_bound = Clamp(
0,
external_pressure_bound + text2num(signal.data["adjust_external_pressure"]), external_pressure_bound + text2num(signal.data["adjust_external_pressure"]),
0,
ONE_ATMOSPHERE*50 ONE_ATMOSPHERE*50
) )
handled=1 handled=1

View File

@@ -471,14 +471,6 @@ Turf and target are seperate in case you want to teleport some distance from a t
var/M = E/(SPEED_OF_LIGHT_SQ) var/M = E/(SPEED_OF_LIGHT_SQ)
return M return M
//Forces a variable to be posative
/proc/modulus(var/M)
if(M >= 0)
return M
if(M < 0)
return -M
/proc/key_name(var/whom, var/include_link = null, var/include_name = 1) /proc/key_name(var/whom, var/include_link = null, var/include_name = 1)
var/mob/M var/mob/M
var/client/C var/client/C
@@ -644,10 +636,6 @@ Turf and target are seperate in case you want to teleport some distance from a t
var/y = min(world.maxy, max(1, A.y + dy)) var/y = min(world.maxy, max(1, A.y + dy))
return locate(x,y,A.z) return locate(x,y,A.z)
//Makes sure MIDDLE is between LOW and HIGH. If not, it adjusts it. Returns the adjusted value.
/proc/between(var/low, var/middle, var/high)
return max(min(middle, high), low)
proc/arctan(x) proc/arctan(x)
var/y=arcsin(x/sqrt(1+x*x)) var/y=arcsin(x/sqrt(1+x*x))
return y return y
@@ -1234,10 +1222,6 @@ proc/get_mob_with_client_list()
loc = loc.loc loc = loc.loc
return null return null
/proc/get_turf_or_move(turf/location)
return get_turf(location)
//Quick type checks for some tools //Quick type checks for some tools
var/global/list/common_tools = list( var/global/list/common_tools = list(
/obj/item/weapon/cable_coil, /obj/item/weapon/cable_coil,

View File

@@ -748,7 +748,7 @@ datum/mind
usr << "\red No changeling!" usr << "\red No changeling!"
return return
var/new_g = input(usr,"Number of genomes","Changeling",changeling.geneticpoints) as num var/new_g = input(usr,"Number of genomes","Changeling",changeling.geneticpoints) as num
changeling.geneticpoints = between(0,new_g,100) changeling.geneticpoints = Clamp(new_g, 0, 100)
log_admin("[key_name_admin(usr)] has set changeling [current] to [changeling.geneticpoints] genomes.") log_admin("[key_name_admin(usr)] has set changeling [current] to [changeling.geneticpoints] genomes.")
else if (href_list["vampire"]) else if (href_list["vampire"])

View File

@@ -307,7 +307,7 @@ ________________________________________________________________________________
dat += "</ul>" dat += "</ul>"
if(1) if(1)
dat += "<h4><img src=sos_5.png> Atmospheric Scan:</h4>"//Headers don't need breaks. They are automatically placed. dat += "<h4><img src=sos_5.png> Atmospheric Scan:</h4>"//Headers don't need breaks. They are automatically placed.
var/turf/T = get_turf_or_move(U.loc) var/turf/T = get_turf(U.loc)
if (isnull(T)) if (isnull(T))
dat += "Unable to obtain a reading." dat += "Unable to obtain a reading."
else else

View File

@@ -484,7 +484,7 @@ legend {
if(href_list["out_set_pressure"]) if(href_list["out_set_pressure"])
var/response=input(usr,"Set new pressure, in kPa. \[0-[50*ONE_ATMOSPHERE]\]") as num var/response=input(usr,"Set new pressure, in kPa. \[0-[50*ONE_ATMOSPHERE]\]") as num
pressure_setting = text2num(response) pressure_setting = text2num(response)
pressure_setting = between(0, pressure_setting, 50*ONE_ATMOSPHERE) pressure_setting = Clamp(pressure_setting, 0, 50*ONE_ATMOSPHERE)
if(!radio_connection) if(!radio_connection)
return 0 return 0
@@ -503,7 +503,7 @@ legend {
input_info = null input_info = null
var/new_rate=input("Enter the new volume rate of the injector:","Injector Rate") as num var/new_rate=input("Enter the new volume rate of the injector:","Injector Rate") as num
new_rate = text2num(new_rate) new_rate = text2num(new_rate)
new_rate = between(0, new_rate, 300) new_rate = Clamp(new_rate, 0, new_rate)
signal.data = list ("tag" = input_tag, "set_volume_rate"=new_rate) signal.data = list ("tag" = input_tag, "set_volume_rate"=new_rate)
else if(href_list["out_refresh_status"]) else if(href_list["out_refresh_status"])

View File

@@ -215,7 +215,7 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list()
var/datum/gas_mixture/environment = loc.return_air() var/datum/gas_mixture/environment = loc.return_air()
switch(environment.temperature) switch(environment.temperature)
if(T0C to (T20C + 20)) if(T0C to (T20C + 20))
integrity = between(0, integrity, 100) integrity = Clamp(integrity, 0, 100)
if((T20C + 20) to (T0C + 70)) if((T20C + 20) to (T0C + 70))
integrity = max(0, integrity - 1) integrity = max(0, integrity - 1)
if(delay) if(delay)

View File

@@ -587,7 +587,7 @@
if(src) if(src)
src.process() src.process()
if(href_list["scan_range"]) if(href_list["scan_range"])
src.scan_range = between(1,src.scan_range+text2num(href_list["scan_range"]),8) src.scan_range = Clamp(src.scan_range + text2num(href_list["scan_range"]), 1, 8)
if(href_list["scan_for"]) if(href_list["scan_for"])
if(href_list["scan_for"] in scan_for) if(href_list["scan_for"] in scan_for)
scan_for[href_list["scan_for"]] = !scan_for[href_list["scan_for"]] scan_for[href_list["scan_for"]] = !scan_for[href_list["scan_for"]]

View File

@@ -156,7 +156,7 @@
if(18) src.overlays += "pai-cry" if(18) src.overlays += "pai-cry"
/obj/item/device/paicard/proc/alertUpdate() /obj/item/device/paicard/proc/alertUpdate()
var/turf/T = get_turf_or_move(src.loc) var/turf/T = get_turf(src.loc)
for (var/mob/M in viewers(T)) for (var/mob/M in viewers(T))
M.show_message("\blue [src] flashes a message across its screen, \"Additional personalities available for download.\"", 3, "\blue [src] bleeps electronically.", 2) M.show_message("\blue [src] flashes a message across its screen, \"Additional personalities available for download.\"", 3, "\blue [src] bleeps electronically.", 2)
playsound(loc, 'sound/machines/paistartup.ogg', 50, 1) playsound(loc, 'sound/machines/paistartup.ogg', 50, 1)

View File

@@ -188,7 +188,7 @@
if(answer == "Yes") if(answer == "Yes")
var/obj/item/device/paicard/card = loc var/obj/item/device/paicard/card = loc
card.removePersonality() card.removePersonality()
var/turf/T = get_turf_or_move(card.loc) var/turf/T = get_turf(card.loc)
for (var/mob/M in viewers(T)) for (var/mob/M in viewers(T))
M.show_message("\blue [src] flashes a message across its screen, \"Wiping core files. Please acquire a new personality to continue using pAI device functions.\"", 3, "\blue [src] bleeps electronically.", 2) M.show_message("\blue [src] flashes a message across its screen, \"Wiping core files. Please acquire a new personality to continue using pAI device functions.\"", 3, "\blue [src] bleeps electronically.", 2)
death(0) death(0)

View File

@@ -94,7 +94,7 @@
return return
if(!M) if(!M)
M = input("Direct narrate to who?", "Active Players") as null|anything in get_mob_with_client_list() M = input("Direct narrate to who?", "Active Players") as null|anything in player_list
if(!M) if(!M)
return return

View File

@@ -201,7 +201,7 @@
var/datum/gas_mixture/environment = loc.return_air() var/datum/gas_mixture/environment = loc.return_air()
switch(environment.temperature) switch(environment.temperature)
if(T0C to (T20C + 20)) if(T0C to (T20C + 20))
integrity = between(0, integrity, 100) integrity = Clamp(integrity, 0, 100)
if((T20C + 20) to INFINITY) if((T20C + 20) to INFINITY)
integrity = max(0, integrity - 1) integrity = max(0, integrity - 1)

View File

@@ -149,7 +149,7 @@ function SetMusic(url, time, volume) {
if (url != targetURL || abs(targetStartTime - start_time) > 1 || abs(targetVolume - source_volume) > 0.1 /* 10% */) if (url != targetURL || abs(targetStartTime - start_time) > 1 || abs(targetVolume - source_volume) > 0.1 /* 10% */)
url = targetURL url = targetURL
start_time = targetStartTime start_time = targetStartTime
source_volume = between(0,targetVolume,1) source_volume = Clamp(targetVolume, 0, 1)
send_update() send_update()
proc/stop_music() proc/stop_music()

View File

@@ -157,7 +157,7 @@
if(desired==0) if(desired==0)
return 1 return 1
var/obj/item/stack/sheet/out = new mat.sheettype(output.loc) var/obj/item/stack/sheet/out = new mat.sheettype(output.loc)
out.amount = between(0,desired,min(mat.stored,out.max_amount)) out.amount = Clamp(desired, 0, min(mat.stored, out.max_amount))
mat.stored -= out.amount mat.stored -= out.amount
updateUsrDialog() updateUsrDialog()
return return

View File

@@ -165,7 +165,7 @@ a.notsmelting {
if(href_list["choose"]) if(href_list["choose"])
chosen = href_list["choose"] chosen = href_list["choose"]
if(href_list["chooseAmt"]) if(href_list["chooseAmt"])
coinsToProduce = between(0, coinsToProduce + text2num(href_list["chooseAmt"]), 1000) coinsToProduce = Clamp(coinsToProduce + text2num(href_list["chooseAmt"]), 0, 1000)
if(href_list["makeCoins"]) if(href_list["makeCoins"])
var/temp_coins = coinsToProduce var/temp_coins = coinsToProduce
if (src.output) if (src.output)

View File

@@ -77,7 +77,7 @@
src.brainmob << "<b>Use say :b to speak to other artificial intelligences.</b>" src.brainmob << "<b>Use say :b to speak to other artificial intelligences.</b>"
src.brainmob.mind.assigned_role = "Positronic Brain" src.brainmob.mind.assigned_role = "Positronic Brain"
var/turf/T = get_turf_or_move(src.loc) var/turf/T = get_turf(src.loc)
for (var/mob/M in viewers(T)) for (var/mob/M in viewers(T))
M.show_message("<span class='notice'>The [src] chimes quietly.</span>") M.show_message("<span class='notice'>The [src] chimes quietly.</span>")
icon_state = "posibrain-occupied" icon_state = "posibrain-occupied"
@@ -89,7 +89,7 @@
src.searching = 0 src.searching = 0
icon_state = "posibrain" icon_state = "posibrain"
var/turf/T = get_turf_or_move(src.loc) var/turf/T = get_turf(src.loc)
for (var/mob/M in viewers(T)) for (var/mob/M in viewers(T))
M.show_message("<span class='notice'>The [src] buzzes quietly, and the golden lights fade away. Perhaps you could try again?</span>") M.show_message("<span class='notice'>The [src] buzzes quietly, and the golden lights fade away. Perhaps you could try again?</span>")
@@ -179,6 +179,6 @@
if(searching) if(searching)
volunteer(O) volunteer(O)
else else
var/turf/T = get_turf_or_move(src.loc) var/turf/T = get_turf(src.loc)
for (var/mob/M in viewers(T)) for (var/mob/M in viewers(T))
M.show_message("<span class='notice'>The [src] pings softly.</span>") M.show_message("<span class='notice'>The [src] pings softly.</span>")

View File

@@ -7,7 +7,7 @@
/mob/living/silicon/pai/proc/securityHUD() /mob/living/silicon/pai/proc/securityHUD()
if(client) if(client)
var/image/holder var/image/holder
var/turf/T = get_turf_or_move(src.loc) var/turf/T = get_turf(src.loc)
for(var/mob/living/carbon/human/perp in view(T)) for(var/mob/living/carbon/human/perp in view(T))
if(src.see_invisible < perp.invisibility) if(src.see_invisible < perp.invisibility)
continue continue
@@ -51,7 +51,7 @@
/mob/living/silicon/pai/proc/medicalHUD() /mob/living/silicon/pai/proc/medicalHUD()
if(client) if(client)
var/image/holder var/image/holder
var/turf/T = get_turf_or_move(src.loc) var/turf/T = get_turf(src.loc)
for(var/mob/living/carbon/human/patient in view(T)) for(var/mob/living/carbon/human/patient in view(T))
if(src.see_invisible < patient.invisibility) if(src.see_invisible < patient.invisibility)
continue continue

View File

@@ -3,7 +3,7 @@
return return
if(src.cable) if(src.cable)
if(get_dist(src, src.cable) > 1) if(get_dist(src, src.cable) > 1)
var/turf/T = get_turf_or_move(src.loc) var/turf/T = get_turf(src.loc)
for (var/mob/M in viewers(T)) for (var/mob/M in viewers(T))
M.show_message("\red [src.cable] rapidly retracts back into its spool.", 3, "\red You hear a click and the sound of wire spooling rapidly.", 2) M.show_message("\red [src.cable] rapidly retracts back into its spool.", 3, "\red You hear a click and the sound of wire spooling rapidly.", 2)
del(src.cable) del(src.cable)

View File

@@ -125,7 +125,7 @@
src.silence_time = world.timeofday + 120 * 10 // Silence for 2 minutes src.silence_time = world.timeofday + 120 * 10 // Silence for 2 minutes
src << "<font color=green><b>Communication circuit overload. Shutting down and reloading communication circuits - speech and messaging functionality will be unavailable until the reboot is complete.</b></font>" src << "<font color=green><b>Communication circuit overload. Shutting down and reloading communication circuits - speech and messaging functionality will be unavailable until the reboot is complete.</b></font>"
if(prob(20)) if(prob(20))
var/turf/T = get_turf_or_move(src.loc) var/turf/T = get_turf(src.loc)
for (var/mob/M in viewers(T)) for (var/mob/M in viewers(T))
M.show_message("\red A shower of sparks spray from [src]'s inner workings.", 3, "\red You hear and smell the ozone hiss of electrical sparks being expelled violently.", 2) M.show_message("\red A shower of sparks spray from [src]'s inner workings.", 3, "\red You hear and smell the ozone hiss of electrical sparks being expelled violently.", 2)
return src.death(0) return src.death(0)

View File

@@ -285,7 +285,7 @@
if(href_list["cancel"]) if(href_list["cancel"])
src.hackdoor = null src.hackdoor = null
if(href_list["cable"]) if(href_list["cable"])
var/turf/T = get_turf_or_move(src.loc) var/turf/T = get_turf(src.loc)
src.cable = new /obj/item/weapon/pai_cable(T) src.cable = new /obj/item/weapon/pai_cable(T)
for (var/mob/M in viewers(T)) for (var/mob/M in viewers(T))
M.show_message("\red A port on [src] opens to reveal [src.cable], which promptly falls to the floor.", 3, "\red You hear the soft click of something light and hard falling to the ground.", 2) M.show_message("\red A port on [src] opens to reveal [src.cable], which promptly falls to the floor.", 3, "\red You hear the soft click of something light and hard falling to the ground.", 2)
@@ -408,7 +408,7 @@
/mob/living/silicon/pai/proc/CheckDNA(var/mob/M, var/mob/living/silicon/pai/P) /mob/living/silicon/pai/proc/CheckDNA(var/mob/M, var/mob/living/silicon/pai/P)
var/answer = input(M, "[P] is requesting a DNA sample from you. Will you allow it to confirm your identity?", "[P] Check DNA", "No") in list("Yes", "No") var/answer = input(M, "[P] is requesting a DNA sample from you. Will you allow it to confirm your identity?", "[P] Check DNA", "No") in list("Yes", "No")
if(answer == "Yes") if(answer == "Yes")
var/turf/T = get_turf_or_move(P.loc) var/turf/T = get_turf(P.loc)
for (var/mob/v in viewers(T)) for (var/mob/v in viewers(T))
v.show_message("\blue [M] presses \his thumb against [P].", 3, "\blue [P] makes a sharp clicking sound as it extracts DNA material from [M].", 2) v.show_message("\blue [M] presses \his thumb against [P].", 3, "\blue [P] makes a sharp clicking sound as it extracts DNA material from [M].", 2)
var/datum/dna/dna = M.dna var/datum/dna/dna = M.dna
@@ -562,7 +562,7 @@
/mob/living/silicon/pai/proc/softwareAtmo() /mob/living/silicon/pai/proc/softwareAtmo()
var/dat = "<h3>Atmospheric Sensor</h4>" var/dat = "<h3>Atmospheric Sensor</h4>"
var/turf/T = get_turf_or_move(src.loc) var/turf/T = get_turf(src.loc)
if (isnull(T)) if (isnull(T))
dat += "Unable to obtain a reading.<br>" dat += "Unable to obtain a reading.<br>"
else else
@@ -662,7 +662,7 @@ Cable status :"}
// Door Jack - supporting proc // Door Jack - supporting proc
/mob/living/silicon/pai/proc/hackloop() /mob/living/silicon/pai/proc/hackloop()
var/turf/T = get_turf_or_move(src.loc) var/turf/T = get_turf(src.loc)
for(var/mob/living/silicon/ai/AI in player_list) for(var/mob/living/silicon/ai/AI in player_list)
if(T.loc) if(T.loc)
AI << "<font color = red><b>Network Alert: Brute-force encryption crack in progress in [T.loc].</b></font>" AI << "<font color = red><b>Network Alert: Brute-force encryption crack in progress in [T.loc].</b></font>"

View File

@@ -369,7 +369,7 @@ Note that amputating the affected organ does in fact remove the infection from t
//having an infection raises your body temperature //having an infection raises your body temperature
var/fever_temperature = (owner.species.heat_level_1 - owner.species.body_temperature - 5)* min(germ_level/INFECTION_LEVEL_TWO, 1) + owner.species.body_temperature var/fever_temperature = (owner.species.heat_level_1 - owner.species.body_temperature - 5)* min(germ_level/INFECTION_LEVEL_TWO, 1) + owner.species.body_temperature
//need to make sure we raise temperature fast enough to get around environmental cooling preventing us from reaching fever_temperature //need to make sure we raise temperature fast enough to get around environmental cooling preventing us from reaching fever_temperature
owner.bodytemperature += between(0, (fever_temperature - T20C)/BODYTEMP_COLD_DIVISOR + 1, fever_temperature - owner.bodytemperature) owner.bodytemperature += Clamp((fever_temperature - T20C) / BODYTEMP_COLD_DIVISOR + 1, 0, fever_temperature - owner.bodytemperature)
if(prob(round(germ_level/10))) if(prob(round(germ_level/10)))
if (antibiotics < 5) if (antibiotics < 5)

View File

@@ -44,7 +44,7 @@ field_generator power level display
// Scale % power to % num_power_levels and truncate value // Scale % power to % num_power_levels and truncate value
var/level = round(num_power_levels * power / field_generator_max_power) var/level = round(num_power_levels * power / field_generator_max_power)
// Clamp between 0 and num_power_levels for out of range power values // Clamp between 0 and num_power_levels for out of range power values
level = between(0, level, num_power_levels) level = Clamp(level, 0, num_power_levels)
if(level) if(level)
overlays += "+p[level]" overlays += "+p[level]"

View File

@@ -81,7 +81,7 @@ k
for(var/datum/tech/T in temp_techs) for(var/datum/tech/T in temp_techs)
if(T.id in req_tech) if(T.id in req_tech)
new_reliability += T.level new_reliability += T.level
new_reliability = between(reliability_base, new_reliability, 100) new_reliability = Clamp(new_reliability, reliability_base, 100)
reliability = new_reliability reliability = new_reliability
return return

View File

@@ -31,7 +31,7 @@ Note: Must be placed within 3 tiles of the R&D Console
var/T = 0 var/T = 0
for(var/obj/item/weapon/stock_parts/S in src) for(var/obj/item/weapon/stock_parts/S in src)
T += S.rating * 0.1 T += S.rating * 0.1
T = between (0, T, 1) T = Clamp(T, 0, 1)
decon_mod = T decon_mod = T
/obj/machinery/r_n_d/destructive_analyzer/meteorhit() /obj/machinery/r_n_d/destructive_analyzer/meteorhit()

View File

@@ -668,7 +668,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
// AUTOFIXED BY fix_string_idiocy.py // AUTOFIXED BY fix_string_idiocy.py
// C:\Users\Rob\Documents\Projects\vgstation13\code\modules\research\rdconsole.dm:644: dat += "Name: [d_disk.blueprint.name]<BR>" // C:\Users\Rob\Documents\Projects\vgstation13\code\modules\research\rdconsole.dm:644: dat += "Name: [d_disk.blueprint.name]<BR>"
dat += {"Name: [d_disk.blueprint.name]<BR> dat += {"Name: [d_disk.blueprint.name]<BR>
Level: [between(0, (d_disk.blueprint.reliability + rand(-15,15)), 100)]<BR>"} Level: [Clamp(d_disk.blueprint.reliability + rand(-15,15), 0, 100)]<BR>"}
// END AUTOFIX // END AUTOFIX
switch(d_disk.blueprint.build_type) switch(d_disk.blueprint.build_type)
if(IMPRINTER) dat += "Lathe Type: Circuit Imprinter<BR>" if(IMPRINTER) dat += "Lathe Type: Circuit Imprinter<BR>"

View File

@@ -141,7 +141,7 @@ research holder datum.
if(DesignHasReqs(PD)) if(DesignHasReqs(PD))
AddDesign2Known(PD) AddDesign2Known(PD)
for(var/datum/tech/T in known_tech) for(var/datum/tech/T in known_tech)
T = between(1,T.level,20) T = Clamp(T.level, 1, 20)
for(var/datum/design/D in known_designs) for(var/datum/design/D in known_designs)
D.CalcReliability(known_tech) D.CalcReliability(known_tech)
return return

View File

@@ -57,7 +57,7 @@
if(0 to T0C) if(0 to T0C)
health = min(100, health + 1) health = min(100, health + 1)
if(T0C to (T20C + 20)) if(T0C to (T20C + 20))
health = between(0, health, 100) health = Clamp(health, 0, 100)
if((T20C + 20) to INFINITY) if((T20C + 20) to INFINITY)
health = max(0, health - 1) health = max(0, health - 1)
if(health <= 0) if(health <= 0)