diff --git a/code/FEA/FEA_gas_mixture.dm b/code/FEA/FEA_gas_mixture.dm index 72db42b060c..b712e736150 100644 --- a/code/FEA/FEA_gas_mixture.dm +++ b/code/FEA/FEA_gas_mixture.dm @@ -1030,6 +1030,8 @@ datum var/heat = conduction_coefficient*delta_temperature* \ (self_heat_capacity*model.heat_capacity/(self_heat_capacity+model.heat_capacity)) + ASSERT(self_heat_capacity != 0) // Trying to solve a runtime error - Abi79 + ASSERT(group_multiplier != 0) if(border_multiplier) temperature -= heat*border_multiplier/(self_heat_capacity*group_multiplier) else diff --git a/code/defines/obj/supplypacks.dm b/code/defines/obj/supplypacks.dm index 05feff44c2d..17192536ace 100755 --- a/code/defines/obj/supplypacks.dm +++ b/code/defines/obj/supplypacks.dm @@ -567,6 +567,22 @@ containername = "APLU \"Ripley\" Circuit Crate" access = access_robotics group = "Robotics" + +/datum/supply_packs/surgery + name = "Surgery crate" + contains = list("/obj/item/weapon/cautery", + "/obj/item/weapon/surgicaldrill", + "/obj/item/weapon/hemostat", + "/obj/item/weapon/scalpel", + "/obj/item/weapon/surgical_tool/bonegel", + "/obj/item/weapon/retractor", + "/obj/item/weapon/surgical_tool/bonesetter", + "/obj/item/weapon/circular_saw") + cost = 20 + containertype = "/obj/structure/closet/crate/secure" + containername = "Surgery crate" + access = access_medical + group = "Medical / Science" /datum/supply_packs/robotics name = "Robotics Assembly Crate" diff --git a/code/game/jobs/jobs.dm b/code/game/jobs/jobs.dm index c85f76f4aac..08ed0cc18e2 100644 --- a/code/game/jobs/jobs.dm +++ b/code/game/jobs/jobs.dm @@ -120,15 +120,15 @@ var/list/nonhuman_positions = list( /proc/GetRank(var/job) switch(job) - if("Bartender","Chef","Lawyer","Librarian","Janitor","Assistant","Unassigned") + if("Bartender","Chef","Lawyer","Librarian","Janitor","Assistant","Unassigned", "Counselor") return 0 - if("Chaplain","Botanist","Hydroponicist","Medical Doctor","Atmospheric Technician","Geneticist") + if("Chaplain","Botanist","Hydroponicist","Medical Doctor","Atmospheric Technician","Geneticist", "Virologist", "Surgeon", "Emergency Medical Technician") return 1 - if("Quartermaster","Cargo Technician","Chemist", "Station Engineer","Roboticist", "Security Officer", "Forensic Technician","Detective", "Scientist","Shaft Miner") + if("Quartermaster","Cargo Technician","Chemist", "Station Engineer","Roboticist", "Security Officer", "Forensic Technician","Detective", "Scientist","Shaft Miner", "Xenobiologist", "Plasma Researcher") return 2 if("Research Director","Chief Medical Officer","Head of Security","Chief Engineer","Warden") return 3 if("Captain","Head of Personnel","Wizard","MODE") return 4 else - world << "\"[job]\" NOT GIVEN RANK, REPORT JOBS.DM ERROR TO A CODER" + world << "\"[job]\" NOT GIVEN RANK, REPORT JOBS.DM ERROR TO A CODER" diff --git a/code/game/objects/items/item.dm b/code/game/objects/items/item.dm index c3f621de6b0..9cb9f2b2d4f 100755 --- a/code/game/objects/items/item.dm +++ b/code/game/objects/items/item.dm @@ -274,7 +274,7 @@ mob/proc/flash_weak_pain() spawn unmoved = do_after(user, 4) sleep(4) - if( (!unmoved && !prob(70)) || get_dist(user, M) != 1) + if( (!unmoved && !prob(70)) || (get_dist(user, M) != 1 && user != M)) user.visible_message("\red [user.name] misses with \the [src]!") return diff --git a/code/game/topic.dm b/code/game/topic.dm index 8d82f1d600c..70aa5cb2ea3 100644 --- a/code/game/topic.dm +++ b/code/game/topic.dm @@ -1,20 +1,7 @@ /world/Topic(T, addr, master, key) diary << "TOPIC: \"[T]\", from:[addr], master:[master], key:[key]" - if (T == "ping") - var/x = 1 - for (var/client/C) - x++ - return x - - else if(T == "players") - var/n = 0 - for(var/mob/M in world) - if(M.client) - n++ - return n - - else if (T == "status") + if (T == "status") var/list/s = list() s["version"] = game_version s["mode"] = master_mode @@ -24,11 +11,16 @@ s["ai"] = config.allow_ai s["host"] = host ? host : null s["players"] = list() + s["admins"] = 0 var/n = 0 - for(var/mob/M in world) - if(M.client) - s["player[n]"] = M.client.key - n++ + for(var/client/C) + n++ + if(C.holder && C.holder.level >= 0) //not retired admin + if(!C.stealth) //stealthmins dont count as admins + s["admins"] = 1 + s["player[n]"] = "[C.key]" + else + s["player[n]"] = "[C.fakekey]" s["players"] = n s["end"] = "#end" return list2params(s) \ No newline at end of file diff --git a/config/admins.txt b/config/admins.txt index 790541e9862..4cb2a0656cf 100644 --- a/config/admins.txt +++ b/config/admins.txt @@ -6,16 +6,19 @@ cajoes - Game Admin cib - Game Master compactninja - Game Master dysthymia - Retired Admin -hawkv3 - Game Admin +doughnuts - Trial Admin +erthilo - Game Admin +hawkv3 - Game Master headswe - Game Master iaryni - Game Master masterofapples - Game Admin megacaesar - Game Admin miniature - Game Master -misterfox - Retired Admin +misterfox - Game Admin mloc - Game Master +ridley4 - Trial Admin skymarshal - Game Master spaceman96 - Game Admin strumpetplaya - Retired Admin tastyfish - Game Master -uristqwerty - Game Master \ No newline at end of file +uristqwerty - Game Master