diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_cultritual.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_cultritual.dmm
index 5d00b4357a12..4204e9ca4c22 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_cultritual.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_cultritual.dmm
@@ -186,9 +186,7 @@
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors)
"O" = (
-/obj/item/claymore{
- name = "Excalibur"
- },
+/obj/item/claymore/ruin/excalibur,
/obj/item/clothing/shoes/plate,
/obj/effect/decal/cleanable/blood/old,
/obj/effect/decal/cleanable/ash/large,
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_legionbarracks.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_legionbarracks.dmm
index 085742c05818..a61f9210bb95 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_legionbarracks.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_legionbarracks.dmm
@@ -82,11 +82,7 @@
/area/ruin/unpowered)
"S" = (
/obj/structure/rack,
-/obj/item/claymore{
- desc = "It's cracked and blunted";
- force = 21;
- name = "Ancient Sword"
- },
+/obj/item/claymore/ruin,
/obj/item/shield/riot/roman{
block_chance = 25;
desc = "Bears an inscription on the inside: \"Necropolis venio domus\".";
diff --git a/code/game/objects/items/weaponry.dm b/code/game/objects/items/weaponry.dm
index a028326a5442..d6466d0188bd 100644
--- a/code/game/objects/items/weaponry.dm
+++ b/code/game/objects/items/weaponry.dm
@@ -64,7 +64,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301
slot_flags = ITEM_SLOT_BELT | ITEM_SLOT_BACK
force = 40
throwforce = 10
- w_class = WEIGHT_CLASS_NORMAL
+ w_class = WEIGHT_CLASS_BULKY
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
block_chance = 50
sharpness = SHARP_EDGED
@@ -75,10 +75,25 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301
/obj/item/claymore/Initialize()
. = ..()
AddComponent(/datum/component/butchering, 40, 105)
+
+/obj/item/claymore/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK)
+ if(attack_type == PROJECTILE_ATTACK)
+ final_block_chance = 0 //Don't bring a sword to a gunfight
+ return ..()
/obj/item/claymore/suicide_act(mob/user)
user.visible_message(span_suicide("[user] is falling on [src]! It looks like [user.p_theyre()] trying to commit suicide!"))
return(BRUTELOSS)
+
+/obj/item/claymore/ruin
+ name = "ancient sword"
+ desc = "A cracked and blunted sword, clearly weathered over the ages."
+ force = 21
+ block_chance = 30
+
+/obj/item/claymore/ruin/excalibur
+ name = "Excalibur"
+ desc = "A legendary sword passed down through the ages, though it seems to have lost its magic."
/obj/item/claymore/highlander //ALL COMMENTS MADE REGARDING THIS SWORD MUST BE MADE IN ALL CAPS
desc = "THERE CAN BE ONLY ONE, AND IT WILL BE YOU!!!\nActivate it in your hand to point to the nearest victim."
@@ -205,6 +220,24 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301
name = new_name
playsound(user, 'sound/items/screwdriver2.ogg', 50, 1)
+/obj/item/claymore/bone
+ name = "Bone Sword"
+ desc = "Jagged pieces of bone are tied to what looks like a goliath's femur."
+ icon = 'icons/obj/weapons/swords.dmi'
+ icon_state = "bone_sword"
+ item_state = "bone_sword"
+ lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
+ slot_flags = ITEM_SLOT_BELT | ITEM_SLOT_BACK
+ force = 15
+ throwforce = 10
+ armour_penetration = 15
+ w_class = WEIGHT_CLASS_HUGE
+ hitsound = 'sound/weapons/bladeslice.ogg'
+ attack_verb = list("attacked", "slashed", "stabbed", "sliced", "tore", "ripped", "diced", "cut")
+ block_chance = 30
+ armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 100, ACID = 50)
+
/obj/item/katana
name = "katana"
desc = "Woefully underpowered in D20."
@@ -801,20 +834,3 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301
to_chat(user, span_warning("[M] is too close to use [src] on."))
return
M.attack_hand(user)
-
-/obj/item/claymore/bone
- name = "Bone Sword"
- desc = "Jagged pieces of bone are tied to what looks like a goliaths femur."
- icon = 'icons/obj/weapons/swords.dmi'
- icon_state = "bone_sword"
- item_state = "bone_sword"
- lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
- righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
- slot_flags = ITEM_SLOT_BELT | ITEM_SLOT_BACK
- force = 15
- throwforce = 10
- armour_penetration = 15
- w_class = WEIGHT_CLASS_NORMAL
- hitsound = 'sound/weapons/bladeslice.ogg'
- attack_verb = list("attacked", "slashed", "stabbed", "sliced", "tore", "ripped", "diced", "cut")
- armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 100, ACID = 50)