diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm
index 96acbacb0e8..fe6a5da9fe2 100644
--- a/code/game/gamemodes/objective.dm
+++ b/code/game/gamemodes/objective.dm
@@ -347,6 +347,36 @@ datum/objective/hijack
return 0
return 1
+/datum/objective/hijackclone
+ explanation_text = "Hijack the emergency shuttle by ensuring only you (or your copies) escape."
+
+ check_completion()
+ if(!owner.current)
+ return 0
+ if(!emergency_shuttle.returned())
+ return 0
+
+ var/area/A = locate(/area/shuttle/escape/centcom)
+
+ for(var/mob/living/player in player_list) //Make sure nobody else is onboard
+ if(player.mind && player.mind != owner)
+ if(player.stat != DEAD)
+ if(istype(player, /mob/living/silicon))
+ continue
+ if(get_area(player) == A)
+ if(player.real_name != owner.current.real_name && !istype(get_turf(player.mind.current), /turf/simulated/shuttle/floor4))
+ return 0
+
+ for(var/mob/living/player in player_list) //Make sure at least one of you is onboard
+ if(player.mind && player.mind != owner)
+ if(player.stat != DEAD)
+ if(istype(player, /mob/living/silicon))
+ continue
+ if(get_area(player) == A)
+ if(player.real_name == owner.current.real_name && !istype(get_turf(player.mind.current), /turf/simulated/shuttle/floor4))
+ return 1
+ return 0
+
datum/objective/block
explanation_text = "Do not allow any organic lifeforms to escape on the shuttle alive."
diff --git a/code/game/gamemodes/wizard/artefact.dm b/code/game/gamemodes/wizard/artefact.dm
index ef0dddac0fa..3008d2db0c7 100644
--- a/code/game/gamemodes/wizard/artefact.dm
+++ b/code/game/gamemodes/wizard/artefact.dm
@@ -213,3 +213,387 @@
user << " You can see...everything!"
visible_message("[user] stares into [src], their eyes glazing over.")
user.ghostize(1)
+
+/////////////////////Multiverse Blade////////////////////
+var/global/list/multiverse = list()
+
+/obj/item/weapon/multisword
+ name = "multiverse sword"
+ desc = "A weapon capable of conquering the universe and beyond. Activate it to summon copies of yourself from others dimensions to fight by your side."
+ icon = 'icons/obj/weapons.dmi'
+ icon_state = "energy_katana"
+ item_state = "energy_katana"
+ hitsound = 'sound/weapons/bladeslice.ogg'
+ flags = CONDUCT
+ slot_flags = SLOT_BELT
+ force = 20
+ throwforce = 10
+ sharp = 1
+ edge = 1
+ w_class = 2
+ attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
+ var/faction = list("unassigned")
+ var/cooldown = 0
+ var/cooldown_between_uses = 400 //time in deciseconds between uses--default of 40 seconds.
+ var/assigned = "unassigned"
+ var/evil = TRUE
+ var/probability_evil = 30 //what's the probability this sword will be evil when activated?
+ var/duplicate_self = 0 //Do we want the species randomized along with equipment should the user be duplicated in their entirety?
+ var/sword_type = /obj/item/weapon/multisword //type of sword to equip.
+
+/obj/item/weapon/multisword/New()
+ ..()
+ multiverse |= src
+
+
+/obj/item/weapon/multisword/Destroy()
+ multiverse.Remove(src)
+ return ..()
+
+/obj/item/weapon/multisword/attack(mob/living/M as mob, mob/living/user as mob) //to prevent accidental friendly fire or out and out grief.
+ if(M.real_name == user.real_name)
+ user << "The [src] detects benevolent energies in your target and redirects your attack!"
+ return
+ ..()
+
+/obj/item/weapon/multisword/attack_self(mob/user)
+ if(user.mind.special_role == "apprentice")
+ user << "You know better than to touch your teacher's stuff."
+ return
+ if(cooldown < world.time)
+ var/faction_check = 0
+ for(var/F in faction)
+ if(F in user.faction)
+ faction_check = 1
+ break
+ if(faction_check == 0)
+ faction = list("[user.real_name]")
+ assigned = "[user.real_name]"
+ user.faction = list("[user.real_name]")
+ user << "You bind the sword to yourself. You can now use it to summon help."
+ if(!usr.mind.special_role)
+ if(prob(probability_evil))
+ user << "With your new found power you could easily conquer the station!"
+ var/datum/objective/hijackclone/hijack_objective = new /datum/objective/hijackclone
+ hijack_objective.owner = usr.mind
+ usr.mind.objectives += hijack_objective
+ hijack_objective.explanation_text = "Ensure only [usr.real_name] and their copies are on the shuttle!"
+ usr << "Objective #[1]: [hijack_objective.explanation_text]"
+ ticker.mode.traitors += usr.mind
+ usr.mind.special_role = "[usr.real_name] Prime"
+ evil = TRUE
+ else
+ user << "With your new found power you could easily defend the station!"
+ var/datum/objective/survive/new_objective = new /datum/objective/survive
+ new_objective.owner = usr.mind
+ new_objective.explanation_text = "Survive, and help defend the innocent from the mobs of multiverse clones."
+ usr << "Objective #[1]: [new_objective.explanation_text]"
+ usr.mind.objectives += new_objective
+ ticker.mode.traitors += usr.mind
+ usr.mind.special_role = "[usr.real_name] Prime"
+ evil = FALSE
+ else
+ var/list/candidates = get_candidates(BE_WIZARD)
+ if(candidates.len)
+ var/client/C = pick(candidates)
+ spawn_copy(C, get_turf(user.loc), user)
+ user << "The sword flashes, and you find yourself face to face with...you!"
+ cooldown = world.time + cooldown_between_uses
+ for(var/obj/item/weapon/multisword/M in multiverse)
+ if(M.assigned == assigned)
+ M.cooldown = cooldown
+
+ else
+ user << "You fail to summon any copies of yourself. Perhaps you should try again in a bit."
+ else
+ user << "[src] is recharging! Keep in mind it shares a cooldown with the swords wielded by your copies."
+
+
+/obj/item/weapon/multisword/proc/spawn_copy(var/client/C, var/turf/T)
+ var/mob/living/carbon/human/M = new/mob/living/carbon/human(T)
+ if(duplicate_self)
+ usr.client.prefs.copy_to(M)
+ else
+ C.prefs.copy_to(M)
+ M.key = C.key
+ M.mind.name = usr.real_name
+ M << "You are an alternate version of [usr.real_name] from another universe! Help them accomplish their goals at all costs."
+ M.faction = list("[usr.real_name]")
+ if(duplicate_self)
+ M.set_species(usr.get_species()) //duplicate the sword user's species.
+ else
+ if(prob(50))
+ var/list/all_species = list("Human","Unathi","Skrell","Tajaran","Kidan","Golem","Diona","Machine","Slime People","Grey","Vulpkanin")
+ M.set_species(pick(all_species))
+ M.real_name = usr.real_name //this is clear down here in case the user happens to become a golem; that way they have the proper name.
+ M.name = usr.real_name
+ if(duplicate_self)
+ M.dna = usr.dna.Clone()
+ M.UpdateAppearance()
+ domutcheck(M, null)
+ M.update_body()
+ M.update_hair()
+
+ equip_copy(M)
+
+ if(evil)
+ var/datum/objective/hijackclone/hijack_objective = new /datum/objective/hijackclone
+ hijack_objective.owner = M.mind
+ M.mind.objectives += hijack_objective
+ hijack_objective.explanation_text = "Ensure only [usr.real_name] and their copies are on the shuttle!"
+ M << "Objective #[1]: [hijack_objective.explanation_text]"
+ M.mind.special_role = "multiverse traveller"
+ log_game("[M.key] was made a multiverse traveller with the objective to help [usr.real_name] hijack.")
+ else
+ var/datum/objective/protect/new_objective = new /datum/objective/protect
+ new_objective.owner = M.mind
+ new_objective.target = usr.mind
+ new_objective.explanation_text = "Protect [usr.real_name], your copy, and help them defend the innocent from the mobs of multiverse clones."
+ M.mind.objectives += new_objective
+ M << "Objective #[1]: [new_objective.explanation_text]"
+ M.mind.special_role = "multiverse traveller"
+ log_game("[M.key] was made a multiverse traveller with the objective to help [usr.real_name] protect the station.")
+
+/obj/item/weapon/multisword/proc/equip_copy(var/mob/living/carbon/human/M)
+
+ var/obj/item/weapon/multisword/sword = new sword_type
+ sword.assigned = assigned
+ sword.faction = list("[assigned]")
+ sword.evil = evil
+
+ if(duplicate_self)
+ //Duplicates the user's current equipent
+ var/mob/living/carbon/human/H = usr
+
+ var/obj/head = H.get_item_by_slot(slot_head)
+ if(head)
+ M.equip_to_slot_or_del(new head.type(M), slot_head)
+
+ var/obj/mask = H.get_item_by_slot(slot_wear_mask)
+ if(mask)
+ M.equip_to_slot_or_del(new mask.type(M), slot_wear_mask)
+
+ var/obj/glasses = H.get_item_by_slot(slot_glasses)
+ if(glasses)
+ M.equip_to_slot_or_del(new glasses.type(M), slot_glasses)
+
+ var/obj/left_ear = H.get_item_by_slot(slot_l_ear)
+ if(left_ear)
+ M.equip_to_slot_or_del(new left_ear.type(M), slot_l_ear)
+
+ var/obj/right_ear = H.get_item_by_slot(slot_r_ear)
+ if(right_ear)
+ M.equip_to_slot_or_del(new right_ear.type(M), slot_r_ear)
+
+ var/obj/uniform = H.get_item_by_slot(slot_w_uniform)
+ if(uniform)
+ M.equip_to_slot_or_del(new uniform.type(M), slot_w_uniform)
+
+ var/obj/suit = H.get_item_by_slot(slot_wear_suit)
+ if(suit)
+ M.equip_to_slot_or_del(new suit.type(M), slot_wear_suit)
+
+ var/obj/gloves = H.get_item_by_slot(slot_gloves)
+ if(gloves)
+ M.equip_to_slot_or_del(new gloves.type(M), slot_gloves)
+
+ var/obj/shoes = H.get_item_by_slot(slot_shoes)
+ if(shoes)
+ M.equip_to_slot_or_del(new shoes.type(M), slot_shoes)
+
+ var/obj/belt = H.get_item_by_slot(slot_belt)
+ if(belt)
+ M.equip_to_slot_or_del(new belt.type(M), slot_belt)
+
+ var/obj/pda = H.get_item_by_slot(slot_wear_pda)
+ if(pda)
+ M.equip_to_slot_or_del(new pda.type(M), slot_wear_pda)
+
+ var/obj/back = H.get_item_by_slot(slot_back)
+ if(back)
+ M.equip_to_slot_or_del(new back.type(M), slot_back)
+
+ var/obj/suit_storage = H.get_item_by_slot(slot_s_store)
+ if(suit_storage)
+ M.equip_to_slot_or_del(new suit_storage.type(M), slot_s_store)
+
+ var/obj/left_pocket = H.get_item_by_slot(slot_l_store)
+ if(left_pocket)
+ M.equip_to_slot_or_del(new left_pocket.type(M), slot_l_store)
+
+ var/obj/right_pocket = H.get_item_by_slot(slot_r_store)
+ if(right_pocket)
+ M.equip_to_slot_or_del(new right_pocket.type(M), slot_r_store)
+
+ M.equip_to_slot_or_del(sword, slot_r_hand) //Don't duplicate what's equipped to hands, or else duplicate swords could be generated...or weird cases of factionless swords.
+ else
+ if(M.get_species() == "Tajaran" || M.get_species() == "Unathi")
+ M.equip_to_slot_or_del(new /obj/item/clothing/shoes/sandal(M), slot_shoes) //If they can't wear shoes, give them a pair of sandals.
+
+ var/randomize = pick("mobster","roman","wizard","cyborg","syndicate","assistant", "animu", "cultist", "highlander", "clown", "killer", "pirate", "soviet", "officer", "gladiator")
+
+ switch(randomize)
+ if("mobster")
+ M.equip_to_slot_or_del(new /obj/item/clothing/head/fedora(M), slot_head)
+ M.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(M), slot_shoes)
+ M.equip_to_slot_or_del(new /obj/item/clothing/gloves/color/black(M), slot_gloves)
+ M.equip_to_slot_or_del(new /obj/item/device/radio/headset(M), slot_l_ear)
+ M.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(M), slot_glasses)
+ M.equip_to_slot_or_del(new /obj/item/clothing/under/suit_jacket/really_black(M), slot_w_uniform)
+ M.equip_to_slot_or_del(sword, slot_r_hand)
+
+ if("roman")
+ var/hat = pick(/obj/item/clothing/head/helmet/roman, /obj/item/clothing/head/helmet/roman/legionaire)
+ M.equip_to_slot_or_del(new hat(M), slot_head)
+ M.equip_to_slot_or_del(new /obj/item/clothing/under/roman(M), slot_w_uniform)
+ M.equip_to_slot_or_del(new /obj/item/clothing/shoes/roman(M), slot_shoes)
+ M.equip_to_slot_or_del(new /obj/item/weapon/shield/riot/roman(M), slot_l_hand)
+ M.equip_to_slot_or_del(sword, slot_r_hand)
+
+ if("wizard")
+ M.equip_to_slot_or_del(new /obj/item/clothing/under/color/lightpurple(M), slot_w_uniform)
+ M.equip_to_slot_or_del(new /obj/item/clothing/suit/wizrobe/red(M), slot_wear_suit)
+ M.equip_to_slot_or_del(new /obj/item/clothing/shoes/sandal(M), slot_shoes)
+ M.equip_to_slot_or_del(new /obj/item/device/radio/headset(M), slot_l_ear)
+ M.equip_to_slot_or_del(new /obj/item/clothing/head/wizard/red(M), slot_head)
+ M.equip_to_slot_or_del(sword, slot_r_hand)
+
+ if("cyborg")
+ if(M.get_species() != "Machine")
+ for(var/obj/item/organ/O in M.organs)
+ O.robotize()
+ M.equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal/eyepatch(M), slot_glasses)
+ M.equip_to_slot_or_del(sword, slot_r_hand)
+
+ if("syndicate")
+ M.equip_to_slot_or_del(new /obj/item/clothing/under/syndicate(M), slot_w_uniform)
+ M.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat(M), slot_shoes)
+ M.equip_to_slot_or_del(new /obj/item/clothing/gloves/combat(M), slot_gloves)
+ M.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/swat(M), slot_head)
+ M.equip_to_slot_or_del(new /obj/item/device/radio/headset(M), slot_l_ear)
+ M.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest(M), slot_wear_suit)
+ M.equip_to_slot_or_del(new /obj/item/clothing/mask/gas(M),slot_wear_mask)
+ M.equip_to_slot_or_del(sword, slot_r_hand)
+
+ if("assistant")
+ M.equip_to_slot_or_del(new /obj/item/clothing/under/color/grey(M), slot_w_uniform)
+ M.equip_to_slot_or_del(new /obj/item/device/radio/headset(M), slot_l_ear)
+ M.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(M), slot_shoes)
+ M.equip_to_slot_or_del(sword, slot_r_hand)
+
+ if("animu")
+ M.equip_to_slot_or_del(new /obj/item/clothing/shoes/sandal(M), slot_shoes)
+ M.equip_to_slot_or_del(new /obj/item/device/radio/headset(M), slot_l_ear)
+ M.equip_to_slot_or_del(new /obj/item/clothing/head/kitty(M), slot_head)
+ M.equip_to_slot_or_del(new /obj/item/clothing/under/schoolgirl(M), slot_w_uniform)
+ M.equip_to_slot_or_del(sword, slot_r_hand)
+
+ if("cultist")
+ M.equip_to_slot_or_del(new /obj/item/clothing/head/culthood/alt(M), slot_head)
+ M.equip_to_slot_or_del(new /obj/item/clothing/suit/cultrobes/alt(M), slot_wear_suit)
+ M.equip_to_slot_or_del(new /obj/item/clothing/shoes/cult(M), slot_shoes)
+ M.equip_to_slot_or_del(new /obj/item/device/radio/headset(M), slot_l_ear)
+ M.equip_to_slot_or_del(sword, slot_r_hand)
+
+ if("highlander")
+ M.equip_to_slot_or_del(new /obj/item/clothing/under/kilt(M), slot_w_uniform)
+ M.equip_to_slot_or_del(new /obj/item/device/radio/headset(M), slot_l_ear)
+ M.equip_to_slot_or_del(new /obj/item/clothing/head/beret(M), slot_head)
+ M.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat(M), slot_shoes)
+ M.equip_to_slot_or_del(sword, slot_r_hand)
+
+ if("clown")
+ M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/clown(M), slot_w_uniform)
+ M.equip_to_slot_or_del(new /obj/item/device/radio/headset(M), slot_l_ear)
+ M.equip_to_slot_or_del(new /obj/item/clothing/shoes/clown_shoes(M), slot_shoes)
+ M.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/clown_hat(M), slot_wear_mask)
+ M.equip_to_slot_or_del(new /obj/item/weapon/bikehorn(M), slot_l_store)
+ M.equip_to_slot_or_del(sword, slot_r_hand)
+
+ if("killer")
+ M.equip_to_slot_or_del(new /obj/item/clothing/under/overalls(M), slot_w_uniform)
+ M.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(M), slot_shoes)
+ M.equip_to_slot_or_del(new /obj/item/clothing/gloves/color/latex(M), slot_gloves)
+ M.equip_to_slot_or_del(new /obj/item/clothing/mask/surgical(M), slot_wear_mask)
+ M.equip_to_slot_or_del(new /obj/item/clothing/head/welding(M), slot_head)
+ M.equip_to_slot_or_del(new /obj/item/device/radio/headset(M), slot_l_ear)
+ M.equip_to_slot_or_del(new /obj/item/clothing/suit/apron(M), slot_wear_suit)
+ M.equip_to_slot_or_del(new /obj/item/weapon/kitchen/utensil/knife(M), slot_l_store)
+ M.equip_to_slot_or_del(new /obj/item/weapon/scalpel(M), slot_r_store)
+ M.equip_to_slot_or_del(sword, slot_r_hand)
+ for(var/obj/item/carried_item in M.contents)
+ if(!istype(carried_item, /obj/item/weapon/implant))
+ carried_item.add_blood(M)
+
+ if("pirate")
+ M.equip_to_slot_or_del(new /obj/item/clothing/under/pirate(M), slot_w_uniform)
+ M.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(M), slot_shoes)
+ M.equip_to_slot_or_del(new /obj/item/clothing/head/bandana(M), slot_head)
+ M.equip_to_slot_or_del(new /obj/item/clothing/glasses/eyepatch(M), slot_glasses)
+ M.equip_to_slot_or_del(new /obj/item/device/radio/headset(M), slot_l_ear)
+ M.equip_to_slot_or_del(sword, slot_r_hand)
+
+ if("soviet")
+ M.equip_to_slot_or_del(new /obj/item/clothing/head/hgpiratecap(M), slot_head)
+ M.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat(M), slot_shoes)
+ M.equip_to_slot_or_del(new /obj/item/clothing/gloves/combat(M), slot_gloves)
+ M.equip_to_slot_or_del(new /obj/item/device/radio/headset(M), slot_l_ear)
+ M.equip_to_slot_or_del(new /obj/item/clothing/suit/hgpirate(M), slot_wear_suit)
+ M.equip_to_slot_or_del(new /obj/item/clothing/under/soviet(M), slot_w_uniform)
+ M.equip_to_slot_or_del(sword, slot_r_hand)
+
+ if("officer")
+ M.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/deathsquad/beret(M), slot_head)
+ M.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat(M), slot_shoes)
+ M.equip_to_slot_or_del(new /obj/item/clothing/gloves/combat(M), slot_gloves)
+ M.equip_to_slot_or_del(new /obj/item/clothing/mask/cigarette/cigar/havana(M), slot_wear_mask)
+ M.equip_to_slot_or_del(new /obj/item/device/radio/headset(M), slot_l_ear)
+ M.equip_to_slot_or_del(new /obj/item/clothing/suit/jacket/miljacket(M), slot_wear_suit)
+ M.equip_to_slot_or_del(new /obj/item/clothing/under/syndicate(M), slot_w_uniform)
+ M.equip_to_slot_or_del(new /obj/item/clothing/glasses/eyepatch(M), slot_glasses)
+ M.equip_to_slot_or_del(sword, slot_r_hand)
+
+ if("gladiator")
+ M.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/gladiator(M), slot_head)
+ M.equip_to_slot_or_del(new /obj/item/clothing/under/gladiator(M), slot_w_uniform)
+ M.equip_to_slot_or_del(new /obj/item/device/radio/headset(M), slot_l_ear)
+ M.equip_to_slot_or_del(new /obj/item/clothing/shoes/sandal(M), slot_shoes)
+ M.equip_to_slot_or_del(sword, slot_r_hand)
+
+
+ else
+ return
+
+ var/obj/item/weapon/card/id/W = new /obj/item/weapon/card/id
+ if(duplicate_self)
+ var/duplicated_access = usr.get_item_by_slot(slot_wear_id)
+ if(duplicated_access && istype(duplicated_access, /obj/item/weapon/card/id))
+ var/obj/item/weapon/card/id/duplicated_id = duplicated_access
+ W.access = duplicated_id.access
+ W.icon_state = duplicated_id.icon_state
+ else
+ W.access += access_maint_tunnels
+ W.icon_state = "centcom"
+ else
+ W.access += access_maint_tunnels
+ W.icon_state = "centcom"
+ W.assignment = "Multiverse Traveller"
+ W.registered_name = M.real_name
+ W.update_label(M.real_name)
+ W.SetOwnerInfo(M)
+ M.equip_to_slot_or_del(W, slot_wear_id)
+
+ M.update_icons()
+
+/obj/item/weapon/multisword/pure_evil
+ probability_evil = 100
+
+/obj/item/weapon/multisword/pike //If We are to be used and spent, let it be for a noble purpose.
+ name = "phantom pike"
+ desc = "A fishing pike that appears to be imbued with a peculiar energy."
+ icon_state = "harpoon"
+ item_state = "harpoon"
+ cooldown_between_uses = 200 //Half the time
+ probability_evil = 100
+ duplicate_self = 1
+ sword_type = /obj/item/weapon/multisword/pike
diff --git a/code/game/objects/items/weapons/cards_ids.dm b/code/game/objects/items/weapons/cards_ids.dm
index 84fad33f60c..ee203dad9b4 100644
--- a/code/game/objects/items/weapons/cards_ids.dm
+++ b/code/game/objects/items/weapons/cards_ids.dm
@@ -179,6 +179,13 @@
/obj/item/weapon/card/id/proc/is_untrackable()
return untrackable
+/obj/item/weapon/card/id/proc/update_label(newname, newjob)
+ if(newname || newjob)
+ name = "[(!newname) ? "identification card" : "[newname]'s ID Card"][(!newjob) ? "" : " ([newjob])"]"
+ return
+
+ name = "[(!registered_name) ? "identification card" : "[registered_name]'s ID Card"][(!assignment) ? "" : " ([assignment])"]"
+
/obj/item/weapon/card/id/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
..()
@@ -623,12 +630,12 @@
assignment = "Green Team Fighter"
icon_state = "TDgreen"
desc = "This ID card is given to those who fought inside the thunderdome for the Green Team. Not many have lived to see one of those, even fewer lived to keep it."
-
+
/obj/item/weapon/card/id/lifetime
name = "Lifetime ID Card"
desc = "A modified ID card given only to those people who have devoted their lives to the better interests of Nanotrasen. It sparkles blue."
icon_state = "lifetimeid"
-
+
// Decals
/obj/item/weapon/id_decal
name = "identification card decal"
diff --git a/code/modules/admin/secrets.dm b/code/modules/admin/secrets.dm
index a064788ebba..7ae8cb1fe28 100644
--- a/code/modules/admin/secrets.dm
+++ b/code/modules/admin/secrets.dm
@@ -100,6 +100,7 @@
TDM
Everyone is the traitor
There can only be one!
+ There can only be me!
Dodgeball (TDM)!
Round-enders
The floor is lava! (DANGEROUS: extremely lame)
diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm
index c58d9edf765..12dbc638e57 100644
--- a/code/modules/admin/topic.dm
+++ b/code/modules/admin/topic.dm
@@ -2668,6 +2668,10 @@
feedback_add_details("admin_secrets_fun_used","OO")
usr.client.only_one()
// message_admins("[key_name_admin(usr)] has triggered HIGHLANDER")
+ if("onlyme")
+ feedback_inc("admin_secrets_fun_used",1)
+ feedback_add_details("admin_secrets_fun_used","OM")
+ usr.client.only_me()
if("onlyoneteam")
feedback_inc("admin_secrets_fun_used",1)
feedback_add_details("admin_secrets_fun_used","OOT")
diff --git a/code/modules/admin/verbs/onlyone.dm b/code/modules/admin/verbs/onlyone.dm
index ae1e053659b..97e7f716a3c 100644
--- a/code/modules/admin/verbs/onlyone.dm
+++ b/code/modules/admin/verbs/onlyone.dm
@@ -5,9 +5,9 @@
var/list/incompatible_species = list("Plasmaman")
for(var/mob/living/carbon/human/H in player_list)
- if(H.stat == DEAD || !(H.client))
+ if(H.stat == DEAD || !(H.client))
continue
- if(is_special_character(H))
+ if(is_special_character(H))
continue
if(H.species.name in incompatible_species)
H.set_species("Human")
@@ -55,3 +55,50 @@
message_admins("[key_name_admin(usr)] used THERE CAN BE ONLY ONE! -NO ATTACK LOGS WILL BE SENT TO ADMINS FROM THIS POINT FORTH-", 1)
log_admin("[key_name(usr)] used there can be only one.")
nologevent = 1
+ world << sound('sound/music/THUNDERDOME.ogg')
+
+/client/proc/only_me()
+ if(!ticker)
+ alert("The game hasn't started yet!")
+ return
+
+ for(var/mob/living/carbon/human/H in player_list)
+ if(H.stat == 2 || !(H.client)) continue
+ if(is_special_character(H)) continue
+
+ ticker.mode.traitors += H.mind
+ H.mind.special_role = "[H.real_name] Prime"
+
+ var/datum/objective/hijackclone/hijack_objective = new /datum/objective/hijackclone
+ hijack_objective.owner = H.mind
+ H.mind.objectives += hijack_objective
+
+ H << "You are the multiverse summoner. Activate your blade to summon copies of yourself from another universe to fight by your side."
+ var/obj_count = 1
+ for(var/datum/objective/OBJ in H.mind.objectives)
+ H << "Objective #[obj_count]: [OBJ.explanation_text]"
+ obj_count++
+
+ var/obj/item/slot_item_ID = H.get_item_by_slot(slot_wear_id)
+ qdel(slot_item_ID)
+ var/obj/item/slot_item_hand = H.get_item_by_slot(slot_r_hand)
+ H.unEquip(slot_item_hand)
+
+ var /obj/item/weapon/multisword/pure_evil/multi = new(H)
+ H.equip_to_slot_or_del(multi, slot_r_hand)
+
+ var/obj/item/weapon/card/id/W = new(H)
+ W.icon_state = "centcom"
+ W.access = get_all_accesses()
+ W.access += get_all_centcom_access()
+ W.assignment = "Multiverse Summoner"
+ W.registered_name = H.real_name
+ W.update_label(H.real_name)
+ H.equip_to_slot_or_del(W, slot_wear_id)
+
+ H.update_icons()
+
+ message_admins("[key_name_admin(usr)] used THERE CAN BE ONLY ME! -NO ATTACK LOGS WILL BE SENT TO ADMINS FROM THIS POINT FORTH-", 1)
+ log_admin("[key_name(usr)] used there can be only me.")
+ nologevent = 1
+ world << sound('sound/music/THUNDERDOME.ogg')
\ No newline at end of file