diff --git a/code/game/objects/closets/secure/security.dm b/code/game/objects/closets/secure/security.dm
index e311dd42918..597b197e574 100644
--- a/code/game/objects/closets/secure/security.dm
+++ b/code/game/objects/closets/secure/security.dm
@@ -54,7 +54,7 @@
/obj/secure_closet/hos/New()
..()
sleep(2)
-// new /obj/item/weapon/shield/riot(src)
+ new /obj/item/weapon/shield/riot(src)
new /obj/item/weapon/gun/energy/general( src )
new /obj/item/device/flash( src )
new /obj/item/weapon/storage/id_kit( src )
diff --git a/code/game/objects/items/weapons/guns_ammo.dm b/code/game/objects/items/weapons/guns_ammo.dm
index 9abde9dc37a..d4b6580973d 100644
--- a/code/game/objects/items/weapons/guns_ammo.dm
+++ b/code/game/objects/items/weapons/guns_ammo.dm
@@ -213,7 +213,16 @@ obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/us
if ((istype(H, /mob/living/carbon/human) && istype(H, /obj/item/clothing/head) && H.flags & 8 && prob(80)))
M << "\red The helmet protects you from being hit hard in the head!"
return
+
if ((user.a_intent == "hurt" && src.bullets > 0))
+ if (!istype(H:r_hand, /obj/item/weapon/shield/riot) && prob(20))
+ for(var/mob/O in viewers(M, null))
+ if (O.client) O.show_message(text("\red [] has blocked []'s point-blank shot with the riot shield!", M, user), 1, "\red You hear a cracking sound", 2)
+ return
+ if (!istype(H:l_hand, /obj/item/weapon/shield/riot) && prob(20))
+ for(var/mob/O in viewers(M, null))
+ if (O.client) O.show_message(text("\red [] has blocked []'s point-blank shot with the riot shield!", M, user), 1, "\red You hear a cracking sound", 2)
+ return
if (prob(20))
if (M.paralysis < 10)
M.paralysis = 10
@@ -228,6 +237,14 @@ obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/us
for(var/mob/O in viewers(M, null))
if(O.client) O.show_message(text("\red [] has been shot point-blank by []!", M, user), 1, "\red You hear someone fall", 2)
else
+ if (!istype(H:r_hand, /obj/item/weapon/shield/riot) && prob(40))
+ for(var/mob/O in viewers(M, null))
+ if (O.client) O.show_message(text("\red [] has blocked []'s pistolwhip with the riot shield!", M, user), 1, "\red You hear a cracking sound", 2)
+ return
+ if (!istype(H:l_hand, /obj/item/weapon/shield/riot) && prob(40))
+ for(var/mob/O in viewers(M, null))
+ if (O.client) O.show_message(text("\red [] has blocked []'s pistolwhip with the riot shield!", M, user), 1, "\red You hear a cracking sound", 2)
+ return
if (prob(50))
if (M.paralysis < 60)
M.paralysis = 60
diff --git a/code/game/objects/items/weapons/swords_axes_etc.dm b/code/game/objects/items/weapons/swords_axes_etc.dm
index 73b4b191dfb..6418cbccdbb 100644
--- a/code/game/objects/items/weapons/swords_axes_etc.dm
+++ b/code/game/objects/items/weapons/swords_axes_etc.dm
@@ -97,14 +97,14 @@ STUN BATON
return
if (status == 0 || (status == 1 && charges ==0))
if(user.a_intent == "hurt")
- if (!istype(H:r_hand, /obj/item/weapon/shield/riot) && prob(40))
+ /* if (!istype(H:r_hand, /obj/item/weapon/shield/riot) && prob(40))
for(var/mob/O in viewers(M, null))
if (O.client) O.show_message(text("\red [] has blocked []'s stun baton with the riot shield!", M, user), 1, "\red You hear a cracking sound", 2)
return
if (!istype(H:l_hand, /obj/item/weapon/shield/riot) && prob(40))
for(var/mob/O in viewers(M, null))
if (O.client) O.show_message(text("\red [] has blocked []'s stun baton with the riot shield!", M, user), 1, "\red You hear a cracking sound", 2)
- return
+ return*/
if (M.weakened < 5 && (!(M.mutations & 8)) /*&& (!istype(H:wear_suit, /obj/item/clothing/suit/judgerobe))*/)
M.weakened = 5
..()
@@ -122,14 +122,14 @@ STUN BATON
if((charges > 0 && status == 1) && (istype(H, /mob/living/carbon/human)))
flick("baton_active", src)
if (user.a_intent == "hurt")
- if (!istype(H:r_hand, /obj/item/weapon/shield/riot) && prob(40))
+ /* if (!istype(H:r_hand, /obj/item/weapon/shield/riot) && prob(40))
for(var/mob/O in viewers(M, null))
if (O.client) O.show_message(text("\red [] has blocked []'s stun baton with the riot shield!", M, user), 1, "\red You hear a cracking sound", 2)
return
if (!istype(H:l_hand, /obj/item/weapon/shield/riot) && prob(40))
for(var/mob/O in viewers(M, null))
if (O.client) O.show_message(text("\red [] has blocked []'s stun baton with the riot shield!", M, user), 1, "\red You hear a cracking sound", 2)
- return
+ return*/
playsound(src.loc, 'Genhit.ogg', 50, 1, -1)
if(isrobot(user))
var/mob/living/silicon/robot/R = user
@@ -144,14 +144,14 @@ STUN BATON
if (M.stunned < 1 && (!(M.mutations & 8)) /*&& (!istype(H:wear_suit, /obj/item/clothing/suit/judgerobe))*/)
M.stunned = 1
else
- if (!istype(H:r_hand, /obj/item/weapon/shield/riot) && prob(40))
+ /* if (!istype(H:r_hand, /obj/item/weapon/shield/riot) && prob(40))
for(var/mob/O in viewers(M, null))
if (O.client) O.show_message(text("\red [] has blocked []'s stun baton with the riot shield!", M, user), 1, "\red You hear a cracking sound", 2)
return
if (!istype(H:l_hand, /obj/item/weapon/shield/riot) && prob(40))
for(var/mob/O in viewers(M, null))
if (O.client) O.show_message(text("\red [] has blocked []'s stun baton with the riot shield!", M, user), 1, "\red You hear a cracking sound", 2)
- return
+ return*/
playsound(src.loc, 'Egloves.ogg', 50, 1, -1)
if(isrobot(user))
var/mob/living/silicon/robot/R = user
diff --git a/code/game/supplyshuttle.dm b/code/game/supplyshuttle.dm
index 0834e5580ac..4499cd26f7c 100644
--- a/code/game/supplyshuttle.dm
+++ b/code/game/supplyshuttle.dm
@@ -200,8 +200,8 @@ var/supply_shuttle_points = 50
name = "Riot crate"
contains = list("/obj/item/weapon/baton",
"/obj/item/weapon/baton",
-// "/obj/item/weapon/shield/riot",
-// "/obj/item/weapon/shield/riot",
+ "/obj/item/weapon/shield/riot",
+ "/obj/item/weapon/shield/riot",
"/obj/item/weapon/storage/flashbang_kit",
"/obj/item/weapon/storage/flashbang_kit",
"/obj/item/weapon/handcuffs",
diff --git a/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm b/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm
index d9295b0cf3e..0df0bf0ecb5 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm
@@ -66,6 +66,12 @@ Also perhaps only queens can do that?
if (get_dist(A,M) == 0)
for(var/mob/O in viewers(src, null))
O.show_message(text("\green [src] has spat at [M.name]!"), 1)
+ if (!istype(M:l_hand, /obj/item/weapon/shield/riot) && prob(50))
+ del(A)
+ return
+ if (!istype(M:r_hand, /obj/item/weapon/shield/riot) && prob(50))
+ del(A)
+ return
M.weakened += 5
M.fireloss += 10
del(A)
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index 38e5e29b404..cfe375ae658 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -223,7 +223,7 @@
d = d / 2
d = d / 5
if (istype(src.r_hand, /obj/item/weapon/shield/riot))
- if (prob(70))
+ if (prob(90))
show_message("\red Your shield absorbs the blow!", 4)
return
else
@@ -234,7 +234,7 @@
d = d / 5
else
if (istype(src.l_hand, /obj/item/weapon/shield/riot))
- if (prob(70))
+ if (prob(90))
show_message("\red Your shield absorbs the blow!", 4)
return
else
diff --git a/maps/trunkmap.dmm b/maps/trunkmap.dmm
index 45729cc63d0..f4d9241907a 100644
--- a/maps/trunkmap.dmm
+++ b/maps/trunkmap.dmm
@@ -371,8 +371,8 @@
"ahg" = (/obj/machinery/power/apc{dir = 1; equip_consumption = 100; light_consumption = 50; name = "AI Chamber APC"; pixel_y = 24},/obj/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/turret_protected/ai)
"ahh" = (/obj/cable{icon_state = "2-4"; d1 = 2; d2 = 4},/turf/simulated/floor/grid,/area/turret_protected/ai)
"ahi" = (/obj/machinery/turret,/obj/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/grid,/area/turret_protected/ai)
-"ahj" = (/obj/rack{dir = 1},/obj/item/weapon/baton,/obj/item/clothing/suit/armor/vest,/obj/machinery/light{dir = 1},/obj/item/weapon/gun/energy/general,/turf/simulated/floor,/area/security/brig)
-"ahk" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/unary/vent_pump{dir = 1},/obj/rack,/obj/item/weapon/baton,/obj/item/clothing/suit/armor/vest,/obj/item/weapon/gun/energy/general,/turf/simulated/floor,/area/security/brig)
+"ahj" = (/obj/rack{dir = 1},/obj/item/weapon/baton,/obj/item/clothing/suit/armor/vest,/obj/machinery/light{dir = 1},/obj/item/weapon/gun/energy/general,/obj/item/weapon/shield/riot,/turf/simulated/floor,/area/security/brig)
+"ahk" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/unary/vent_pump{dir = 1},/obj/rack,/obj/item/weapon/baton,/obj/item/clothing/suit/armor/vest,/obj/item/weapon/gun/energy/general,/obj/item/weapon/shield/riot,/turf/simulated/floor,/area/security/brig)
"ahl" = (/turf/simulated/wall,/area/crew_quarters/courtroom)
"ahm" = (/obj/machinery/atmospherics/pipe/simple,/turf/simulated/wall,/area/crew_quarters/courtroom)
"ahn" = (/turf/simulated/wall/r_wall,/area/crew_quarters/courtroom)