|
|
|
@@ -213,3 +213,387 @@
|
|
|
|
|
user << "<span class='notice'> You can see...everything!</span>"
|
|
|
|
|
visible_message("<span class='danger'>[user] stares into [src], their eyes glazing over.</span>")
|
|
|
|
|
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 << "<span class='warning'>The [src] detects benevolent energies in your target and redirects your attack!</span>"
|
|
|
|
|
return
|
|
|
|
|
..()
|
|
|
|
|
|
|
|
|
|
/obj/item/weapon/multisword/attack_self(mob/user)
|
|
|
|
|
if(user.mind.special_role == "apprentice")
|
|
|
|
|
user << "<span class='warning'>You know better than to touch your teacher's stuff.</span>"
|
|
|
|
|
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 << "<span class='warning'><B>With your new found power you could easily conquer the station!</B></span>"
|
|
|
|
|
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 << "<B>Objective #[1]</B>: [hijack_objective.explanation_text]"
|
|
|
|
|
ticker.mode.traitors += usr.mind
|
|
|
|
|
usr.mind.special_role = "[usr.real_name] Prime"
|
|
|
|
|
evil = TRUE
|
|
|
|
|
else
|
|
|
|
|
user << "<span class='warning'><B>With your new found power you could easily defend the station!</B></span>"
|
|
|
|
|
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 << "<B>Objective #[1]</B>: [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 << "<span class='warning'><B>The sword flashes, and you find yourself face to face with...you!</B></span>"
|
|
|
|
|
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 << "<span class='warning'><B>[src] is recharging! Keep in mind it shares a cooldown with the swords wielded by your copies.</span>"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/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 << "<B>You are an alternate version of [usr.real_name] from another universe! Help them accomplish their goals at all costs.</B>"
|
|
|
|
|
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 << "<B>Objective #[1]</B>: [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 << "<B>Objective #[1]</B>: [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
|
|
|
|
|