diff --git a/code/game/objects/items/weapons/weaponry.dm b/code/game/objects/items/weapons/weaponry.dm
index 12a7943dfa5..983705144d1 100644
--- a/code/game/objects/items/weapons/weaponry.dm
+++ b/code/game/objects/items/weapons/weaponry.dm
@@ -54,6 +54,123 @@
user.visible_message("[user] is falling on the [src.name]! It looks like \he's trying to commit suicide.")
return(BRUTELOSS)
+var/highlander_claymores = 0
+/obj/item/weapon/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."
+ block_chance = 0 //RNG WON'T HELP YOU NOW, PANSY
+ attack_verb = list("brutalized", "eviscerated", "disemboweled", "hacked", "carved", "cleaved", "gored") //ONLY THE MOST VISCERAL ATTACK VERBS
+ var/notches = 0 //HOW MANY PEOPLE HAVE BEEN SLAIN WITH THIS BLADE
+ var/announced = FALSE //IF WE ARE THE ONLY ONE LEFT STANDING
+
+/obj/item/weapon/claymore/highlander/New()
+ ..()
+ START_PROCESSING(SSobj, src)
+ highlander_claymores++
+
+/obj/item/weapon/claymore/highlander/Destroy()
+ STOP_PROCESSING(SSobj, src)
+ highlander_claymores--
+ return ..()
+
+/obj/item/weapon/claymore/highlander/process()
+ if(isliving(loc))
+ var/mob/living/L = loc
+ if(L.stat != DEAD)
+ if(announced || admin_spawned || highlander_claymores > 1)
+ return
+ announced = TRUE
+ L.fully_heal()
+ world << "[L.real_name] IS THE ONLY ONE LEFT STANDING!"
+ world << sound('sound/misc/highlander_only_one.ogg')
+ L << "YOU ARE THE ONLY ONE LEFT STANDING!"
+
+/obj/item/weapon/claymore/highlander/pickup(mob/living/user)
+ user << "The power of Scotland protects you! You are shielded from all stuns and knockdowns."
+ user.add_stun_absorption("highlander", INFINITY, 1, "is protected by the power of Scotland!", "The power of Scotland absorbs the stun!", " is protected by the power of Scotland!")
+
+/obj/item/weapon/claymore/highlander/dropped(mob/living/user)
+ user << "The power of Scotland fades away! You are no longer shielded from stuns."
+ user.add_stun_absorption("highlander", 0.1, 1, "is protected by the power of Scotland!", "The power of Scotland absorbs the stun!", " is protected by the power of Scotland!")
+
+/obj/item/weapon/claymore/highlander/examine(mob/user)
+ ..()
+ user << "It has [!notches ? "nothing" : "[notches] notches"] scratched into the blade."
+
+/obj/item/weapon/claymore/highlander/attack(mob/living/target, mob/living/user)
+ var/old_target_stat = target.stat
+ . = ..()
+ if(target && target.stat == DEAD && old_target_stat != DEAD && target.mind && target.mind.special_role == "highlander")
+ user.fully_heal() //STEAL THE LIFE OF OUR FALLEN FOES
+ add_notch(user)
+ target.visible_message("[target] crumbles to dust beneath [user]'s blows!", "As you fall, your body crumbles to dust!")
+ target.dust()
+
+/obj/item/weapon/claymore/highlander/attack_self(mob/living/user)
+ var/closest_victim
+ var/closest_distance = 255
+ for(var/mob/living/carbon/human/H in player_list - user)
+ if(H.client && H.mind.special_role == "highlander" && (!closest_victim || get_dist(user, closest_victim) < closest_distance))
+ closest_victim = H
+ if(!closest_victim)
+ user << "[src] thrums for a moment and falls dark. Perhaps there's nobody nearby."
+ user << "[src] thrums and points to the [dir2text(get_dir(user, closest_victim))]."
+
+/obj/item/weapon/claymore/highlander/IsReflect()
+ return 1 //YOU THINK YOUR PUNY LASERS CAN STOP ME?
+
+/obj/item/weapon/claymore/highlander/proc/add_notch(mob/living/user) //DYNAMIC CLAYMORE PROGRESSION SYSTEM - THIS IS THE FUTURE
+ notches++
+ force++
+ var/new_name = name
+ switch(notches)
+ if(1)
+ user << "Your first kill - hopefully one of many. You scratch a notch into [src]'s blade."
+ user << "You feel your fallen foe's soul entering your blade, restoring your wounds!"
+ new_name = "notched claymore"
+ if(2)
+ user << "Another falls before you. Another soul fuses with your own. Another notch in the blade."
+ new_name = "double-notched claymore"
+ color = rgb(255, 235, 235)
+ if(3)
+ user << "You're beginning to relish the thrill of battle."
+ new_name = "triple-notched claymore"
+ color = rgb(255, 215, 215)
+ if(4)
+ user << "You've lost count of how many you've killed."
+ new_name = "many-notched claymore"
+ color = rgb(255, 195, 195)
+ if(5)
+ user << "Five voices now echo in your mind, cheering the slaughter."
+ new_name = "battle-tested claymore"
+ color = rgb(255, 175, 175)
+ if(6)
+ user << "Is this what the vikings felt like? Visions of glory fill your head as you slay your sixth foe."
+ new_name = "battle-scarred claymore"
+ color = rgb(255, 155, 155)
+ if(7)
+ user << "Kill. Butcher. Conquer."
+ new_name = "vicious claymore"
+ color = rgb(255, 135, 135)
+ if(8)
+ user << "IT NEVER GETS OLD. THE SCREAMING. THE BLOOD AS IT SPRAYS ACROSS YOUR FACE."
+ new_name = "bloodthirsty claymore"
+ color = rgb(255, 115, 115)
+ if(9)
+ user << "ANOTHER ONE FALLS TO YOUR BLOWS. ANOTHER WEAKLING UNFIT TO LIVE."
+ new_name = "gore-stained claymore"
+ color = rgb(255, 95, 95)
+ if(10)
+ user.visible_message("[user]'s eyes light up with a vengeful fire!", \
+ "YOU FEEL THE POWER OF VALHALLA FLOWING THROUGH YOU! THERE CAN BE ONLY ONE!!!")
+ user.update_icons()
+ new_name = "GORE-DRENCHED CLAYMORE OF [pick("THE WHIMSICAL SLAUGHTER", "A THOUSAND SLAUGHTERED CATTLE", "GLORY AND VALHALLA", "ANNIHILATION", "OBLITERATION")]"
+ icon_state = "claymore_valhalla"
+ item_state = "cultblade"
+ color = initial(color)
+
+ name = new_name
+ playsound(user, 'sound/items/Screwdriver2.ogg', 50, 1)
+
/obj/item/weapon/katana
name = "katana"
desc = "Woefully underpowered in D20"
diff --git a/code/modules/admin/verbs/onlyone.dm b/code/modules/admin/verbs/onlyone.dm
index 7a1377afe78..bddc973b359 100644
--- a/code/modules/admin/verbs/onlyone.dm
+++ b/code/modules/admin/verbs/onlyone.dm
@@ -3,12 +3,16 @@
alert("The game hasn't started yet!")
return
+ world << "THERE CAN BE ONLY ONE!!!"
+ world << sound('sound/misc/highlander.ogg')
+
for(var/mob/living/carbon/human/H in player_list)
- if(H.stat == 2 || !(H.client)) continue
- if(is_special_character(H)) continue
+ if(H.stat == DEAD || !(H.client)) continue
ticker.mode.traitors += H.mind
- H.mind.special_role = "traitor"
+ H.mind.special_role = "highlander"
+
+ H.dna.species.specflags |= NOGUNS //nice try jackass
var/datum/objective/steal/steal_objective = new
steal_objective.owner = H.mind
@@ -16,10 +20,10 @@
H.mind.objectives += steal_objective
var/datum/objective/hijack/hijack_objective = new
+ hijack_objective.explanation_text = "Escape on the shuttle alone. Ensure nobody else makes it out."
hijack_objective.owner = H.mind
H.mind.objectives += hijack_objective
- H << "You are the traitor."
H.mind.announce_objectives()
for (var/obj/item/I in H)
@@ -27,10 +31,9 @@
continue
qdel(I)
- H.equip_to_slot_or_del(new /obj/item/clothing/under/kilt(H), slot_w_uniform)
+ H.equip_to_slot_or_del(new /obj/item/clothing/under/kilt/highlander(H), slot_w_uniform)
H.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/captain(H), slot_ears)
- H.equip_to_slot_or_del(new /obj/item/clothing/head/beret(H), slot_head)
- H.equip_to_slot_or_del(new /obj/item/weapon/claymore(H), slot_l_hand)
+ H.equip_to_slot_or_del(new /obj/item/clothing/head/beret/highlander(H), slot_head)
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat(H), slot_shoes)
H.equip_to_slot_or_del(new /obj/item/weapon/pinpointer(H.loc), slot_l_store)
@@ -40,12 +43,17 @@
W.access += get_all_centcom_access()
W.assignment = "Highlander"
W.registered_name = H.real_name
+ W.flags |= NODROP
W.update_label(H.real_name)
H.equip_to_slot_or_del(W, slot_wear_id)
- message_admins("[key_name_admin(usr)] used THERE CAN BE ONLY ONE!")
- log_admin("[key_name(usr)] used there can be only one.")
+ var/obj/item/weapon/claymore/highlander/H1 = new(H)
+ H.put_in_hands(H1)
+ H1.pickup(H)
+ message_admins("[key_name_admin(usr)] used THERE CAN BE ONLY ONE!")
+ log_admin("[key_name(usr)] used THERE CAN BE ONLY ONE.")
+ addtimer(SSshuttle.emergency, "request", 50, FALSE, null, 1)
/proc/only_me()
if(!ticker || !ticker.mode)
diff --git a/code/modules/clothing/head/jobs.dm b/code/modules/clothing/head/jobs.dm
index f81067d75ea..1c3de2d39d3 100644
--- a/code/modules/clothing/head/jobs.dm
+++ b/code/modules/clothing/head/jobs.dm
@@ -87,6 +87,10 @@
dog_fashion = /datum/dog_fashion/head/beret
+/obj/item/clothing/head/beret/highlander
+ desc = "That was white fabric. Was."
+ flags = NODROP
+ dog_fashion = null //THIS IS FOR SLAUGHTER, NOT PUPPIES
//Security
diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm
index e39452362c6..6ee8b505403 100644
--- a/code/modules/clothing/under/miscellaneous.dm
+++ b/code/modules/clothing/under/miscellaneous.dm
@@ -355,6 +355,10 @@
fitted = FEMALE_UNIFORM_TOP
can_adjust = 0
+/obj/item/clothing/under/kilt/highlander
+ desc = "You're the only one worthy of this kilt."
+ flags = NODROP
+
/obj/item/clothing/under/sexymime
name = "sexy mime outfit"
desc = "The only time when you DON'T enjoy looking at someone's rack."
diff --git a/icons/obj/weapons.dmi b/icons/obj/weapons.dmi
index f9cddb028d6..993c6dc509b 100644
Binary files a/icons/obj/weapons.dmi and b/icons/obj/weapons.dmi differ
diff --git a/sound/misc/highlander.ogg b/sound/misc/highlander.ogg
new file mode 100644
index 00000000000..2116f8a9724
Binary files /dev/null and b/sound/misc/highlander.ogg differ
diff --git a/sound/misc/highlander_only_one.ogg b/sound/misc/highlander_only_one.ogg
new file mode 100644
index 00000000000..3b69d26ade5
Binary files /dev/null and b/sound/misc/highlander_only_one.ogg differ