diff --git a/baystation12.dme b/baystation12.dme
index add4165ad72..e3488cda375 100644
--- a/baystation12.dme
+++ b/baystation12.dme
@@ -1299,7 +1299,6 @@
#include "code\WorkInProgress\Cael_Aislinn\Supermatter\ZeroPointLaser.dm"
#include "code\WorkInProgress\Chinsky\ashtray.dm"
#include "code\WorkInProgress\Cib\MedicalSideEffects.dm"
-#include "code\WorkInProgress\kilakk\responseteam.dm"
#include "code\WorkInProgress\Mini\ATM.dm"
#include "code\WorkInProgress\Mini\atmos_control.dm"
#include "code\WorkInProgress\Ported\policetape.dm"
diff --git a/code/WorkInProgress/buildmode.dm b/code/WorkInProgress/buildmode.dm
index 5e4a45e21ae..089522490a2 100644
--- a/code/WorkInProgress/buildmode.dm
+++ b/code/WorkInProgress/buildmode.dm
@@ -92,8 +92,8 @@
usr << "\blue ***********************************************************"
if(4)
usr << "\blue ***********************************************************"
- usr << "\blue Left Mouse Button on turf/obj/mob = Throw"
- usr << "\blue Right Mouse Button on turf/obj/mob = Select"
+ usr << "\blue Left Mouse Button on turf/obj/mob = Select"
+ usr << "\blue Right Mouse Button on turf/obj/mob = Throw"
usr << "\blue ***********************************************************"
return
diff --git a/code/WorkInProgress/periodic_news.dm b/code/WorkInProgress/periodic_news.dm
index 92186869264..8b8be52e2d5 100644
--- a/code/WorkInProgress/periodic_news.dm
+++ b/code/WorkInProgress/periodic_news.dm
@@ -13,70 +13,108 @@
paycuts_suspicion
round_time = 60*10
- message = "Reports have leaked that Nanotrasen Inc. is planning to put paycuts into effect on many of its Research Stations in Tau Ceti. Apparently these research stations haven't been able to yield the expected revenue, and thus adjustments have to be made."
+ message = {"Reports have leaked that Nanotrasen Inc. is planning to put paycuts into
+ effect on many of its Research Stations in Tau Ceti. Apparently these research
+ stations haven't been able to yield the expected revenue, and thus adjustments
+ have to be made."}
author = "Unauthorized"
paycuts_confirmation
round_time = 60*40
- message = "Earlier rumours about paycuts on Research Stations in the Tau Ceti system have been confirmed. Shockingly, however, the cuts will only affect lower tier personnel. Heads of Staff will, according to our sources, not be affected."
+ message = {"Earlier rumours about paycuts on Research Stations in the Tau Ceti system have
+ been confirmed. Shockingly, however, the cuts will only affect lower tier
+ personnel. Heads of Staff will, according to our sources, not be affected."}
author = "Unauthorized"
human_experiments
round_time = 60*90
- message = "Unbelievable reports about human experimentation have reached our ears. According to a refugee from one of the Tau Ceti Research Stations, their station, in order to increase revenue, has refactored several of their facilities to perform experiments on live humans, including virology research, genetic manipulation, and \"feeding them to the slimes to see what happens\". Allegedly, these test subjects were neither humanified monkeys nor volunteers, but rather unqualified staff that were forced into the experiments, and reported to have died in a \"work accident\" by Nanotrasen Inc."
+ message = {"Unbelievable reports about human experimentation have reached our ears. According
+ to a refugee from one of the Tau Ceti Research Stations, their station, in order
+ to increase revenue, has refactored several of their facilities to perform experiments
+ on live humans, including virology research, genetic manipulation, and \"feeding them
+ to the slimes to see what happens\". Allegedly, these test subjects were neither
+ humanified monkeys nor volunteers, but rather unqualified staff that were forced into
+ the experiments, and reported to have died in a \"work accident\" by Nanotrasen Inc."}
author = "Unauthorized"
bluespace_research
announcement
round_time = 60*20
- message = "The new field of research trying to explain several interesting spacetime oddities, also known as \"Bluespace Research\", has reached new heights. Of the several hundred space stations now orbiting in Tau Ceti, fifteen are now specially equipped to experiment with and research Bluespace effects. Rumours have it some of these stations even sport functional \"travel gates\" that can instantly move a whole research team to an alternate reality."
+ message = {"The new field of research trying to explain several interesting spacetime oddities,
+ also known as \"Bluespace Research\", has reached new heights. Of the several
+ hundred space stations now orbiting in Tau Ceti, fifteen are now specially equipped
+ to experiment with and research Bluespace effects. Rumours have it some of these
+ stations even sport functional \"travel gates\" that can instantly move a whole research
+ team to an alternate reality."}
random_junk
+
cheesy_honkers
author = "Assistant Editor Carl Ritz"
- channel_name = "The Gibson Gazzette"
- message = "Do cheesy honkers increase risk of having a miscarriage? Several health administrations say so!"
+ channel_name = "The Gibson Gazette"
+ message = {"Do cheesy honkers increase risk of having a miscarriage? Several health administrations
+ say so!"}
round_time = 60 * 15
net_block
author = "Assistant Editor Carl Ritz"
- channel_name = "The Gibson Gazzette"
- message = "Several corporations banding together to block access to 'wetskrell.nt', site administrators claiming violation of net laws."
+ channel_name = "The Gibson Gazette"
+ message = {"Several corporations banding together to block access to 'wetskrell.nt', site administrators
+ claiming violation of net laws."}
round_time = 60 * 50
found_ssd
channel_name = "Tau Ceti Daily"
author = "Doctor Eric Hanfield"
- message = "Several people have been found unconscious at their terminals. It is thought that it was due to a lack of sleep or of simply migraines from staring at the screen too long. Camera footage reveals that many of them were playing games instead of working and their pay has been docked accordingly."
+ message = {"Several people have been found unconscious at their terminals. It is thought that it was due
+ to a lack of sleep or of simply migraines from staring at the screen too long. Camera footage
+ reveals that many of them were playing games instead of working and their pay has been docked
+ accordingly."}
round_time = 60 * 90
lotus_tree
+
explosions
channel_name = "Tau Ceti Daily"
author = "Reporter Leland H. Howards"
- message = "The newly-christened civillian transport Lotus Tree suffered two very large explosions near the bridge today, and there are unconfirmed reports that the death toll has passed 50. The cause of the explosions remain unknown, but there is speculation that it might have something to do with the recent change of regulation in the Moore-Lee Corporation, a major funder of the ship, when M-L announced that they were officially acknowledging inter-species marriage and providing couples with marriage tax-benefits."
+ message = {"The newly-christened civillian transport Lotus Tree suffered two very large explosions near the
+ bridge today, and there are unconfirmed reports that the death toll has passed 50. The cause of
+ the explosions remain unknown, but there is speculation that it might have something to do with
+ the recent change of regulation in the Moore-Lee Corporation, a major funder of the ship, when M-L
+ announced that they were officially acknowledging inter-species marriage and providing couples
+ with marriage tax-benefits."}
round_time = 60 * 30
food_riots
+
breaking_news
channel_name = "Tau Ceti Daily"
author = "Reporter Ro'kii Ar-Raqis"
- message = "Breaking news: Food riots have broken out throughout the Refuge asteroid colony in the Tenebrae Lupus system. This comes only hours after NanoTrasen officials announced they will no longer trade with the colony, citing the increased presence of \"hostile factions\" on the colony has made trade too dangerous to continue. NanoTrasen officials have not given any details about said factions. More on that at the top of the hour."
+ message = {"Breaking news: Food riots have broken out throughout the Refuge asteroid colony in the Tenebrae
+ Lupus system. This comes only hours after NanoTrasen officials announced they will no longer trade with the
+ colony, citing the increased presence of \"hostile factions\" on the colony has made trade too dangerous to
+ continue. NanoTrasen officials have not given any details about said factions. More on that at the top of
+ the hour."}
round_time = 60 * 10
more
channel_name = "Tau Ceti Daily"
author = "Reporter Ro'kii Ar-Raqis"
- message = "More on the Refuge food riots: The Refuge Council has condemned NanoTrasen's withdrawal from the colony, claiming \"there has been no increase in anti-NanoTrasen activity\", and \"\[the only] reason NanoTrasen withdrew was because the \[Tenebrae Lupus] system's Plasma deposits have been completely mined out. We have little to trade with them now\". NanoTrasen officials have denied these allegations, calling them \"further proof\" of the colony's anti-NanoTrasen stance. Meanwhile, Refuge Security has been unable to quell the riots. More on this at 6."
+ message = {"More on the Refuge food riots: The Refuge Council has condemned NanoTrasen's withdrawal from
+ the colony, claiming \"there has been no increase in anti-NanoTrasen activity\", and \"\[the only] reason
+ NanoTrasen withdrew was because the \[Tenebrae Lupus] system's Plasma deposits have been completely mined out.
+ We have little to trade with them now\". NanoTrasen officials have denied these allegations, calling them
+ \"further proof\" of the colony's anti-NanoTrasen stance. Meanwhile, Refuge Security has been unable to quell
+ the riots. More on this at 6."}
round_time = 60 * 60
-var/global/list/newscaster_standard_feeds = list(/datum/news_announcement/bluespace_research, /datum/news_announcement/lotus_tree, /datum/news_announcement/random_junk, /datum/news_announcement/lotus_tree)
+var/global/list/newscaster_standard_feeds = list(/datum/news_announcement/bluespace_research, /datum/news_announcement/lotus_tree, /datum/news_announcement/random_junk, /datum/news_announcement/food_riots)
proc/process_newscaster()
check_for_newscaster_updates(ticker.mode.newscaster_announcements)
diff --git a/code/datums/mind.dm b/code/datums/mind.dm
index c472c22b581..175e622788a 100644
--- a/code/datums/mind.dm
+++ b/code/datums/mind.dm
@@ -370,13 +370,13 @@ datum/mind
if(!def_value)//If it's a custom objective, it will be an empty string.
def_value = "custom"
- var/new_obj_type = input("Select objective type:", "Objective type", def_value) as null|anything in list("assassinate", "debrain", "protect", "prevent", "hijack", "escape", "survive", "steal", "download", "nuclear", "capture", "absorb", "custom")
+ var/new_obj_type = input("Select objective type:", "Objective type", def_value) as null|anything in list("assassinate", "debrain", "protect", "prevent", "harm", "brig", "hijack", "escape", "survive", "steal", "download", "nuclear", "capture", "absorb", "custom")
if (!new_obj_type) return
var/datum/objective/new_objective = null
switch (new_obj_type)
- if ("assassinate","protect","debrain")
+ if ("assassinate","protect","debrain", "harm", "brig")
//To determine what to name the objective in explanation text.
var/objective_type_capital = uppertext(copytext(new_obj_type, 1,2))//Capitalize first letter.
var/objective_type_text = copytext(new_obj_type, 2)//Leave the rest of the text.
diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm
index 58824777d17..56c9f74f49f 100644
--- a/code/game/mecha/mech_fabricator.dm
+++ b/code/game/mecha/mech_fabricator.dm
@@ -368,7 +368,7 @@
src.desc = initial(src.desc)
if(being_built)
src.being_built.Move(get_step(src,SOUTH))
- src.visible_message("\icon[src] [src] beeps, \"The [src.being_built] is complete\".")
+ src.visible_message("\icon[src] [src] beeps, \"The following has been completed: [src.being_built] is built\".")
src.being_built = null
src.updateUsrDialog()
return 1
diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm
index c8ff992b155..c36a0ab99d2 100644
--- a/code/modules/admin/admin_verbs.dm
+++ b/code/modules/admin/admin_verbs.dm
@@ -67,7 +67,7 @@ var/list/admin_verbs_admin = list(
/client/proc/toggledebuglogs,
/datum/admins/proc/show_skills,
/client/proc/check_customitem_activity,
- /client/proc/response_team
+ ///client/proc/response_team
)
var/list/admin_verbs_ban = list(
/client/proc/unban_panel,
diff --git a/code/modules/clothing/spacesuits/alien.dm b/code/modules/clothing/spacesuits/alien.dm
index 28e53873b51..7a74d855162 100644
--- a/code/modules/clothing/spacesuits/alien.dm
+++ b/code/modules/clothing/spacesuits/alien.dm
@@ -1,6 +1,20 @@
/obj/item/clothing/head/helmet/space/unathi
var/up = 0 //So Unathi helmets play nicely with the weldervision check.
+ mob_can_equip(M as mob, slot)
+ var/mob/living/carbon/human/U = M
+ if(U.dna.mutantrace != "lizard")
+ U << "This clearly isn't designed for your species!"
+ return 0
+ return ..()
+
+/obj/item/clothing/suit/space/unathi/mob_can_equip(M as mob, slot)
+ var/mob/living/carbon/human/U = M
+ if(U.dna.mutantrace != "lizard")
+ U << "This clearly isn't designed for your species!"
+ return 0
+
+ return ..()
/obj/item/clothing/head/helmet/space/unathi/helmet_cheap
name = "NT breacher helmet"
diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm
index 79be30e4c40..3ad4a6adb54 100644
--- a/code/modules/mob/living/carbon/human/human_defense.dm
+++ b/code/modules/mob/living/carbon/human/human_defense.dm
@@ -22,7 +22,6 @@ emp_act
var/obj/item/clothing/C = bp // Then call an argument C to be that clothing!
if(C.body_parts_covered & select_area.body_part) // Is that body part being targeted covered?
P.agony=P.agony*C.siemens_coefficient
- visible_message("\red [src]'s [C.name] absorbs some of the shock from the [P.name]!")
apply_effect(P.agony,AGONY,0)
del P
/* Commenting out new-old taser nerf.
diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm
index 7948a457c9a..41c84823a62 100644
--- a/code/modules/projectiles/gun.dm
+++ b/code/modules/projectiles/gun.dm
@@ -167,16 +167,18 @@
mouthshoot = 0
return
if (load_into_chamber())
- user.visible_message("[user] pulls the trigger. Ow.")
+ user.visible_message("[user] pulls the trigger.")
if(silenced)
playsound(user, fire_sound, 10, 1)
else
playsound(user, fire_sound, 50, 1)
in_chamber.on_hit(M)
if (!in_chamber.nodamage)
- user.apply_damage(in_chamber.damage*100, in_chamber.damage_type, "head", used_weapon = "Point blank shot in the mouth with \a [in_chamber]")
+ user.apply_damage(in_chamber.damage*2.5, in_chamber.damage_type, "head", used_weapon = "Point blank shot in the mouth with \a [in_chamber]")
+ user.death()
else
- user << "You feel dumb for trying this..."
+ user << "Ow..."
+ user.apply_effect(110,AGONY,0)
del(in_chamber)
mouthshoot = 0
return
diff --git a/code/modules/research/circuitprinter.dm b/code/modules/research/circuitprinter.dm
index f6175335165..ccc6f932d48 100644
--- a/code/modules/research/circuitprinter.dm
+++ b/code/modules/research/circuitprinter.dm
@@ -12,6 +12,7 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis).
var/g_amount = 0
var/gold_amount = 0
var/diamond_amount = 0
+ var/uranium_amount = 0
var/max_material_amount = 75000.0
New()
@@ -46,7 +47,7 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis).
return
proc/TotalMaterials()
- return g_amount + gold_amount + diamond_amount
+ return g_amount + gold_amount + diamond_amount + uranium_amount
attackby(var/obj/item/O as obj, var/mob/user as mob)
if (shocked)
@@ -85,19 +86,23 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis).
if(diamond_amount >= 2000)
var/obj/item/stack/sheet/mineral/diamond/G = new /obj/item/stack/sheet/mineral/diamond(src.loc)
G.amount = round(diamond_amount / 2000)
+ if(uranium_amount >= 2000)
+ var/obj/item/stack/sheet/mineral/uranium/G = new /obj/item/stack/sheet/mineral/uranium(src.loc)
+ G.amount = round(uranium_amount / 2000)
del(src)
return 1
else
user << "\red You can't load the [src.name] while it's opened."
return 1
if (disabled)
+ user << "\The [name] appears to not be working!"
return
if (!linked_console)
user << "\The [name] must be linked to an R&D console first!"
return 1
if (O.is_open_container())
return 1
- if (!istype(O, /obj/item/stack/sheet/glass) && !istype(O, /obj/item/stack/sheet/mineral/gold) && !istype(O, /obj/item/stack/sheet/mineral/diamond))
+ if (!istype(O, /obj/item/stack/sheet/glass) && !istype(O, /obj/item/stack/sheet/mineral/gold) && !istype(O, /obj/item/stack/sheet/mineral/diamond) && !istype(O, /obj/item/stack/sheet/mineral/uranium))
user << "\red You cannot insert this item into the [name]!"
return 1
if (stat)
@@ -128,6 +133,8 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis).
gold_amount += amount * 2000
else if(istype(stack, /obj/item/stack/sheet/mineral/diamond))
diamond_amount += amount * 2000
+ else if(istype(stack, /obj/item/stack/sheet/mineral/uranium))
+ uranium_amount += amount * 2000
stack.use(amount)
busy = 0
src.updateUsrDialog()
diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm
index ab4d78570ba..5b50efc41c5 100644
--- a/code/modules/research/rdconsole.dm
+++ b/code/modules/research/rdconsole.dm
@@ -429,6 +429,8 @@ won't update every console in existence) but it's more of a hassle to do. Also,
linked_imprinter.gold_amount = max(0, (linked_imprinter.gold_amount-being_built.materials[M]))
if("$diamond")
linked_imprinter.diamond_amount = max(0, (linked_imprinter.diamond_amount-being_built.materials[M]))
+ if("$uranium")
+ linked_imprinter.uranium_amount = max(0, (linked_imprinter.uranium_amount-being_built.materials[M]))
else
linked_imprinter.reagents.remove_reagent(M, being_built.materials[M])
var/obj/new_item = new being_built.build_path(src)
@@ -500,6 +502,9 @@ won't update every console in existence) but it's more of a hassle to do. Also,
if("diamond")
type = /obj/item/stack/sheet/mineral/diamond
res_amount = "diamond_amount"
+ if("uranium")
+ type = /obj/item/stack/sheet/mineral/uranium
+ res_amount = "uranium_amount"
if(ispath(type) && hasvar(linked_imprinter, res_amount))
var/obj/item/stack/sheet/sheet = new type(linked_imprinter.loc)
var/available_num_sheets = round(linked_imprinter.vars[res_amount]/sheet.perunit)
@@ -851,6 +856,8 @@ won't update every console in existence) but it's more of a hassle to do. Also,
if(D.materials[M] > linked_imprinter.gold_amount) check_materials = 0
if("$diamond")
if(D.materials[M] > linked_imprinter.diamond_amount) check_materials = 0
+ if("$uranium")
+ if(D.materials[M] > linked_imprinter.uranium_amount) check_materials = 0
else if (!linked_imprinter.reagents.has_reagent(M, D.materials[M]))
check_materials = 0
if (check_materials)
@@ -891,6 +898,13 @@ won't update every console in existence) but it's more of a hassle to do. Also,
if(linked_imprinter.diamond_amount >= 2000) dat += "(1 Sheet) "
if(linked_imprinter.diamond_amount >= 10000) dat += "(5 Sheets) "
if(linked_imprinter.diamond_amount >= 2000) dat += "(Max Sheets)"
+ dat += "
"
+ //Uranium
+ dat += "* [linked_imprinter.uranium_amount] cm3 of Uranium || "
+ dat += "Eject: "
+ if(linked_imprinter.uranium_amount >= 2000) dat += "(1 Sheet) "
+ if(linked_imprinter.uranium_amount >= 10000) dat += "(5 Sheets) "
+ if(linked_imprinter.uranium_amount >= 2000) dat += "(Max Sheets)"
user << browse("