512 experimental (#31251)

* 512 update

* Travis update

* Fixes mass replace mixup
This commit is contained in:
AnturK
2017-10-11 21:48:44 +02:00
committed by ninjanomnom
parent 8d6bf17c6c
commit 83e177e43c
8 changed files with 63 additions and 64 deletions

View File

@@ -2,8 +2,8 @@ language: generic
sudo: false sudo: false
env: env:
global: global:
- BYOND_MAJOR="511" - BYOND_MAJOR="512"
- BYOND_MINOR="1380" - BYOND_MINOR="1388"
- NODE_VERSION="4" - NODE_VERSION="4"
- BUILD_TOOLS=false - BUILD_TOOLS=false
- BUILD_TESTING=false - BUILD_TESTING=false

View File

@@ -9,7 +9,7 @@
var/list/apcs //APCs the computer has access to var/list/apcs //APCs the computer has access to
var/mob/living/operator //Who's operating the computer right now var/mob/living/operator //Who's operating the computer right now
var/obj/machinery/power/apc/active_apc //The APC we're using right now var/obj/machinery/power/apc/active_apc //The APC we're using right now
var/list/filters //For sorting the results var/list/result_filters //For sorting the results
var/checking_logs = 0 var/checking_logs = 0
var/list/logs var/list/logs
var/authenticated = 0 var/authenticated = 0
@@ -18,7 +18,7 @@
/obj/machinery/computer/apc_control/Initialize() /obj/machinery/computer/apc_control/Initialize()
. = ..() . = ..()
apcs = list() //To avoid BYOND making the list run through a ton of procs apcs = list() //To avoid BYOND making the list run through a ton of procs
filters = list("Name" = null, "Charge Above" = null, "Charge Below" = null, "Responsive" = null) result_filters = list("Name" = null, "Charge Above" = null, "Charge Below" = null, "Responsive" = null)
/obj/machinery/computer/apc_control/process() /obj/machinery/computer/apc_control/process()
apcs = list() //Clear the list every tick apcs = list() //Clear the list every tick
@@ -52,18 +52,18 @@
if(!checking_logs) if(!checking_logs)
dat += "Logged in as [auth_id].<br><br>" dat += "Logged in as [auth_id].<br><br>"
dat += "<i>Filters</i><br>" dat += "<i>Filters</i><br>"
dat += "<b>Name:</b> <a href='?src=\ref[src];name_filter=1'>[filters["Name"] ? filters["Name"] : "None set"]</a><br>" dat += "<b>Name:</b> <a href='?src=\ref[src];name_filter=1'>[result_filters["Name"] ? result_filters["Name"] : "None set"]</a><br>"
dat += "<b>Charge:</b> <a href='?src=\ref[src];above_filter=1'>\>[filters["Charge Above"] ? filters["Charge Above"] : "NaN"]%</a> and <a href='?src=\ref[src];below_filter=1'>\<[filters["Charge Below"] ? filters["Charge Below"] : "NaN"]%</a><br>" dat += "<b>Charge:</b> <a href='?src=\ref[src];above_filter=1'>\>[result_filters["Charge Above"] ? result_filters["Charge Above"] : "NaN"]%</a> and <a href='?src=\ref[src];below_filter=1'>\<[result_filters["Charge Below"] ? result_filters["Charge Below"] : "NaN"]%</a><br>"
dat += "<b>Accessible:</b> <a href='?src=\ref[src];access_filter=1'>[filters["Responsive"] ? "Non-Responsive Only" : "All"]</a><br><br>" dat += "<b>Accessible:</b> <a href='?src=\ref[src];access_filter=1'>[result_filters["Responsive"] ? "Non-Responsive Only" : "All"]</a><br><br>"
for(var/A in apcs) for(var/A in apcs)
var/obj/machinery/power/apc/APC = apcs[A] var/obj/machinery/power/apc/APC = apcs[A]
if(filters["Name"] && !findtext(APC.name, filters["Name"]) && !findtext(APC.area.name, filters["Name"])) if(result_filters["Name"] && !findtext(APC.name, result_filters["Name"]) && !findtext(APC.area.name, result_filters["Name"]))
continue continue
if(filters["Charge Above"] && (APC.cell.charge / APC.cell.maxcharge) < filters["Charge Above"] / 100) if(result_filters["Charge Above"] && (APC.cell.charge / APC.cell.maxcharge) < result_filters["Charge Above"] / 100)
continue continue
if(filters["Charge Below"] && (APC.cell.charge / APC.cell.maxcharge) > filters["Charge Below"] / 100) if(result_filters["Charge Below"] && (APC.cell.charge / APC.cell.maxcharge) > result_filters["Charge Below"] / 100)
continue continue
if(filters["Responsive"] && !APC.aidisabled) if(result_filters["Responsive"] && !APC.aidisabled)
continue continue
dat += "<a href='?src=\ref[src];access_apc=\ref[APC]'>[A]</a><br>\ dat += "<a href='?src=\ref[src];access_apc=\ref[APC]'>[A]</a><br>\
<b>Charge:</b> [DisplayPower(APC.cell.charge)] / [DisplayPower(APC.cell.maxcharge)] ([round((APC.cell.charge / APC.cell.maxcharge) * 100)]%)<br>\ <b>Charge:</b> [DisplayPower(APC.cell.charge)] / [DisplayPower(APC.cell.maxcharge)] ([round((APC.cell.charge / APC.cell.maxcharge) * 100)]%)<br>\
@@ -153,7 +153,7 @@
return return
log_activity("changed name filter to \"[new_filter]\"") log_activity("changed name filter to \"[new_filter]\"")
playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0) playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0)
filters["Name"] = new_filter result_filters["Name"] = new_filter
if(href_list["above_filter"]) if(href_list["above_filter"])
playsound(src, 'sound/machines/terminal_prompt.ogg', 50, 0) playsound(src, 'sound/machines/terminal_prompt.ogg', 50, 0)
var/new_filter = input(usr, "Enter a percentage from 1-100 to sort by (greater than).", name) as null|num var/new_filter = input(usr, "Enter a percentage from 1-100 to sort by (greater than).", name) as null|num
@@ -163,7 +163,7 @@
if(new_filter) if(new_filter)
new_filter = Clamp(new_filter, 0, 100) new_filter = Clamp(new_filter, 0, 100)
playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0) playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0)
filters["Charge Above"] = new_filter result_filters["Charge Above"] = new_filter
if(href_list["below_filter"]) if(href_list["below_filter"])
playsound(src, 'sound/machines/terminal_prompt.ogg', 50, 0) playsound(src, 'sound/machines/terminal_prompt.ogg', 50, 0)
var/new_filter = input(usr, "Enter a percentage from 1-100 to sort by (lesser than).", name) as null|num var/new_filter = input(usr, "Enter a percentage from 1-100 to sort by (lesser than).", name) as null|num
@@ -173,13 +173,13 @@
if(new_filter) if(new_filter)
new_filter = Clamp(new_filter, 0, 100) new_filter = Clamp(new_filter, 0, 100)
playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0) playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0)
filters["Charge Below"] = new_filter result_filters["Charge Below"] = new_filter
if(href_list["access_filter"]) if(href_list["access_filter"])
if(isnull(filters["Responsive"])) if(isnull(result_filters["Responsive"]))
filters["Responsive"] = 1 result_filters["Responsive"] = 1
log_activity("sorted by non-responsive APCs only") log_activity("sorted by non-responsive APCs only")
else else
filters["Responsive"] = !filters["Responsive"] result_filters["Responsive"] = !result_filters["Responsive"]
log_activity("sorted by all APCs") log_activity("sorted by all APCs")
playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0) playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0)
if(href_list["check_logs"]) if(href_list["check_logs"])

View File

@@ -110,15 +110,15 @@
/obj/item/mecha_parts/mecha_equipment/medical/sleeper/Topic(href,href_list) /obj/item/mecha_parts/mecha_equipment/medical/sleeper/Topic(href,href_list)
..() ..()
var/datum/topic_input/filter = new /datum/topic_input(href,href_list) var/datum/topic_input/afilter = new /datum/topic_input(href,href_list)
if(filter.get("eject")) if(afilter.get("eject"))
go_out() go_out()
if(filter.get("view_stats")) if(afilter.get("view_stats"))
chassis.occupant << browse(get_patient_stats(),"window=msleeper") chassis.occupant << browse(get_patient_stats(),"window=msleeper")
onclose(chassis.occupant, "msleeper") onclose(chassis.occupant, "msleeper")
return return
if(filter.get("inject")) if(afilter.get("inject"))
inject_reagent(filter.getType("inject", /datum/reagent),filter.getObj("source")) inject_reagent(afilter.getType("inject", /datum/reagent),afilter.getObj("source"))
return return
/obj/item/mecha_parts/mecha_equipment/medical/sleeper/proc/get_patient_stats() /obj/item/mecha_parts/mecha_equipment/medical/sleeper/proc/get_patient_stats()
@@ -358,19 +358,19 @@
/obj/item/mecha_parts/mecha_equipment/medical/syringe_gun/Topic(href,href_list) /obj/item/mecha_parts/mecha_equipment/medical/syringe_gun/Topic(href,href_list)
..() ..()
var/datum/topic_input/filter = new (href,href_list) var/datum/topic_input/afilter = new (href,href_list)
if(filter.get("toggle_mode")) if(afilter.get("toggle_mode"))
mode = !mode mode = !mode
update_equip_info() update_equip_info()
return return
if(filter.get("select_reagents")) if(afilter.get("select_reagents"))
processed_reagents.len = 0 processed_reagents.len = 0
var/m = 0 var/m = 0
var/message var/message
for(var/i=1 to known_reagents.len) for(var/i=1 to known_reagents.len)
if(m>=synth_speed) if(m>=synth_speed)
break break
var/reagent = filter.get("reagent_[i]") var/reagent = afilter.get("reagent_[i]")
if(reagent && (reagent in known_reagents)) if(reagent && (reagent in known_reagents))
message = "[m ? ", " : null][known_reagents[reagent]]" message = "[m ? ", " : null][known_reagents[reagent]]"
processed_reagents += reagent processed_reagents += reagent
@@ -382,14 +382,14 @@
occupant_message("Reagent processing started.") occupant_message("Reagent processing started.")
log_message("Reagent processing started.") log_message("Reagent processing started.")
return return
if(filter.get("show_reagents")) if(afilter.get("show_reagents"))
chassis.occupant << browse(get_reagents_page(),"window=msyringegun") chassis.occupant << browse(get_reagents_page(),"window=msyringegun")
if(filter.get("purge_reagent")) if(afilter.get("purge_reagent"))
var/reagent = filter.get("purge_reagent") var/reagent = afilter.get("purge_reagent")
if(reagent) if(reagent)
reagents.del_reagent(reagent) reagents.del_reagent(reagent)
return return
if(filter.get("purge_all")) if(afilter.get("purge_all"))
reagents.clear_reagents() reagents.clear_reagents()
return return
return return

View File

@@ -332,9 +332,9 @@
/obj/machinery/mecha_part_fabricator/Topic(href, href_list) /obj/machinery/mecha_part_fabricator/Topic(href, href_list)
if(..()) if(..())
return return
var/datum/topic_input/filter = new /datum/topic_input(href,href_list) var/datum/topic_input/afilter = new /datum/topic_input(href,href_list)
if(href_list["part_set"]) if(href_list["part_set"])
var/tpart_set = filter.getStr("part_set") var/tpart_set = afilter.getStr("part_set")
if(tpart_set) if(tpart_set)
if(tpart_set=="clear") if(tpart_set=="clear")
part_set = null part_set = null
@@ -342,7 +342,7 @@
part_set = tpart_set part_set = tpart_set
screen = "parts" screen = "parts"
if(href_list["part"]) if(href_list["part"])
var/T = filter.getStr("part") var/T = afilter.getStr("part")
for(var/v in files.known_designs) for(var/v in files.known_designs)
var/datum/design/D = files.known_designs[v] var/datum/design/D = files.known_designs[v]
if(D.build_type & MECHFAB) if(D.build_type & MECHFAB)
@@ -353,7 +353,7 @@
add_to_queue(D) add_to_queue(D)
break break
if(href_list["add_to_queue"]) if(href_list["add_to_queue"])
var/T = filter.getStr("add_to_queue") var/T = afilter.getStr("add_to_queue")
for(var/v in files.known_designs) for(var/v in files.known_designs)
var/datum/design/D = files.known_designs[v] var/datum/design/D = files.known_designs[v]
if(D.build_type & MECHFAB) if(D.build_type & MECHFAB)
@@ -362,10 +362,10 @@
break break
return update_queue_on_page() return update_queue_on_page()
if(href_list["remove_from_queue"]) if(href_list["remove_from_queue"])
remove_from_queue(filter.getNum("remove_from_queue")) remove_from_queue(afilter.getNum("remove_from_queue"))
return update_queue_on_page() return update_queue_on_page()
if(href_list["partset_to_queue"]) if(href_list["partset_to_queue"])
add_part_set_to_queue(filter.get("partset_to_queue")) add_part_set_to_queue(afilter.get("partset_to_queue"))
return update_queue_on_page() return update_queue_on_page()
if(href_list["process_queue"]) if(href_list["process_queue"])
spawn(0) spawn(0)
@@ -379,8 +379,8 @@
if(href_list["screen"]) if(href_list["screen"])
screen = href_list["screen"] screen = href_list["screen"]
if(href_list["queue_move"] && href_list["index"]) if(href_list["queue_move"] && href_list["index"])
var/index = filter.getNum("index") var/index = afilter.getNum("index")
var/new_index = index + filter.getNum("queue_move") var/new_index = index + afilter.getNum("queue_move")
if(isnum(index) && isnum(new_index) && IsInteger(index) && IsInteger(new_index)) if(isnum(index) && isnum(new_index) && IsInteger(index) && IsInteger(new_index))
if(IsInRange(new_index,1,queue.len)) if(IsInRange(new_index,1,queue.len))
queue.Swap(index,new_index) queue.Swap(index,new_index)
@@ -391,7 +391,7 @@
if(href_list["sync"]) if(href_list["sync"])
sync() sync()
if(href_list["part_desc"]) if(href_list["part_desc"])
var/T = filter.getStr("part_desc") var/T = afilter.getStr("part_desc")
for(var/v in files.known_designs) for(var/v in files.known_designs)
var/datum/design/D = files.known_designs[v] var/datum/design/D = files.known_designs[v]
if(D.build_type & MECHFAB) if(D.build_type & MECHFAB)

View File

@@ -41,19 +41,19 @@
/obj/machinery/computer/mecha/Topic(href, href_list) /obj/machinery/computer/mecha/Topic(href, href_list)
if(..()) if(..())
return return
var/datum/topic_input/filter = new /datum/topic_input(href,href_list) var/datum/topic_input/afilter = new /datum/topic_input(href,href_list)
if(href_list["send_message"]) if(href_list["send_message"])
var/obj/item/mecha_parts/mecha_tracking/MT = filter.getObj("send_message") var/obj/item/mecha_parts/mecha_tracking/MT = afilter.getObj("send_message")
var/message = stripped_input(usr,"Input message","Transmit message") var/message = stripped_input(usr,"Input message","Transmit message")
var/obj/mecha/M = MT.in_mecha() var/obj/mecha/M = MT.in_mecha()
if(trim(message) && M) if(trim(message) && M)
M.occupant_message(message) M.occupant_message(message)
return return
if(href_list["shock"]) if(href_list["shock"])
var/obj/item/mecha_parts/mecha_tracking/MT = filter.getObj("shock") var/obj/item/mecha_parts/mecha_tracking/MT = afilter.getObj("shock")
MT.shock() MT.shock()
if(href_list["get_log"]) if(href_list["get_log"])
var/obj/item/mecha_parts/mecha_tracking/MT = filter.getObj("get_log") var/obj/item/mecha_parts/mecha_tracking/MT = afilter.getObj("get_log")
stored_data = MT.get_mecha_log() stored_data = MT.get_mecha_log()
screen = 1 screen = 1
if(href_list["return"]) if(href_list["return"])

View File

@@ -221,15 +221,15 @@
if(usr.incapacitated()) if(usr.incapacitated())
return return
var/datum/topic_input/filter = new /datum/topic_input(href,href_list) var/datum/topic_input/afilter = new /datum/topic_input(href,href_list)
if(in_range(src, usr)) if(in_range(src, usr))
if(href_list["req_access"] && add_req_access) if(href_list["req_access"] && add_req_access)
output_access_dialog(filter.getObj("id_card"),filter.getMob("user")) output_access_dialog(afilter.getObj("id_card"),afilter.getMob("user"))
if(href_list["maint_access"] && maint_access) if(href_list["maint_access"] && maint_access)
var/mob/user = filter.getMob("user") var/mob/user = afilter.getMob("user")
if(user) if(user)
if(state==0) if(state==0)
state = 1 state = 1
@@ -237,27 +237,27 @@
else if(state==1) else if(state==1)
state = 0 state = 0
to_chat(user, "The securing bolts are now hidden.") to_chat(user, "The securing bolts are now hidden.")
output_maintenance_dialog(filter.getObj("id_card"),user) output_maintenance_dialog(afilter.getObj("id_card"),user)
if(href_list["set_internal_tank_valve"] && state >=1) if(href_list["set_internal_tank_valve"] && state >=1)
var/mob/user = filter.getMob("user") var/mob/user = afilter.getMob("user")
if(user) if(user)
var/new_pressure = input(user,"Input new output pressure","Pressure setting",internal_tank_valve) as num var/new_pressure = input(user,"Input new output pressure","Pressure setting",internal_tank_valve) as num
if(new_pressure) if(new_pressure)
internal_tank_valve = new_pressure internal_tank_valve = new_pressure
to_chat(user, "The internal pressure valve has been set to [internal_tank_valve]kPa.") to_chat(user, "The internal pressure valve has been set to [internal_tank_valve]kPa.")
if(href_list["add_req_access"] && add_req_access && filter.getObj("id_card")) if(href_list["add_req_access"] && add_req_access && afilter.getObj("id_card"))
operation_req_access += filter.getNum("add_req_access") operation_req_access += afilter.getNum("add_req_access")
output_access_dialog(filter.getObj("id_card"),filter.getMob("user")) output_access_dialog(afilter.getObj("id_card"),afilter.getMob("user"))
if(href_list["del_req_access"] && add_req_access && filter.getObj("id_card")) if(href_list["del_req_access"] && add_req_access && afilter.getObj("id_card"))
operation_req_access -= filter.getNum("del_req_access") operation_req_access -= afilter.getNum("del_req_access")
output_access_dialog(filter.getObj("id_card"),filter.getMob("user")) output_access_dialog(afilter.getObj("id_card"),afilter.getMob("user"))
if(href_list["finish_req_access"]) if(href_list["finish_req_access"])
add_req_access = 0 add_req_access = 0
var/mob/user = filter.getMob("user") var/mob/user = afilter.getMob("user")
user << browse(null,"window=exosuit_add_access") user << browse(null,"window=exosuit_add_access")
if(usr != occupant) if(usr != occupant)
@@ -267,7 +267,7 @@
send_byjax(src.occupant,"exosuit.browser","content",src.get_stats_part()) send_byjax(src.occupant,"exosuit.browser","content",src.get_stats_part())
if(href_list["select_equip"]) if(href_list["select_equip"])
var/obj/item/mecha_parts/mecha_equipment/equip = filter.getObj("select_equip") var/obj/item/mecha_parts/mecha_equipment/equip = afilter.getObj("select_equip")
if(equip && equip.selectable) if(equip && equip.selectable)
src.selected = equip src.selected = equip
src.occupant_message("You switch to [equip]") src.occupant_message("You switch to [equip]")
@@ -283,7 +283,7 @@
send_byjax(src.occupant,"exosuit.browser","rspkstate",(radio.listening?"Engaged":"Disengaged")) send_byjax(src.occupant,"exosuit.browser","rspkstate",(radio.listening?"Engaged":"Disengaged"))
if(href_list["rfreq"]) if(href_list["rfreq"])
var/new_frequency = (radio.frequency + filter.getNum("rfreq")) var/new_frequency = (radio.frequency + afilter.getNum("rfreq"))
if (!radio.freerange || (radio.frequency < 1200 || radio.frequency > 1600)) if (!radio.freerange || (radio.frequency < 1200 || radio.frequency > 1600))
new_frequency = sanitize_frequency(new_frequency) new_frequency = sanitize_frequency(new_frequency)
radio.set_frequency(new_frequency) radio.set_frequency(new_frequency)

View File

@@ -542,7 +542,7 @@
/obj/item/storage/backpack/duffelbag/syndie/firestarter/PopulateContents() /obj/item/storage/backpack/duffelbag/syndie/firestarter/PopulateContents()
new /obj/item/clothing/under/syndicate/soviet(src) new /obj/item/clothing/under/syndicate/soviet(src)
new /obj/item/watertank/operator(src) new /obj/item/watertank/op(src)
new /obj/item/clothing/suit/space/hardsuit/syndi/elite(src) new /obj/item/clothing/suit/space/hardsuit/syndi/elite(src)
new /obj/item/gun/ballistic/automatic/pistol/APS(src) new /obj/item/gun/ballistic/automatic/pistol/APS(src)
new /obj/item/ammo_box/magazine/pistolm9mm(src) new /obj/item/ammo_box/magazine/pistolm9mm(src)

View File

@@ -439,7 +439,7 @@
user.update_inv_back() //for overlays update user.update_inv_back() //for overlays update
//Operator backpack spray //Operator backpack spray
/obj/item/watertank/operator /obj/item/watertank/op
name = "backpack water tank" name = "backpack water tank"
desc = "A New Russian backpack spray for systematic cleansing of carbon lifeforms." desc = "A New Russian backpack spray for systematic cleansing of carbon lifeforms."
icon_state = "waterbackpackjani" icon_state = "waterbackpackjani"
@@ -448,7 +448,7 @@
volume = 2000 volume = 2000
slowdown = 0 slowdown = 0
/obj/item/watertank/operator/New() /obj/item/watertank/op/New()
..() ..()
reagents.add_reagent("mutagen",350) reagents.add_reagent("mutagen",350)
reagents.add_reagent("napalm",125) reagents.add_reagent("napalm",125)
@@ -458,8 +458,7 @@
reagents.add_reagent("plasma",250) reagents.add_reagent("plasma",250)
reagents.add_reagent("condensedcapsaicin",500) reagents.add_reagent("condensedcapsaicin",500)
/obj/item/reagent_containers/spray/mister/operator /obj/item/reagent_containers/spray/mister/op
name = "janitor spray nozzle"
desc = "A mister nozzle attached to several extended water tanks. It suspiciously has a compressor in the system and is labelled entirely in New Cyrillic." desc = "A mister nozzle attached to several extended water tanks. It suspiciously has a compressor in the system and is labelled entirely in New Cyrillic."
icon = 'icons/obj/hydroponics/equipment.dmi' icon = 'icons/obj/hydroponics/equipment.dmi'
icon_state = "misterjani" icon_state = "misterjani"
@@ -470,5 +469,5 @@
amount_per_transfer_from_this = 100 amount_per_transfer_from_this = 100
possible_transfer_amounts = list(75,100,150) possible_transfer_amounts = list(75,100,150)
/obj/item/watertank/operator/make_noz() /obj/item/watertank/op/make_noz()
return new /obj/item/reagent_containers/spray/mister/operator(src) return new /obj/item/reagent_containers/spray/mister/op(src)