Merge branch 'master' of https://github.com/ParadiseSS13/Paradise into BookClub

# Conflicts:
#	code/game/machinery/doors/airlock.dm
This commit is contained in:
Aurorablade
2016-12-29 11:01:43 -05:00
209 changed files with 13486 additions and 11449 deletions
@@ -107,22 +107,30 @@
*
* @return nothing
*/
/obj/machinery/chem_dispenser/ui_interact(mob/user, ui_key = "main", datum/nanoui/ui = null, force_open = 1)
if(broken_requirements.len)
to_chat(user, "<span class='warning'>[src] is broken. [broken_requirements[broken_requirements[1]]]</span>")
return
// update the ui if it exists, returns null if no ui is passed/found
ui = nanomanager.try_update_ui(user, src, ui_key, ui, force_open)
if(!ui)
// the ui does not exist, so we'll create a new() one
// for a list of parameters and their descriptions see the code docs in \code\modules\nano\nanoui.dm
ui = new(user, src, ui_key, "chem_dispenser.tmpl", ui_title, 390, 655)
// open the new ui window
ui.open()
// this is the data which will be sent to the ui
/obj/machinery/chem_dispenser/ui_data(mob/user, datum/topic_state/state = default_state)
var/data[0]
data["amount"] = amount
data["energy"] = round(energy)
data["maxEnergy"] = round(max_energy)
data["isBeakerLoaded"] = beaker ? 1 : 0
var beakerContents[0]
var beakerCurrentVolume = 0
var/beakerContents[0]
var/beakerCurrentVolume = 0
if(beaker && beaker.reagents && beaker.reagents.reagent_list.len)
for(var/datum/reagent/R in beaker.reagents.reagent_list)
beakerContents.Add(list(list("name" = R.name, "id"=R.id, "volume" = R.volume))) // list in a list because Byond merges the first list...
@@ -136,23 +144,14 @@
data["beakerCurrentVolume"] = null
data["beakerMaxVolume"] = null
var chemicals[0]
var/chemicals[0]
for(var/re in dispensable_reagents)
var/datum/reagent/temp = chemical_reagents_list[re]
if(temp)
chemicals.Add(list(list("title" = temp.name, "id" = temp.id, "commands" = list("dispense" = temp.id)))) // list in a list because Byond merges the first list...
data["chemicals"] = chemicals
// update the ui if it exists, returns null if no ui is passed/found
ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open)
if(!ui)
// the ui does not exist, so we'll create a new() one
// for a list of parameters and their descriptions see the code docs in \code\modules\nano\nanoui.dm
ui = new(user, src, ui_key, "chem_dispenser.tmpl", ui_title, 390, 655)
// when the ui is first opened this is the data it will use
ui.set_initial_data(data)
// open the new ui window
ui.open()
return data
/obj/machinery/chem_dispenser/Topic(href, href_list)
if(..())
@@ -130,7 +130,15 @@
if(user.stat || user.restrained())
return
// update the ui if it exists, returns null if no ui is passed/found
ui = nanomanager.try_update_ui(user, src, ui_key, ui)
if(!ui)
ui = new(user, src, ui_key, "chem_heater.tmpl", "ChemHeater", 350, 270)
ui.open()
/obj/machinery/chem_heater/ui_data(mob/user, datum/topic_state/state = default_state)
var/data[0]
data["targetTemp"] = desired_temp
data["isActive"] = on
data["isBeakerLoaded"] = beaker ? 1 : 0
@@ -140,15 +148,10 @@
data["beakerMaxVolume"] = beaker ? beaker.volume : null
//copy-pasted from chem dispenser
var beakerContents[0]
var/beakerContents[0]
if(beaker)
for(var/datum/reagent/R in beaker.reagents.reagent_list)
beakerContents.Add(list(list("name" = R.name, "volume" = R.volume))) // list in a list because Byond merges the first list...
data["beakerContents"] = beakerContents
// update the ui if it exists, returns null if no ui is passed/found
ui = nanomanager.try_update_ui(user, src, ui_key, ui, data)
if(!ui)
ui = new(user, src, ui_key, "chem_heater.tmpl", "ChemHeater", 350, 270)
ui.set_initial_data(data)
ui.open()
return data
@@ -319,12 +319,17 @@
ui_interact(user)
return
/obj/machinery/chem_master/ui_interact(mob/user, ui_key="main", datum/nanoui/ui = null, force_open = 1)
/obj/machinery/chem_master/ui_interact(mob/user, ui_key = "main", datum/nanoui/ui = null, force_open = 1)
var/datum/asset/chem_master/assets = get_asset_datum(/datum/asset/chem_master)
assets.send(user)
var/data = list()
ui = nanomanager.try_update_ui(user, src, ui_key, ui, force_open)
if(!ui)
ui = new(user, src, ui_key, "chem_master.tmpl", name, 575, 400)
ui.open()
/obj/machinery/chem_master/ui_data(mob/user, datum/topic_state/state = default_state)
var/data[0]
data["condi"] = condi
data["loaded_pill_bottle"] = (loaded_pill_bottle ? 1 : 0)
@@ -347,11 +352,7 @@
data["bottlesprite"] = bottlesprite
data["mode"] = mode
ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open)
if(!ui)
ui = new(user, src, ui_key, "chem_master.tmpl", name, 575, 400)
ui.set_initial_data(data)
ui.open()
return data
/obj/machinery/chem_master/proc/isgoodnumber(num)
if(isnum(num))
@@ -913,11 +913,9 @@
/datum/reagent/atrazine/reaction_turf(turf/simulated/wall/W, volume) // Clear off wallrot fungi
if(istype(W) && W.rotting)
for(var/obj/effect/overlay/wall_rot/WR in W)
qdel(WR)
W.rotting = 0
for(var/obj/effect/overlay/O in W)
if(O.name == "Wallrot") // This is so awful
qdel(O)
W.visible_message("<span class='warning'>The fungi are completely dissolved by the solution!</span>")
/datum/reagent/atrazine/reaction_obj(obj/O, volume)