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