diff --git a/aurorastation.dme b/aurorastation.dme index f7e5900c6ae..a72b66901bf 100644 --- a/aurorastation.dme +++ b/aurorastation.dme @@ -1250,6 +1250,7 @@ #include "code\modules\clothing\ears\skrell.dm" #include "code\modules\clothing\glasses\glasses.dm" #include "code\modules\clothing\glasses\hud.dm" +#include "code\modules\clothing\gloves\arm_guard.dm" #include "code\modules\clothing\gloves\boxing.dm" #include "code\modules\clothing\gloves\color.dm" #include "code\modules\clothing\gloves\miscellaneous.dm" @@ -1270,6 +1271,7 @@ #include "code\modules\clothing\rings\rings.dm" #include "code\modules\clothing\shoes\colour.dm" #include "code\modules\clothing\shoes\jobs.dm" +#include "code\modules\clothing\shoes\leg_guard.dm" #include "code\modules\clothing\shoes\magboots.dm" #include "code\modules\clothing\shoes\miscellaneous.dm" #include "code\modules\clothing\spacesuits\alien.dm" diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index ccdc26c4a9c..04e907e5459 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -561,7 +561,6 @@ /obj/item/clothing/mask name = "mask" icon = 'icons/obj/clothing/masks.dmi' - body_parts_covered = HEAD slot_flags = SLOT_MASK body_parts_covered = FACE|EYES sprite_sheets = list( diff --git a/code/modules/clothing/gloves/arm_guard.dm b/code/modules/clothing/gloves/arm_guard.dm new file mode 100644 index 00000000000..5afbae09711 --- /dev/null +++ b/code/modules/clothing/gloves/arm_guard.dm @@ -0,0 +1,35 @@ +/obj/item/clothing/gloves/arm_guard + name = "arm guards" + desc = "These arm guards will protect your hands and arms." + icon_state = "arm_guards_riot" + body_parts_covered = HANDS|ARMS + armor = list(melee = 50, bullet = 15, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0) + punch_force = 3 + w_class = 3 + siemens_coefficient = 0.5 + +/obj/item/clothing/gloves/arm_guard/mob_can_equip(var/mob/living/carbon/human/H, slot) + if(..()) //This will only run if no other problems occured when equiping. + if(H.wear_suit) + if(H.wear_suit.body_parts_covered & ARMS) + to_chat(H, "You can't wear \the [src] with \the [H.wear_suit], it's in the way.") + return 0 + return 1 + +/obj/item/clothing/gloves/arm_guard/laserproof + name = "ablative arm guards" + desc = "These arm guards will protect your hands and arms from energy weapons." + icon_state = "arm_guards_laser" + siemens_coefficient = 0 + armor = list(melee = 25, bullet = 25, laser = 80, energy = 10, bomb = 0, bio = 0, rad = 0) + +/obj/item/clothing/gloves/arm_guard/bulletproof + name = "bulletproof arm guards" + desc = "These arm guards will protect your hands and arms from ballistic weapons." + icon_state = "arm_guards_bullet" + armor = list(melee = 25, bullet = 80, laser = 25, energy = 10, bomb = 0, bio = 0, rad = 0) + +/obj/item/clothing/gloves/arm_guard/riot + name = "riot arm guards" + desc = "These arm guards will protect your hands and arms from close combat weapons." + armor = list(melee = 80, bullet = 20, laser = 25, energy = 10, bomb = 0, bio = 0, rad = 0) \ No newline at end of file diff --git a/code/modules/clothing/shoes/leg_guard.dm b/code/modules/clothing/shoes/leg_guard.dm new file mode 100644 index 00000000000..2f971a7d128 --- /dev/null +++ b/code/modules/clothing/shoes/leg_guard.dm @@ -0,0 +1,35 @@ +/obj/item/clothing/shoes/leg_guard + name = "leg guards" + desc = "These will protect your legs and feet." + icon_state = "leg_guards_riot" + body_parts_covered = LEGS|FEET + w_class = 3 + armor = list(melee = 50, bullet = 15, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0) + siemens_coefficient = 0.5 + force = 3 + +/obj/item/clothing/shoes/leg_guard/mob_can_equip(var/mob/living/carbon/human/H, slot, disable_warning = 0) + if(..()) //This will only run if no other problems occured when equiping. + if(H.wear_suit) + if(H.wear_suit.body_parts_covered & LEGS) + H << "You can't wear \the [src] with \the [H.wear_suit], it's in the way." + return 0 + return 1 + +/obj/item/clothing/shoes/leg_guard/laserproof + name = "ablative leg guards" + desc = "These will protect your legs and feet from energy weapons." + icon_state = "leg_guards_laser" + siemens_coefficient = 0 + armor = list(melee = 25, bullet = 25, laser = 80, energy = 10, bomb = 0, bio = 0, rad = 0) + +/obj/item/clothing/shoes/leg_guard/bulletproof + name = "bulletproof leg guards" + desc = "These will protect your legs and feet from ballistic weapons." + icon_state = "leg_guards_bullet" + armor = list(melee = 25, bullet = 80, laser = 25, energy = 10, bomb = 0, bio = 0, rad = 0) + +/obj/item/clothing/shoes/leg_guard/riot + name = "riot leg guards" + desc = "These will protect your legs and feet from close combat weapons." + armor = list(melee = 80, bullet = 20, laser = 25, energy = 10, bomb = 0, bio = 0, rad = 0) \ No newline at end of file diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm index 4a580b914d0..fb0f63f92c1 100644 --- a/code/modules/clothing/suits/armor.dm +++ b/code/modules/clothing/suits/armor.dm @@ -117,7 +117,6 @@ desc = "A suit of armor with heavy padding to protect against melee attacks. Looks like it might impair movement." icon_state = "riot" item_state = "swat_suit" - body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS slowdown = 1 armor = list(melee = 80, bullet = 20, laser = 25, energy = 10, bomb = 0, bio = 0, rad = 0) siemens_coefficient = 0.5 diff --git a/html/changelogs/alberyk-armor.yml b/html/changelogs/alberyk-armor.yml new file mode 100644 index 00000000000..f0263f55086 --- /dev/null +++ b/html/changelogs/alberyk-armor.yml @@ -0,0 +1,5 @@ +author: Alberyk +delete-after: True + +changes: + - rscadd: "Added armored leg and arm guards to the armory, that come in riot, bulletproof and ablative variations." diff --git a/icons/mob/feet.dmi b/icons/mob/feet.dmi index ea3254d2f2a..e87c98e3359 100644 Binary files a/icons/mob/feet.dmi and b/icons/mob/feet.dmi differ diff --git a/icons/mob/hands.dmi b/icons/mob/hands.dmi index 059c112fc7f..a8bb9498bf5 100644 Binary files a/icons/mob/hands.dmi and b/icons/mob/hands.dmi differ diff --git a/icons/obj/clothing/gloves.dmi b/icons/obj/clothing/gloves.dmi index 75a82a780ed..ceb5f071560 100644 Binary files a/icons/obj/clothing/gloves.dmi and b/icons/obj/clothing/gloves.dmi differ diff --git a/icons/obj/clothing/shoes.dmi b/icons/obj/clothing/shoes.dmi index 5c5c295552f..511a37730ff 100644 Binary files a/icons/obj/clothing/shoes.dmi and b/icons/obj/clothing/shoes.dmi differ diff --git a/maps/aurora/aurora-4_mainlevel.dmm b/maps/aurora/aurora-4_mainlevel.dmm index 79f4f76e000..1008ca46712 100644 --- a/maps/aurora/aurora-4_mainlevel.dmm +++ b/maps/aurora/aurora-4_mainlevel.dmm @@ -6029,10 +6029,6 @@ /area/security/armoury) "alH" = ( /obj/structure/table/rack, -/obj/item/clothing/suit/armor/riot, -/obj/item/clothing/head/helmet/riot, -/obj/item/weapon/shield/riot, -/obj/item/weapon/melee/baton/loaded, /obj/structure/window/reinforced{ icon_state = "rwindow"; dir = 8 @@ -6046,6 +6042,10 @@ name = "Riot Gear Storage"; req_access = list(3) }, +/obj/item/clothing/shoes/leg_guard/riot, +/obj/item/clothing/gloves/arm_guard/riot, +/obj/item/clothing/suit/armor/riot, +/obj/item/clothing/head/helmet/riot, /turf/simulated/floor/tiled/dark, /area/security/armoury) "alI" = ( @@ -6659,26 +6659,6 @@ "amO" = ( /turf/simulated/floor/tiled/dark, /area/security/armoury) -"amP" = ( -/obj/structure/table/rack, -/obj/item/clothing/suit/armor/riot, -/obj/item/clothing/head/helmet/riot, -/obj/item/weapon/shield/riot, -/obj/item/weapon/melee/baton/loaded, -/obj/structure/window/reinforced{ - icon_state = "rwindow"; - dir = 8 - }, -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/machinery/door/window/brigdoor/eastleft{ - name = "Riot Gear Storage"; - req_access = list(3) - }, -/turf/simulated/floor/tiled/dark, -/area/security/armoury) "amQ" = ( /obj/structure/closet/secure_closet/guncabinet{ name = "Weaponry (Ion Rifle)"; @@ -7114,22 +7094,23 @@ /area/security/armoury) "anV" = ( /obj/structure/table/rack, -/obj/item/clothing/suit/armor/riot, -/obj/item/clothing/head/helmet/riot, -/obj/item/weapon/shield/riot, -/obj/item/weapon/melee/baton/loaded, /obj/structure/window/reinforced{ icon_state = "rwindow"; dir = 8 }, -/obj/structure/window/reinforced, /obj/structure/window/reinforced{ + icon_state = "rwindow"; dir = 1 }, +/obj/structure/window/reinforced, /obj/machinery/door/window/brigdoor/eastleft{ name = "Riot Gear Storage"; req_access = list(3) }, +/obj/item/clothing/shoes/leg_guard/riot, +/obj/item/clothing/gloves/arm_guard/riot, +/obj/item/clothing/suit/armor/riot, +/obj/item/clothing/head/helmet/riot, /obj/machinery/light/small/emergency{ dir = 8 }, @@ -13265,14 +13246,6 @@ /area/security/armoury) "axR" = ( /obj/structure/table/rack, -/obj/item/clothing/suit/armor/laserproof{ - pixel_x = -2; - pixel_y = 2 - }, -/obj/item/clothing/suit/armor/laserproof{ - pixel_x = 2; - pixel_y = -2 - }, /obj/structure/window/reinforced{ dir = 8 }, @@ -13287,6 +13260,12 @@ /obj/machinery/light/small/emergency{ dir = 8 }, +/obj/item/clothing/shoes/leg_guard/laserproof, +/obj/item/clothing/shoes/leg_guard/laserproof, +/obj/item/clothing/gloves/arm_guard/laserproof, +/obj/item/clothing/gloves/arm_guard/laserproof, +/obj/item/clothing/suit/armor/laserproof, +/obj/item/clothing/suit/armor/laserproof, /obj/item/clothing/head/helmet/ablative, /obj/item/clothing/head/helmet/ablative, /turf/simulated/floor/tiled/dark, @@ -14198,14 +14177,6 @@ /area/security/armoury) "azv" = ( /obj/structure/table/rack, -/obj/item/clothing/suit/armor/bulletproof{ - pixel_x = -2; - pixel_y = 2 - }, -/obj/item/clothing/suit/armor/bulletproof{ - pixel_x = 2; - pixel_y = -2 - }, /obj/structure/window/reinforced{ dir = 8 }, @@ -14217,6 +14188,12 @@ /obj/structure/window/reinforced{ dir = 1 }, +/obj/item/clothing/shoes/leg_guard/bulletproof, +/obj/item/clothing/shoes/leg_guard/bulletproof, +/obj/item/clothing/gloves/arm_guard/bulletproof, +/obj/item/clothing/gloves/arm_guard/bulletproof, +/obj/item/clothing/suit/armor/bulletproof, +/obj/item/clothing/suit/armor/bulletproof, /obj/item/clothing/head/helmet/ballistic, /obj/item/clothing/head/helmet/ballistic, /turf/simulated/floor/tiled/dark, @@ -91612,7 +91589,7 @@ aab ajR ajR alH -amP +alH anV apf aqt