diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm
index 2d6af1550df..372b8fc8f09 100755
--- a/code/datums/supplypacks.dm
+++ b/code/datums/supplypacks.dm
@@ -43,6 +43,14 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee
group = "Security"
hidden = 1
+/datum/supply_packs/syndicate
+ name = "ERROR_NULL_ENTRY"
+ contains = list(/obj/item/weapon/storage/box/syndicate)
+ cost = 140
+ containertype = /obj/structure/closet/crate
+ containername = "crate"
+ hidden = 1
+
/datum/supply_packs/food
name = "Food crate"
contains = list(/obj/item/weapon/reagent_containers/food/snacks/flour,
diff --git a/code/game/gamemodes/changeling/changeling.dm b/code/game/gamemodes/changeling/changeling.dm
index 948a0ffd1bc..e47e7bf5f30 100644
--- a/code/game/gamemodes/changeling/changeling.dm
+++ b/code/game/gamemodes/changeling/changeling.dm
@@ -8,7 +8,7 @@ var/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","Epsilon"
name = "changeling"
config_tag = "changeling"
restricted_jobs = list("AI", "Cyborg")
- protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Head of Personnel", "Blueshield", "Nanotrasen Representative", "Security Pod Pilot", "Nanotrasen Recruiter", "Magistrate")
+ protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Blueshield", "Nanotrasen Representative", "Security Pod Pilot", "Nanotrasen Recruiter", "Magistrate", "Brig Physician", "Customs Officer", "Internal Affairs Agent")
required_players = 2
required_players_secret = 10
required_enemies = 1
diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm
index 41ade69eb3b..f9be971ef8d 100644
--- a/code/game/gamemodes/cult/cult.dm
+++ b/code/game/gamemodes/cult/cult.dm
@@ -21,8 +21,8 @@
/datum/game_mode/cult
name = "cult"
config_tag = "cult"
- restricted_jobs = list("Chaplain","AI", "Cyborg", "Lawyer", "Head of Security", "Captain", "Head of Personnel", "Blueshield", "Nanotrasen Representative", "Nanotrasen Recruiter", "Magistrate")
- protected_jobs = list("Security Officer", "Warden", "Detective", "Security Pod Pilot")
+ restricted_jobs = list("Chaplain","AI", "Cyborg", "Internal Affairs Agent", "Security Officer", "Warden", "Detective", "Security Pod Pilot", "Head of Security", "Captain", "Head of Personnel", "Blueshield", "Nanotrasen Representative", "Nanotrasen Recruiter", "Magistrate", "Brig Physician", "Customs Officer")
+ protected_jobs = list()
required_players = 5
required_players_secret = 15
required_enemies = 3
diff --git a/code/game/gamemodes/revolution/revolution.dm b/code/game/gamemodes/revolution/revolution.dm
index a02ce9519f5..919a4955bdc 100644
--- a/code/game/gamemodes/revolution/revolution.dm
+++ b/code/game/gamemodes/revolution/revolution.dm
@@ -14,8 +14,8 @@
/datum/game_mode/revolution
name = "revolution"
config_tag = "revolution"
- restricted_jobs = list("Lawyer", "AI", "Cyborg","Captain", "Head of Personnel", "Head of Security", "Chief Engineer", "Research Director", "Chief Medical Officer", "Blueshield", "Nanotrasen Representative")
- protected_jobs = list("Security Officer", "Warden", "Detective")
+ restricted_jobs = list("Security Officer", "Warden", "Detective", "Internal Affairs Agent", "AI", "Cyborg","Captain", "Head of Personnel", "Head of Security", "Chief Engineer", "Research Director", "Chief Medical Officer", "Blueshield", "Nanotrasen Representative", "Nanotrasen Recruiter", "Magistrate", "Brig Physician", "Customs Officer")
+ protected_jobs = list()
required_players = 4
required_players_secret = 15
required_enemies = 3
diff --git a/code/game/gamemodes/traitor/traitor.dm b/code/game/gamemodes/traitor/traitor.dm
index 0eacb5b65ff..1a81a7d4171 100644
--- a/code/game/gamemodes/traitor/traitor.dm
+++ b/code/game/gamemodes/traitor/traitor.dm
@@ -8,7 +8,7 @@
name = "traitor"
config_tag = "traitor"
restricted_jobs = list("Cyborg")//They are part of the AI if he is traitor so are they, they use to get double chances
- protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Internal Affairs Agent", "Captain", "Head of Personnel", "Blueshield", "Nanotrasen Representative", "Security Pod Pilot", "Nanotrasen Recruiter", "Magistrate")//AI", Currently out of the list as malf does not work for shit
+ protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Internal Affairs Agent", "Captain", "Blueshield", "Nanotrasen Representative", "Security Pod Pilot", "Nanotrasen Recruiter", "Magistrate", "Customs Officer", "Internal Affairs Agent")//AI", Currently out of the list as malf does not work for shit
required_players = 0
required_enemies = 1
recommended_enemies = 4
diff --git a/code/game/gamemodes/vampire/vampire.dm b/code/game/gamemodes/vampire/vampire.dm
index e685b3123be..62881549fb6 100644
--- a/code/game/gamemodes/vampire/vampire.dm
+++ b/code/game/gamemodes/vampire/vampire.dm
@@ -8,7 +8,7 @@
name = "vampire"
config_tag = "vampire"
restricted_jobs = list("AI", "Cyborg")
- protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Head of Personnel", "Blueshield", "Nanotrasen Representative", "Security Pod Pilot", "Nanotrasen Recruiter", "Magistrate", "Chaplain")
+ protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Blueshield", "Nanotrasen Representative", "Security Pod Pilot", "Nanotrasen Recruiter", "Magistrate", "Chaplain", "Brig Physician", "Customs Officer", "Internal Affairs Agent")
required_players = 2
required_players_secret = 10
required_enemies = 1
diff --git a/code/game/jobs/job/security.dm b/code/game/jobs/job/security.dm
index 97b871546d5..6b3b70daf38 100644
--- a/code/game/jobs/job/security.dm
+++ b/code/game/jobs/job/security.dm
@@ -27,8 +27,10 @@
H.equip_or_collect(new /obj/item/device/radio/headset/heads/hos(H), slot_l_ear)
H.equip_or_collect(new /obj/item/clothing/under/rank/head_of_security(H), slot_w_uniform)
H.equip_or_collect(new /obj/item/clothing/shoes/jackboots(H), slot_shoes)
+ H.equip_or_collect(new /obj/item/clothing/suit/armor/hos(H), slot_wear_suit)
H.equip_or_collect(new /obj/item/device/pda/heads/hos(H), slot_wear_pda)
H.equip_or_collect(new /obj/item/clothing/gloves/black(H), slot_gloves)
+ H.equip_or_collect(new /obj/item/clothing/head/helmet/HoS(H), slot_head)
// H.equip_or_collect(new /obj/item/clothing/mask/gas(H), slot_wear_mask) //Grab one from the armory you donk
H.equip_or_collect(new /obj/item/clothing/glasses/sunglasses/sechud(H), slot_glasses)
H.equip_or_collect(new /obj/item/weapon/gun/energy/gun(H), slot_s_store)
@@ -81,6 +83,12 @@
else
H.equip_or_collect(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack)
H.equip_or_collect(new /obj/item/weapon/handcuffs(H), slot_in_backpack)
+ var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(H)
+ L.imp_in = H
+ L.implanted = 1
+ var/datum/organ/external/affected = H.organs_by_name["head"]
+ affected.implants += L
+ L.part = affected
return 1
@@ -128,10 +136,12 @@
H.equip_or_collect(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack)
H.equip_or_collect(new /obj/item/weapon/storage/box/evidence(H), slot_in_backpack)
H.equip_or_collect(new /obj/item/device/detective_scanner(H), slot_in_backpack)
-
var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(H)
L.imp_in = H
L.implanted = 1
+ var/datum/organ/external/affected = H.organs_by_name["head"]
+ affected.implants += L
+ L.part = affected
H.dna.SetSEState(SOBERBLOCK,1)
H.mutations += M_SOBER
@@ -169,6 +179,12 @@
else
H.equip_or_collect(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack)
H.equip_or_collect(new /obj/item/weapon/handcuffs(H), slot_in_backpack)
+ var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(H)
+ L.imp_in = H
+ L.implanted = 1
+ var/datum/organ/external/affected = H.organs_by_name["head"]
+ affected.implants += L
+ L.part = affected
return 1
@@ -199,6 +215,12 @@
H.equip_or_collect(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack)
H.equip_or_collect(new /obj/item/weapon/stamp(H), slot_in_backpack)
H.equip_or_collect(new /obj/item/weapon/stamp/denied(H), slot_in_backpack)
+ var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(H)
+ L.imp_in = H
+ L.implanted = 1
+ var/datum/organ/external/affected = H.organs_by_name["head"]
+ affected.implants += L
+ L.part = affected
return 1
/datum/job/brigdoc
@@ -230,6 +252,12 @@
H.equip_or_collect(new /obj/item/weapon/storage/box/survival(H), slot_r_hand)
else
H.equip_or_collect(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack)
+ var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(H)
+ L.imp_in = H
+ L.implanted = 1
+ var/datum/organ/external/affected = H.organs_by_name["head"]
+ affected.implants += L
+ L.part = affected
return 1
/datum/job/pilot
@@ -262,4 +290,10 @@
else
H.equip_or_collect(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack)
H.equip_or_collect(new /obj/item/weapon/handcuffs(H), slot_in_backpack)
+ var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(H)
+ L.imp_in = H
+ L.implanted = 1
+ var/datum/organ/external/affected = H.organs_by_name["head"]
+ affected.implants += L
+ L.part = affected
return 1
\ No newline at end of file
diff --git a/code/game/jobs/job/supervisor.dm b/code/game/jobs/job/supervisor.dm
index 62045816c60..3445ff682b8 100644
--- a/code/game/jobs/job/supervisor.dm
+++ b/code/game/jobs/job/supervisor.dm
@@ -23,6 +23,7 @@
U.hastie = new /obj/item/clothing/tie/medal/gold/captain(U)
H.equip_or_collect(U, slot_w_uniform)
H.equip_or_collect(new /obj/item/device/pda/captain(H), slot_wear_pda)
+ H.equip_or_collect(new /obj/item/clothing/suit/armor/vest/capcarapace(H), slot_wear_suit)
H.equip_or_collect(new /obj/item/clothing/shoes/brown(H), slot_shoes)
H.equip_or_collect(new /obj/item/clothing/head/caphat(H), slot_head)
H.equip_or_collect(new /obj/item/clothing/glasses/sunglasses(H), slot_glasses)
@@ -34,7 +35,7 @@
var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(H)
L.imp_in = H
L.implanted = 1
- world << "[H.real_name] is the captain!"
+ world << "Captain [H.real_name] on deck!"
var/datum/organ/external/affected = H.organs_by_name["head"]
affected.implants += L
L.part = affected
@@ -79,6 +80,7 @@
if(4) H.equip_or_collect(new /obj/item/weapon/storage/backpack/satchel(H), slot_back)
H.equip_or_collect(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack)
H.equip_or_collect(new /obj/item/clothing/under/rank/head_of_personnel(H), slot_w_uniform)
+ H.equip_or_collect(new /obj/item/clothing/head/hopcap(H), slot_head)
H.equip_or_collect(new /obj/item/clothing/shoes/brown(H), slot_shoes)
H.equip_or_collect(new /obj/item/device/pda/heads/hop(H), slot_wear_pda)
if(H.backbag == 1)
@@ -86,12 +88,6 @@
else
H.equip_or_collect(new /obj/item/weapon/storage/box/ids(H.back), slot_in_backpack)
H.equip_or_collect(new /obj/item/weapon/melee/telebaton(H.back), slot_in_backpack)
- var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(H)
- L.imp_in = H
- L.implanted = 1
- var/datum/organ/external/affected = H.organs_by_name["head"]
- affected.implants += L
- L.part = affected
return 1
diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm
index 4030ab7162e..60d53bb93fb 100644
--- a/code/game/machinery/vending.dm
+++ b/code/game/machinery/vending.dm
@@ -86,8 +86,8 @@
wires = null
del(coin)
coin = null
- ..()
-
+ ..()
+
/obj/machinery/vending/ex_act(severity)
switch(severity)
if(1.0)
@@ -108,7 +108,7 @@
build_inventory(premium, 0, 1, 1)
for(var/obj/item/weapon/vending_refill/VR in component_parts)
refill_inventory(VR, product_records)
-
+
/obj/machinery/vending/blob_act()
if(prob(75))
malfunction()
@@ -200,7 +200,7 @@
user << "You short out the product lock on [src]"
return
else if(istype(W, /obj/item/weapon/screwdriver) && anchored)
- playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
+ playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
panel_open = !panel_open
user << "You [panel_open ? "open" : "close"] the maintenance panel."
overlays.Cut()
@@ -679,8 +679,8 @@
component_parts += V
component_parts += new /obj/item/weapon/vending_refill/boozeomat(0)
component_parts += new /obj/item/weapon/vending_refill/boozeomat(0)
- component_parts += new /obj/item/weapon/vending_refill/boozeomat(0)
-
+ component_parts += new /obj/item/weapon/vending_refill/boozeomat(0)
+
/obj/machinery/vending/coffee
name = "Hot Drinks machine"
desc = "A vending machine which dispenses hot drinks."
@@ -735,8 +735,8 @@
component_parts += V
component_parts += new /obj/item/weapon/vending_refill/snack(0)
component_parts += new /obj/item/weapon/vending_refill/snack(0)
- component_parts += new /obj/item/weapon/vending_refill/snack(0)
-
+ component_parts += new /obj/item/weapon/vending_refill/snack(0)
+
/obj/machinery/vending/cola
name = "Robust Softdrinks"
desc = "A softdrink vendor provided by Robust Industries, LLC."
@@ -771,7 +771,7 @@
component_parts += new /obj/item/weapon/vending_refill/cola(0)
component_parts += new /obj/item/weapon/vending_refill/cola(0)
component_parts += new /obj/item/weapon/vending_refill/cola(0)
-
+
/obj/machinery/vending/cigarette
name = "Cigarette machine" //OCD had to be uppercase to look nice with the new formating
desc = "If you want to get cancer, might as well do it in style"
@@ -793,8 +793,8 @@
component_parts += V
component_parts += new /obj/item/weapon/vending_refill/cigarette(0)
component_parts += new /obj/item/weapon/vending_refill/cigarette(0)
- component_parts += new /obj/item/weapon/vending_refill/cigarette(0)
-
+ component_parts += new /obj/item/weapon/vending_refill/cigarette(0)
+
/obj/machinery/vending/medical
name = "NanoMed Plus"
desc = "Medical drug dispenser."
@@ -848,8 +848,8 @@
product_ads = "Go end some lives!;The best stuff for your ship.;Only the finest tools.;Natural chemicals!;This stuff saves lives.;Don't you want some?;Ping!"
req_access_txt = "150"
products = list(/obj/item/stack/medical/bruise_pack = 2,/obj/item/stack/medical/ointment = 2,/obj/item/weapon/reagent_containers/hypospray/autoinjector = 4,/obj/item/device/healthanalyzer = 1)
- contraband = list(/obj/item/weapon/reagent_containers/syringe/antitoxin = 4,/obj/item/weapon/reagent_containers/syringe/antiviral = 4,/obj/item/weapon/reagent_containers/pill/tox = 1)
-
+ contraband = list(/obj/item/weapon/reagent_containers/syringe/antitoxin = 4,/obj/item/weapon/reagent_containers/syringe/antiviral = 4,/obj/item/weapon/reagent_containers/pill/tox = 1)
+
/obj/machinery/vending/security
name = "SecTech"
desc = "A security equipment vendor"
@@ -858,7 +858,7 @@
icon_deny = "sec-deny"
req_access_txt = "1"
products = list(/obj/item/weapon/handcuffs = 8,/obj/item/weapon/grenade/flashbang = 4,/obj/item/device/flash = 5,
- /obj/item/weapon/reagent_containers/food/snacks/donut/normal = 12,/obj/item/weapon/storage/box/evidence = 6)
+ /obj/item/weapon/reagent_containers/food/snacks/donut/normal = 12,/obj/item/weapon/storage/box/evidence = 6,/obj/item/device/flashlight/seclite = 4)
contraband = list(/obj/item/clothing/glasses/sunglasses = 2,/obj/item/weapon/storage/fancy/donut_box = 2)
/obj/machinery/vending/hydronutrients
@@ -931,7 +931,7 @@
contraband = list(/obj/item/clothing/suit/cardborg = 1,/obj/item/clothing/head/cardborg = 1,/obj/item/clothing/suit/judgerobe = 1,/obj/item/clothing/head/powdered_wig = 1,/obj/item/weapon/gun/magic/wand = 1)
premium = list(/obj/item/clothing/suit/hgpirate = 1, /obj/item/clothing/head/hgpiratecap = 1, /obj/item/clothing/head/helmet/roman = 1, /obj/item/clothing/head/helmet/roman/legionaire = 1, /obj/item/clothing/under/roman = 1, /obj/item/clothing/shoes/roman = 1)
refill_canister = /obj/item/weapon/vending_refill/autodrobe
-
+
/obj/machinery/vending/cigarette/New()
..()
component_parts = list()
diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm
index 00d8bb8f9f2..f967a5b16c2 100644
--- a/code/game/objects/items/devices/flashlight.dm
+++ b/code/game/objects/items/devices/flashlight.dm
@@ -110,6 +110,15 @@
flags = FPRINT | TABLEPASS | CONDUCT
brightness_on = 2
+/obj/item/device/flashlight/seclite
+ name = "seclite"
+ desc = "A robust flashlight used by security."
+ icon_state = "seclite"
+ item_state = "flashlight" //only temporary change this to 'seclite' once we get the proper left/right hand sprites.
+ force = 9 // Not as good as a stun baton.
+ brightness_on = 5 // A little better than the standard flashlight.
+ hitsound = 'sound/weapons/genhit1.ogg'
+
/obj/item/device/flashlight/drone
name = "low-power flashlight"
desc = "A miniature lamp, that might be used by small robots."
diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm
index aeb7b9d1420..2cb34d98dc0 100644
--- a/code/game/objects/items/weapons/storage/belt.dm
+++ b/code/game/objects/items/weapons/storage/belt.dm
@@ -102,11 +102,11 @@
desc = "Can hold security gear like handcuffs and flashes."
icon_state = "securitybelt"
item_state = "security"//Could likely use a better one.
- storage_slots = 7
+ storage_slots = 5
max_w_class = 3
- max_combined_w_class = 21
can_hold = list(
"/obj/item/weapon/grenade/flashbang",
+ "/obj/item/weapon/grenade/chem_grenade/teargas",
"/obj/item/weapon/reagent_containers/spray/pepper",
"/obj/item/weapon/handcuffs",
"/obj/item/device/flash",
@@ -116,19 +116,16 @@
"/obj/item/weapon/reagent_containers/food/snacks/donut/normal",
"/obj/item/weapon/reagent_containers/food/snacks/donut/jelly",
"/obj/item/weapon/melee/baton",
- "/obj/item/weapon/gun/energy/taser",
- "/obj/item/weapon/lighter/zippo",
- "/obj/item/weapon/cigpacket",
- "/obj/item/clothing/glasses/hud/security",
- "/obj/item/device/flashlight",
- "/obj/item/device/pda",
- "/obj/item/device/radio/headset",
- "/obj/item/weapon/melee",
+ "/obj/item/weapon/melee/classic_baton",
+ "/obj/item/device/flashlight/seclite",
"/obj/item/taperoll/police",
- "/obj/item/weapon/gun/energy/taser",
- "/obj/item/weapon/gun/energy/stunrevolver"
+ "/obj/item/weapon/melee/telebaton"
)
+/obj/item/weapon/storage/belt/security/New()
+ ..()
+ new /obj/item/device/flashlight/seclite(src)
+
/obj/item/weapon/storage/belt/soulstone
name = "soul stone belt"
desc = "Designed for ease of access to the shards during a fight, as to not let a single enemy spirit slip away"
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm b/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm
index 8f45d86281c..32c82d50bd4 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm
@@ -46,6 +46,7 @@
new /obj/item/device/radio/headset/heads/rd(src)
new /obj/item/weapon/tank/air(src)
new /obj/item/clothing/mask/gas(src)
+ new /obj/item/clothing/suit/armor/reactive(src)
new /obj/item/device/flash(src)
new /obj/item/device/laser_pointer(src)
return
\ No newline at end of file
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm
index bc8fee35363..df038b6aaed 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm
@@ -17,17 +17,15 @@
new /obj/item/weapon/storage/backpack/satchel_cap(src)
new /obj/item/clothing/suit/captunic(src)
new /obj/item/clothing/suit/captunic/capjacket(src)
- new /obj/item/clothing/head/helmet/cap(src)
+ new /obj/item/clothing/head/caphat/parade(src)
+ new /obj/item/clothing/under/dress/dress_cap(src)
new /obj/item/clothing/under/rank/captain(src)
- new /obj/item/clothing/suit/armor/vest(src)
+ new /obj/item/clothing/suit/armor/vest/capcarapace(src)
new /obj/item/weapon/cartridge/captain(src)
- new /obj/item/clothing/head/helmet/swat(src)
new /obj/item/clothing/shoes/brown(src)
new /obj/item/device/radio/headset/heads/captain(src)
new /obj/item/clothing/gloves/captain(src)
new /obj/item/weapon/gun/energy/gun(src)
- new /obj/item/clothing/suit/armor/captain(src)
- new /obj/item/clothing/under/dress/dress_cap(src)
return
@@ -46,10 +44,13 @@
..()
sleep(2)
new /obj/item/clothing/glasses/sunglasses(src)
+ new /obj/item/clothing/head/hopcap(src)
new /obj/item/weapon/cartridge/hop(src)
new /obj/item/device/radio/headset/heads/hop(src)
new /obj/item/weapon/storage/box/ids(src)
new /obj/item/weapon/storage/box/ids( src )
+ new /obj/item/clothing/suit/armor/vest(src)
+ new /obj/item/weapon/gun/energy/gun(src)
new /obj/item/device/flash(src)
return
@@ -191,7 +192,6 @@
new /obj/item/clothing/glasses/sunglasses/sechud(src)
new /obj/item/taperoll/police(src)
new /obj/item/device/hailer(src)
- new /obj/item/clothing/tie/storage/black_vest(src)
new /obj/item/clothing/head/soft/sec/corp(src)
new /obj/item/clothing/under/rank/security/corp(src)
return
@@ -215,7 +215,6 @@
new /obj/item/weapon/grenade/flashbang(src)
new /obj/item/weapon/melee/baton/loaded(src)
new /obj/item/weapon/gun/energy/taser(src)
- new /obj/item/clothing/tie/storage/black_vest(src)
new /obj/item/clothing/glasses/sunglasses(src)
new /obj/item/clothing/under/rank/centcom_officer(src)
new /obj/item/device/flash(src)
diff --git a/code/modules/clothing/gloves/miscellaneous.dm b/code/modules/clothing/gloves/miscellaneous.dm
index 125d6795dc5..6e42aac7e44 100644
--- a/code/modules/clothing/gloves/miscellaneous.dm
+++ b/code/modules/clothing/gloves/miscellaneous.dm
@@ -4,6 +4,8 @@
icon_state = "captain"
item_state = "egloves"
_color = "captain"
+ siemens_coefficient = 0
+ permeability_coefficient = 0.05
cold_protection = HANDS
min_cold_protection_temperature = GLOVES_MIN_COLD_PROTECTION_TEMPERATURE
heat_protection = HANDS
diff --git a/code/modules/clothing/head/jobs.dm b/code/modules/clothing/head/jobs.dm
index 3cec963429f..e62a5f92026 100644
--- a/code/modules/clothing/head/jobs.dm
+++ b/code/modules/clothing/head/jobs.dm
@@ -10,7 +10,7 @@
siemens_coefficient = 0.9
loose = 35 // why-a do people always push-a me over
-//Captain: This probably shouldn't be space-worthy
+//Captain
/obj/item/clothing/head/caphat
name = "captain's hat"
icon_state = "captain"
@@ -18,8 +18,15 @@
flags = FPRINT|TABLEPASS
item_state = "caphat"
siemens_coefficient = 0.9
+ armor = list(melee = 50, bullet = 15, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0)
loose = 43 // not the answer
+//Captain: no longer space-worthy
+/obj/item/clothing/head/caphat/parade
+ name = "captain's parade cap"
+ desc = "Worn only by Captains with an abundance of class."
+ icon_state = "capcap"
+
//Captain: This probably shouldn't be space-worthy
/obj/item/clothing/head/helmet/cap
name = "captain's cap"
@@ -32,6 +39,16 @@
siemens_coefficient = 0.9
loose = 17
+//Head of Personnel
+/obj/item/clothing/head/hopcap
+ name = "head of personnel's cap"
+ icon_state = "hopcap"
+ desc = "The symbol of true bureaucratic micromanagement."
+ flags = FPRINT|TABLEPASS
+ siemens_coefficient = 0.9
+ armor = list(melee = 50, bullet = 15, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0)
+ loose = 43 // not the answer
+
//Chaplain
/obj/item/clothing/head/chaplain_hood
name = "chaplain's hood"
diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm
index a0e6a168b7c..0f12fd06177 100644
--- a/code/modules/clothing/suits/armor.dm
+++ b/code/modules/clothing/suits/armor.dm
@@ -1,6 +1,6 @@
/obj/item/clothing/suit/armor
- allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/gun/projectile,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs)
+ allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/gun/projectile,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/device/flashlight/seclite,/obj/item/weapon/melee/telebaton)
body_parts_covered = UPPER_TORSO|LOWER_TORSO
flags = FPRINT | TABLEPASS
@@ -32,6 +32,13 @@
icon_state = "warden_jacket"
item_state = "armor"
+/obj/item/clothing/suit/armor/vest/capcarapace
+ name = "captain's carapace"
+ desc = "An armored vest reinforced with ceramic plates and pauldrons to provide additional protection whilst still offering maximum mobility and flexibility. Issued only to the station's finest, although it does chafe your nipples."
+ icon_state = "capcarapace"
+ item_state = "armor"
+ body_parts_covered = UPPER_TORSO|LOWER_TORSO
+ armor = list(melee = 50, bullet = 30, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0)
/obj/item/clothing/suit/armor/riot
name = "Riot Suit"
diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm
index 2ff0cf066c8..e9ee98099fb 100644
--- a/code/modules/mob/living/carbon/human/human_defense.dm
+++ b/code/modules/mob/living/carbon/human/human_defense.dm
@@ -21,7 +21,7 @@ emp_act
var/turf/curloc = get_turf(src)
// redirect the projectile
- P.firer = src
+ P.firer = src
P.original = locate(new_x, new_y, P.z)
P.starting = curloc
P.current = curloc
@@ -173,6 +173,8 @@ emp_act
if(!turfs.len) turfs += pick(/turf in orange(6))
var/turf/picked = pick(turfs)
if(!isturf(picked)) return
+ if(buckled)
+ buckled.unbuckle()
src.loc = picked
return 1
if(species.flags & HAS_CHITTIN && (prob(50 - round(damage / 3))))
diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm
index b956c18262a..cbe1225f9e3 100644
--- a/code/modules/mob/living/silicon/robot/robot_modules.dm
+++ b/code/modules/mob/living/silicon/robot/robot_modules.dm
@@ -228,7 +228,7 @@
New()
- src.modules += new /obj/item/device/flashlight(src)
+ src.modules += new /obj/item/device/flashlight/seclite(src)
src.modules += new /obj/item/device/flash(src)
src.modules += new /obj/item/borg/sight/hud/sec(src)
src.modules += new /obj/item/weapon/handcuffs/cyborg(src)
diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi
index e1b188300a6..a3b99f63c2b 100644
Binary files a/icons/mob/head.dmi and b/icons/mob/head.dmi differ
diff --git a/icons/mob/suit.dmi b/icons/mob/suit.dmi
index b3ef027dfc2..02104869bdd 100644
Binary files a/icons/mob/suit.dmi and b/icons/mob/suit.dmi differ
diff --git a/icons/mob/uniform.dmi b/icons/mob/uniform.dmi
index 25d900dbc04..0be6763d8f0 100644
Binary files a/icons/mob/uniform.dmi and b/icons/mob/uniform.dmi differ
diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi
index ad9f67bf5c1..2a7588f74b6 100644
Binary files a/icons/obj/clothing/hats.dmi and b/icons/obj/clothing/hats.dmi differ
diff --git a/icons/obj/clothing/suits.dmi b/icons/obj/clothing/suits.dmi
index 4f7fa3c55b0..a74e42553ca 100644
Binary files a/icons/obj/clothing/suits.dmi and b/icons/obj/clothing/suits.dmi differ
diff --git a/icons/obj/clothing/uniforms.dmi b/icons/obj/clothing/uniforms.dmi
index e2db6fa8f03..1696e526bb1 100644
Binary files a/icons/obj/clothing/uniforms.dmi and b/icons/obj/clothing/uniforms.dmi differ
diff --git a/icons/obj/lighting.dmi b/icons/obj/lighting.dmi
index c2cef1b1d0c..c20f15a4573 100644
Binary files a/icons/obj/lighting.dmi and b/icons/obj/lighting.dmi differ
diff --git a/sound/AI/aimalf.ogg b/sound/AI/aimalf.ogg
index 50b7688d5ae..b7996916b47 100644
Binary files a/sound/AI/aimalf.ogg and b/sound/AI/aimalf.ogg differ
diff --git a/sound/AI/aliens.ogg b/sound/AI/aliens.ogg
index 83ff74eb82b..f7d1746247f 100644
Binary files a/sound/AI/aliens.ogg and b/sound/AI/aliens.ogg differ
diff --git a/sound/AI/animes.ogg b/sound/AI/animes.ogg
index 353edd45cc8..a46a207edc4 100644
Binary files a/sound/AI/animes.ogg and b/sound/AI/animes.ogg differ
diff --git a/sound/AI/attention.ogg b/sound/AI/attention.ogg
new file mode 100644
index 00000000000..912be4425eb
Binary files /dev/null and b/sound/AI/attention.ogg differ
diff --git a/sound/AI/intercept.ogg b/sound/AI/intercept.ogg
index f61094f7d76..3569a07d401 100644
Binary files a/sound/AI/intercept.ogg and b/sound/AI/intercept.ogg differ
diff --git a/sound/AI/meteors.ogg b/sound/AI/meteors.ogg
index aa6891a26d6..8f1c3aeacbb 100644
Binary files a/sound/AI/meteors.ogg and b/sound/AI/meteors.ogg differ
diff --git a/sound/AI/newroundsexy.ogg b/sound/AI/newroundsexy.ogg
index 016e1c165ca..afe5630f04d 100644
Binary files a/sound/AI/newroundsexy.ogg and b/sound/AI/newroundsexy.ogg differ
diff --git a/sound/AI/radiation.ogg b/sound/AI/radiation.ogg
index 5b8a5afc12e..ef395af3101 100644
Binary files a/sound/AI/radiation.ogg and b/sound/AI/radiation.ogg differ