diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm
index 8e45c536c9d..b1a7fc3a384 100644
--- a/code/modules/mob/living/carbon/human/human_attackhand.dm
+++ b/code/modules/mob/living/carbon/human/human_attackhand.dm
@@ -463,14 +463,16 @@
return
/mob/living/carbon/human/attack_generic(var/mob/user, var/damage, var/attack_message)
-
if(!damage)
return
user.attack_log += text("\[[time_stamp()]\] attacked [src.name] ([src.ckey])")
src.attack_log += text("\[[time_stamp()]\] was attacked by [user.name] ([user.ckey])")
- src.visible_message("[user] has [attack_message] [src]!")
user.do_attack_animation(src)
+ if(damage < 15 && check_shields(damage, null, user, null, "\the [user]"))
+ return
+
+ visible_message(SPAN_DANGER("[user] has [attack_message] [src]!"))
var/dam_zone = user.zone_sel?.selecting
if(!dam_zone)
@@ -479,7 +481,7 @@
var/armor_block = run_armor_check(affecting, "melee")
apply_damage(damage, BRUTE, affecting, armor_block)
updatehealth()
- return 1
+ return TRUE
//Used to attack a joint through grabbing
/mob/living/carbon/human/proc/grab_joint(var/mob/living/user, var/def_zone)
diff --git a/html/changelogs/geeves-shield_stuff.yml b/html/changelogs/geeves-shield_stuff.yml
new file mode 100644
index 00000000000..d8baf670fd7
--- /dev/null
+++ b/html/changelogs/geeves-shield_stuff.yml
@@ -0,0 +1,6 @@
+author: Geeves
+
+delete-after: True
+
+changes:
+ - rscadd: "Shields can now block simple mob attacks, such as carp and spiders, as long as the attack does less than 15 damage. You won't block juggernauts or spider queens."
\ No newline at end of file