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)