diff --git a/code/datums/outfit.dm b/code/datums/outfit.dm index 8cdb053fc8a..8879aeb4950 100644 --- a/code/datums/outfit.dm +++ b/code/datums/outfit.dm @@ -66,6 +66,7 @@ post_equip(H) + return 1 //Example /datum/outfit/test name = "Test Outfit" diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 0a17da3fdce..1c25137d533 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -624,40 +624,21 @@ var/global/list/g_fancy_list_of_types = null alert("Invalid mob") return //log_admin("[key_name(src)] has alienized [M.key].") - var/list/dresspacks = list( - "naked", - "as job...", - "standard space gear", - "tournament standard red", - "tournament standard green", - "tournament gangster", - "tournament chef", - "tournament janitor", - "laser tag red", - "laser tag blue", - "pirate", - "space pirate", - "soviet admiral", - "tunnel clown", - "masked killer", - "assassin", - "mobster", - "death commando", - "emergency response officer", - "centcom official", - "centcom commander", - "special ops officer", - "blue wizard", - "red wizard", - "marisa wizard", - "plasmaman" - ) - var/dresscode = input("Select dress for [M]", "Robust quick dress shop") as null|anything in dresspacks + + + var/list/outfits = list("Naked","Custom","As Job...") + var/list/paths = typesof(/datum/outfit) - /datum/outfit + for(var/path in paths) + var/datum/outfit/O = path //not much to initalize here but whatever + outfits[initial(O.name)] = path + + + var/dresscode = input("Select dress for [M]", "Robust quick dress shop") as null|anything in outfits if (isnull(dresscode)) return var/datum/job/jobdatum - if (dresscode == "as job...") + if (dresscode == "As Job...") var/jobname = input("Select job", "Robust quick dress shop") as null|anything in get_all_jobs() if(isnull(jobname)) return @@ -670,347 +651,18 @@ var/global/list/g_fancy_list_of_types = null continue qdel(I) switch(dresscode) - if ("naked") + if ("Naked") //do nothing - - if ("as job...") + if ("Custom") + //use custom one + if ("As Job...") if(jobdatum) dresscode = jobdatum.title M.job = jobdatum.title jobdatum.equip(M) - if ("standard space gear") - M.equip_to_slot_or_del(new /obj/item/clothing/shoes/sneakers/black(M), slot_shoes) - - 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/clothing/suit/space(M), slot_wear_suit) - M.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space(M), slot_head) - var /obj/item/weapon/tank/jetpack/J = new /obj/item/weapon/tank/jetpack/oxygen(M) - M.equip_to_slot_or_del(J, slot_back) - J.toggle() - M.equip_to_slot_or_del(new /obj/item/clothing/mask/breath(M), slot_wear_mask) - J.Topic(null, list("stat" = 1)) - - if ("tournament standard red","tournament standard green") //we think stunning weapon is too overpowered to use it on tournaments. --rastaf0 - if (dresscode=="tournament standard red") - M.equip_to_slot_or_del(new /obj/item/clothing/under/color/red(M), slot_w_uniform) - else - M.equip_to_slot_or_del(new /obj/item/clothing/under/color/green(M), slot_w_uniform) - M.equip_to_slot_or_del(new /obj/item/clothing/shoes/sneakers/black(M), slot_shoes) - - 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/head/helmet/thunderdome(M), slot_head) - - M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse/destroyer(M), slot_r_hand) - M.equip_to_slot_or_del(new /obj/item/weapon/kitchen/knife(M), slot_l_hand) - M.equip_to_slot_or_del(new /obj/item/weapon/grenade/smokebomb(M), slot_r_store) - - - if ("tournament gangster") //gangster are supposed to fight each other. --rastaf0 - M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/det(M), slot_w_uniform) - M.equip_to_slot_or_del(new /obj/item/clothing/shoes/sneakers/black(M), slot_shoes) - - M.equip_to_slot_or_del(new /obj/item/clothing/suit/det_suit(M), slot_wear_suit) - M.equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal/monocle(M), slot_glasses) - M.equip_to_slot_or_del(new /obj/item/clothing/head/det_hat(M), slot_head) - - M.equip_to_slot_or_del(new /obj/item/weapon/gun/projectile(M), slot_r_hand) - M.equip_to_slot_or_del(new /obj/item/ammo_box/c10mm(M), slot_l_store) - - if ("tournament chef") //Steven Seagal FTW - M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/chef(M), slot_w_uniform) - M.equip_to_slot_or_del(new /obj/item/clothing/suit/toggle/chef(M), slot_wear_suit) - M.equip_to_slot_or_del(new /obj/item/clothing/shoes/sneakers/black(M), slot_shoes) - M.equip_to_slot_or_del(new /obj/item/clothing/head/chefhat(M), slot_head) - - M.equip_to_slot_or_del(new /obj/item/weapon/kitchen/rollingpin(M), slot_r_hand) - M.equip_to_slot_or_del(new /obj/item/weapon/kitchen/knife(M), slot_l_hand) - M.equip_to_slot_or_del(new /obj/item/weapon/kitchen/knife(M), slot_r_store) - M.equip_to_slot_or_del(new /obj/item/weapon/kitchen/knife(M), slot_s_store) - - if ("tournament janitor") - M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/janitor(M), slot_w_uniform) - M.equip_to_slot_or_del(new /obj/item/clothing/shoes/sneakers/black(M), slot_shoes) - var/obj/item/weapon/storage/backpack/backpack = new(M) - for(var/obj/item/I in backpack) - qdel(I) - M.equip_to_slot_or_del(backpack, slot_back) - - M.equip_to_slot_or_del(new /obj/item/weapon/mop(M), slot_r_hand) - var/obj/item/weapon/reagent_containers/glass/bucket/bucket = new(M) - bucket.reagents.add_reagent("water", 70) - M.equip_to_slot_or_del(bucket, slot_l_hand) - - M.equip_to_slot_or_del(new /obj/item/weapon/grenade/chem_grenade/cleaner(M), slot_r_store) - M.equip_to_slot_or_del(new /obj/item/weapon/grenade/chem_grenade/cleaner(M), slot_l_store) - M.equip_to_slot_or_del(new /obj/item/stack/tile/plasteel(M), slot_in_backpack) - M.equip_to_slot_or_del(new /obj/item/stack/tile/plasteel(M), slot_in_backpack) - M.equip_to_slot_or_del(new /obj/item/stack/tile/plasteel(M), slot_in_backpack) - M.equip_to_slot_or_del(new /obj/item/stack/tile/plasteel(M), slot_in_backpack) - M.equip_to_slot_or_del(new /obj/item/stack/tile/plasteel(M), slot_in_backpack) - M.equip_to_slot_or_del(new /obj/item/stack/tile/plasteel(M), slot_in_backpack) - M.equip_to_slot_or_del(new /obj/item/stack/tile/plasteel(M), slot_in_backpack) - - if ("laser tag red") - M.equip_to_slot_or_del(new /obj/item/clothing/under/color/red(M), slot_w_uniform) - M.equip_to_slot_or_del(new /obj/item/clothing/shoes/sneakers/red(M), slot_shoes) - M.equip_to_slot_or_del(new /obj/item/clothing/gloves/color/red(M), slot_gloves) - M.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/redtaghelm(M), slot_head) - M.equip_to_slot_or_del(new /obj/item/device/radio/headset(M), slot_ears) - M.equip_to_slot_or_del(new /obj/item/clothing/suit/redtag(M), slot_wear_suit) - M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(M), slot_back) - M.equip_to_slot_or_del(new /obj/item/weapon/storage/box(M), slot_in_backpack) - M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/laser/redtag(M), slot_s_store) - - if ("laser tag blue") - M.equip_to_slot_or_del(new /obj/item/clothing/under/color/blue(M), slot_w_uniform) - M.equip_to_slot_or_del(new /obj/item/clothing/shoes/sneakers/blue(M), slot_shoes) - M.equip_to_slot_or_del(new /obj/item/clothing/gloves/color/blue(M), slot_gloves) - M.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/bluetaghelm(M), slot_head) - M.equip_to_slot_or_del(new /obj/item/device/radio/headset(M), slot_ears) - M.equip_to_slot_or_del(new /obj/item/clothing/suit/bluetag(M), slot_wear_suit) - M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(M), slot_back) - M.equip_to_slot_or_del(new /obj/item/weapon/storage/box(M), slot_in_backpack) - M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/laser/bluetag(M), slot_s_store) - - 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/sneakers/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/weapon/melee/energy/sword/pirate(M), slot_r_hand) - - if ("space 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/sneakers/brown(M), slot_shoes) - M.equip_to_slot_or_del(new /obj/item/clothing/suit/space/pirate(M), slot_wear_suit) - M.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/pirate(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/weapon/melee/energy/sword/pirate(M), slot_r_hand) - - if("tunnel clown")//Tunnel clowns rule! - 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/clothing/shoes/clown_shoes(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/clothing/mask/gas/clown_hat(M), slot_wear_mask) - M.equip_to_slot_or_del(new /obj/item/device/radio/headset(M), slot_ears) - M.equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal/monocle(M), slot_glasses) - M.equip_to_slot_or_del(new /obj/item/clothing/suit/hooded/chaplain_hoodie(M), slot_wear_suit) - M.equip_to_slot_or_del(new /obj/item/weapon/reagent_containers/food/snacks/grown/banana(M), slot_l_store) - M.equip_to_slot_or_del(new /obj/item/weapon/bikehorn(M), slot_r_store) - - var/obj/item/weapon/card/id/W = new(M) - W.access = get_all_accesses() - W.assignment = "Tunnel Clown!" - W.registered_name = M.real_name - W.update_label(M.real_name) - M.equip_to_slot_or_del(W, slot_wear_id) - - var/obj/item/weapon/twohanded/fireaxe/fire_axe = new(M) - M.equip_to_slot_or_del(fire_axe, slot_r_hand) - - if("masked 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/sneakers/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_ears) - M.equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal/monocle(M), slot_glasses) - 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/knife(M), slot_l_store) - M.equip_to_slot_or_del(new /obj/item/weapon/scalpel(M), slot_r_store) - - var/obj/item/weapon/twohanded/fireaxe/fire_axe = new(M) - M.equip_to_slot_or_del(fire_axe, slot_r_hand) - - for(var/obj/item/carried_item in M.contents) - if(!istype(carried_item, /obj/item/weapon/implant))//If it's not an implant. - carried_item.add_blood(M)//Oh yes, there will be blood... - - if("assassin") - var/obj/item/clothing/under/U = new /obj/item/clothing/under/suit_jacket(M) - M.equip_to_slot_or_del(U, slot_w_uniform) - U.attachTie(new /obj/item/clothing/tie/waistcoat(M)) - M.equip_to_slot_or_del(new /obj/item/clothing/shoes/sneakers/black(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_ears) - M.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(M), slot_glasses) - M.equip_to_slot_or_del(new /obj/item/weapon/melee/energy/sword/saber(M), slot_l_store) - - var/obj/item/weapon/storage/secure/briefcase/sec_briefcase = new(M) - for(var/obj/item/briefcase_item in sec_briefcase) - qdel(briefcase_item) - for(var/i=3, i>0, i--) - sec_briefcase.contents += new /obj/item/stack/spacecash/c1000 - sec_briefcase.contents += new /obj/item/weapon/gun/energy/kinetic_accelerator/crossbow - sec_briefcase.contents += new /obj/item/weapon/gun/projectile/revolver/mateba - sec_briefcase.contents += new /obj/item/ammo_box/a357 - sec_briefcase.contents += new /obj/item/weapon/c4 - M.equip_to_slot_or_del(sec_briefcase, slot_l_hand) - - var/obj/item/device/pda/heads/pda = new(M) - pda.owner = M.real_name - pda.ownjob = "Reaper" - pda.update_label() - - M.equip_to_slot_or_del(pda, slot_belt) - - var/obj/item/weapon/card/id/syndicate/W = new(M) - W.access = get_all_accesses() - W.assignment = "Reaper" - W.registered_name = M.real_name - W.update_label(M.real_name) - M.equip_to_slot_or_del(W, slot_wear_id) -// DEATH SQUADS - if("death commando") - equip_deathsquad(M) - - if("emergency response officer") - var/alert - if(alert("Code Red ERT?","Select Response Level","Yes","No")=="Yes") - alert = 1 - else - alert = 0 - switch(input("Which class?") in list("Commander","Security","Engineer","Medic")) - if("Commander") - equip_emergencyresponsesquad(M, "commander",alert) - if("Security") - equip_emergencyresponsesquad(M, "sec",alert) - if("Engineer") - equip_emergencyresponsesquad(M, "eng",alert) - if("Medic") - equip_emergencyresponsesquad(M, "med",alert) - - if("centcom official") - equip_centcomofficial(M) - - if("centcom commander") - M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom_commander(M), slot_w_uniform) - M.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/bulletproof(M), slot_wear_suit) - M.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat/swat(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/headset_cent/commander(M), slot_ears) - M.equip_to_slot_or_del(new /obj/item/clothing/glasses/eyepatch(M), slot_glasses) - M.equip_to_slot_or_del(new /obj/item/clothing/mask/cigarette/cigar/cohiba(M), slot_wear_mask) - M.equip_to_slot_or_del(new /obj/item/clothing/head/centhat(M), slot_head) - M.equip_to_slot_or_del(new /obj/item/weapon/gun/projectile/revolver/mateba(M), slot_belt) - M.equip_to_slot_or_del(new /obj/item/weapon/lighter(M), slot_r_store) - M.equip_to_slot_or_del(new /obj/item/ammo_box/a357(M), slot_l_store) - M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(M), slot_back) - - var/obj/item/weapon/card/id/W = new(M) - W.icon_state = "centcom" - W.access = get_all_accesses() - W.access += get_centcom_access("Centcom Commander") - W.assignment = "Centcom Commander" - W.registered_name = M.real_name - W.update_label() - M.equip_to_slot_or_del(W, slot_wear_id) - - if("special ops officer") - var/obj/item/device/radio/headset/R = new /obj/item/device/radio/headset/headset_cent/commander(M) - R.set_frequency(CENTCOM_FREQ) - R.freqlock = 1 - M.equip_to_slot_or_del(R, slot_ears) - - 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/suit/space/officer(M), slot_wear_suit) - M.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat/swat(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/glasses/thermal/eyepatch(M), slot_glasses) - 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/clothing/head/helmet/space/beret(M), slot_head) - M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse/pistol/m1911(M), slot_belt) - M.equip_to_slot_or_del(new /obj/item/weapon/lighter(M), slot_r_store) - M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(M), slot_back) - - var/obj/item/weapon/card/id/W = new(M) - W.icon_state = "centcom" - W.access = get_all_accesses() - W.access += get_centcom_access("Special Ops Officer") - W.assignment = "Special Ops Officer" - W.registered_name = M.real_name - W.update_label() - M.equip_to_slot_or_del(W, slot_wear_id) - - if("blue 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(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_ears) - M.equip_to_slot_or_del(new /obj/item/clothing/head/wizard(M), slot_head) - M.equip_to_slot_or_del(new /obj/item/weapon/teleportation_scroll(M), slot_r_store) - M.equip_to_slot_or_del(new /obj/item/weapon/spellbook(M), slot_r_hand) - M.equip_to_slot_or_del(new /obj/item/weapon/staff(M), slot_l_hand) - M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(M), slot_back) - M.equip_to_slot_or_del(new /obj/item/weapon/storage/box(M), slot_in_backpack) - - if("red 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_ears) - M.equip_to_slot_or_del(new /obj/item/clothing/head/wizard/red(M), slot_head) - M.equip_to_slot_or_del(new /obj/item/weapon/teleportation_scroll(M), slot_r_store) - M.equip_to_slot_or_del(new /obj/item/weapon/spellbook(M), slot_r_hand) - M.equip_to_slot_or_del(new /obj/item/weapon/staff(M), slot_l_hand) - M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(M), slot_back) - M.equip_to_slot_or_del(new /obj/item/weapon/storage/box(M), slot_in_backpack) - - if("marisa 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/marisa(M), slot_wear_suit) - M.equip_to_slot_or_del(new /obj/item/clothing/shoes/sandal/marisa(M), slot_shoes) - M.equip_to_slot_or_del(new /obj/item/device/radio/headset(M), slot_ears) - M.equip_to_slot_or_del(new /obj/item/clothing/head/wizard/marisa(M), slot_head) - M.equip_to_slot_or_del(new /obj/item/weapon/teleportation_scroll(M), slot_r_store) - M.equip_to_slot_or_del(new /obj/item/weapon/spellbook(M), slot_r_hand) - M.equip_to_slot_or_del(new /obj/item/weapon/staff(M), slot_l_hand) - M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(M), slot_back) - M.equip_to_slot_or_del(new /obj/item/weapon/storage/box(M), slot_in_backpack) - - if("soviet admiral") - 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/headset_cent(M), slot_ears) - M.equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal/eyepatch(M), slot_glasses) - 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/weapon/storage/backpack/satchel(M), slot_back) - M.equip_to_slot_or_del(new /obj/item/weapon/gun/projectile/revolver/mateba(M), slot_belt) - M.equip_to_slot_or_del(new /obj/item/clothing/under/soviet(M), slot_w_uniform) - - var/obj/item/weapon/card/id/W = new(M) - W.icon_state = "centcom" - W.access = get_all_accesses() - W.access += get_centcom_access("Admiral") - W.assignment = "Admiral" - W.registered_name = M.real_name - W.update_label() - M.equip_to_slot_or_del(W, slot_wear_id) - - 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_ears) - M.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(M), slot_glasses) - M.equip_to_slot_or_del(new /obj/item/weapon/gun/projectile/automatic/tommygun(M), slot_r_hand) - M.equip_to_slot_or_del(new /obj/item/clothing/under/suit_jacket/really_black(M), slot_w_uniform) - - var/obj/item/weapon/card/id/W = new(M) - W.assignment = "Assistant" - W.registered_name = M.real_name - W.update_label() - M.equip_to_slot_or_del(W, slot_wear_id) - - if("plasmaman") - M.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/hardsuit/plasmaman(M), slot_head) - M.equip_to_slot_or_del(new /obj/item/clothing/suit/space/eva/plasmaman(M),slot_wear_suit) - M.equip_to_slot_or_del(new /obj/item/weapon/tank/internals/plasmaman/full(M),slot_back) - M.equip_to_slot_or_del(new /obj/item/clothing/mask/breath(M),slot_wear_mask) + else + M.equipOutfit(outfits[dresscode]) M.regenerate_icons() @@ -1104,204 +756,4 @@ var/global/list/g_fancy_list_of_types = null for(var/path in SSgarbage.noqdelhint) dat += "[path]
" - usr << browse(dat, "window=dellog") - - - -//Deathsquad -/proc/equip_deathsquad(mob/living/carbon/human/M, officer) - var/obj/item/device/radio/R = new /obj/item/device/radio/headset/headset_cent/alt(M) - R.set_frequency(CENTCOM_FREQ) - R.freqlock = 1 - M.equip_to_slot_or_del(R, slot_ears) - - if(officer) - M.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/beret(M), slot_head) - //else - // M.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/deathsquad(M), slot_head) - - M.equip_to_slot_or_del(new /obj/item/clothing/suit/space/hardsuit/deathsquad(M), slot_wear_suit) - M.equip_to_slot_or_del(new /obj/item/clothing/under/color/green(M), slot_w_uniform) - M.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat/swat(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/gas/sechailer/swat(M), slot_wear_mask) - M.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/toggle/thermal(M), slot_glasses) - - M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/security(M), slot_back) - M.equip_to_slot_or_del(new /obj/item/weapon/storage/box(M), slot_in_backpack) - - M.equip_to_slot_or_del(new /obj/item/ammo_box/a357(M), slot_in_backpack) - M.equip_to_slot_or_del(new /obj/item/weapon/storage/firstaid/regular(M), slot_in_backpack) - M.equip_to_slot_or_del(new /obj/item/weapon/storage/box/flashbangs(M), slot_in_backpack) - M.equip_to_slot_or_del(new /obj/item/device/flashlight(M), slot_in_backpack) - - M.equip_to_slot_or_del(new /obj/item/weapon/c4(M), slot_in_backpack) - - M.equip_to_slot_or_del(new /obj/item/weapon/melee/energy/sword/saber(M), slot_l_store) - M.equip_to_slot_or_del(new /obj/item/weapon/shield/energy(M), slot_r_store) - M.equip_to_slot_or_del(new /obj/item/weapon/tank/internals/emergency_oxygen(M), slot_s_store) - M.equip_to_slot_or_del(new /obj/item/weapon/gun/projectile/revolver/mateba(M), slot_belt) - - M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse/loyalpin(M), slot_r_hand) - - - var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(M)//Here you go Deuryn - L.imp_in = M - L.implanted = 1 - M.sec_hud_set_implants() - - var/obj/item/weapon/card/id/W = new(M) - W.icon_state = "centcom" - W.access = get_all_accesses()//They get full station access. - W.access += get_centcom_access("Death Commando")//Let's add their alloted Centcom access. - W.assignment = "Death Commando" - W.registered_name = M.real_name - W.update_label(W.registered_name, W.assignment) - M.equip_to_slot_or_del(W, slot_wear_id) - -//Emergency Response Team -/proc/equip_emergencyresponsesquad(mob/living/carbon/human/M, ertrole, alert) - var/obj/item/weapon/card/id/W = null - var/obj/item/device/radio/R = new /obj/item/device/radio/headset/headset_cent/alt(M) - R.set_frequency(CENTCOM_FREQ) - R.freqlock = 1 - M.equip_to_slot_or_del(R, slot_ears) - - switch(ertrole) - if("commander") - W = new /obj/item/weapon/card/id/ert(M) - M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom_officer(M), slot_w_uniform) - M.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat/swat(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/suit/space/hardsuit/ert(M), slot_wear_suit) - M.equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal/eyepatch(M), slot_glasses) - M.equip_to_slot_or_del(W, slot_wear_id) - M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/captain(M), slot_back) - M.equip_to_slot_or_del(new /obj/item/weapon/storage/box/engineer(M), slot_in_backpack) - M.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/security/full(M), slot_belt) - M.equip_to_slot_or_del(new /obj/item/weapon/melee/baton/loaded(M), slot_in_backpack) - - R.keyslot = new /obj/item/device/encryptionkey/heads/captain - - if(alert) - M.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/sechailer/swat(M), slot_in_backpack) - M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse/pistol/loyalpin(M), slot_in_backpack) - M.equip_to_slot_or_del(new /obj/item/weapon/melee/energy/sword/saber(M), slot_l_store) - else - M.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/sechailer(M), slot_in_backpack) - M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/gun(M), slot_in_backpack) - M.equip_to_slot_or_del(new /obj/item/weapon/switchblade(M), slot_l_store) - - if("sec") - W = new /obj/item/weapon/card/id/ert/Security(M) - M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom_officer(M), slot_w_uniform) - M.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat/swat(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/suit/space/hardsuit/ert/sec(M), slot_wear_suit) - M.equip_to_slot_or_del(W, slot_wear_id) - M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/security(M), slot_back) - M.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/security/sunglasses(M), slot_glasses) - M.equip_to_slot_or_del(new /obj/item/weapon/storage/box/engineer(M), slot_in_backpack) - M.equip_to_slot_or_del(new /obj/item/weapon/storage/box/handcuffs(M), slot_in_backpack) - M.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/security/full(M), slot_belt) - M.equip_to_slot_or_del(new /obj/item/weapon/melee/baton/loaded(M), slot_in_backpack) - - R.keyslot = new /obj/item/device/encryptionkey/heads/hos - - if(alert) - M.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/sechailer/swat(M), slot_in_backpack) - M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse/carbine/loyalpin(M), slot_in_backpack) - else - M.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/sechailer(M), slot_in_backpack) - M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/gun(M), slot_in_backpack) - M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/gun/advtaser(M), slot_in_backpack) - - if("med") - W = new /obj/item/weapon/card/id/ert/Medical(M) - M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom_officer(M), slot_w_uniform) - M.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat/swat(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/suit/space/hardsuit/ert/med(M), slot_wear_suit) - M.equip_to_slot_or_del(W, slot_wear_id) - M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/medic(M), slot_back) - M.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health(M), slot_glasses) - M.equip_to_slot_or_del(new /obj/item/weapon/storage/box/engineer(M), slot_in_backpack) - M.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/medical(M), slot_belt) - M.equip_to_slot_or_del(new /obj/item/weapon/storage/firstaid/regular(M), slot_r_hand) - M.equip_to_slot_or_del(new /obj/item/weapon/melee/baton/loaded(M), slot_in_backpack) - - R.keyslot = new /obj/item/device/encryptionkey/heads/cmo - - if(alert) - M.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/sechailer/swat(M), slot_in_backpack) - M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse/pistol/loyalpin(M), slot_in_backpack) - M.equip_to_slot_or_del(new /obj/item/weapon/reagent_containers/hypospray/combat/nanites(M), slot_in_backpack) - else - M.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/sechailer(M), slot_in_backpack) - M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/gun(M), slot_in_backpack) - M.equip_to_slot_or_del(new /obj/item/weapon/reagent_containers/hypospray/combat(M), slot_in_backpack) - - if("eng") - W = new /obj/item/weapon/card/id/ert/Engineer(M) - M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom_officer(M), slot_w_uniform) - M.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat/swat(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/suit/space/hardsuit/ert/engi(M), slot_wear_suit) - M.equip_to_slot_or_del(W, slot_wear_id) - M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/industrial(M), slot_back) - M.equip_to_slot_or_del(new /obj/item/clothing/glasses/meson/engine(M), slot_glasses) - M.equip_to_slot_or_del(new /obj/item/weapon/storage/box/engineer(M), slot_in_backpack) - M.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/utility/full(M), slot_belt) - M.equip_to_slot_or_del(new /obj/item/weapon/rcd_ammo/large(M), slot_l_store) - M.equip_to_slot_or_del(new /obj/item/weapon/melee/baton/loaded(M), slot_in_backpack) - - R.keyslot = new /obj/item/device/encryptionkey/heads/ce - - if(alert) - M.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/sechailer/swat(M), slot_in_backpack) - M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse/pistol/loyalpin(M), slot_in_backpack) - M.equip_to_slot_or_del(new /obj/item/weapon/rcd/combat(M), slot_in_backpack) - else - M.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/sechailer(M), slot_in_backpack) - M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/gun(M), slot_in_backpack) - M.equip_to_slot_or_del(new /obj/item/weapon/rcd/loaded(M), slot_in_backpack) - - R.recalculateChannels() - - var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(M) - L.imp_in = M - L.implanted = 1 - M.sec_hud_set_implants() - - if (W) - W.registered_name = M.real_name - W.update_label(W.registered_name, W.assignment) - - -/proc/equip_centcomofficial(mob/living/carbon/human/M) - M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom_officer(M), slot_w_uniform) - M.equip_to_slot_or_del(new /obj/item/clothing/shoes/sneakers/black(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/headset_cent(M), slot_ears) - M.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(M), slot_glasses) - M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/gun(M), slot_belt) - M.equip_to_slot_or_del(new /obj/item/weapon/pen(M), slot_l_store) - M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_norm(M), slot_back) - - var/obj/item/device/pda/heads/pda = new(M) - pda.owner = M.real_name - pda.ownjob = "Centcom Official" - pda.update_label() - - M.equip_to_slot_or_del(pda, slot_r_store) - - M.equip_to_slot_or_del(new /obj/item/weapon/clipboard(M), slot_l_hand) - - var/obj/item/weapon/card/id/W = new(M) - W.icon_state = "centcom" - W.access = get_centcom_access("Centcom Official") - W.access += access_weapons - W.assignment = "Centcom Official" - W.registered_name = M.real_name - W.update_label() - M.equip_to_slot_or_del(W, slot_wear_id) + usr << browse(dat, "window=dellog") \ No newline at end of file diff --git a/code/modules/admin/verbs/one_click_antag.dm b/code/modules/admin/verbs/one_click_antag.dm index 25b84838539..1a7ea857617 100644 --- a/code/modules/admin/verbs/one_click_antag.dm +++ b/code/modules/admin/verbs/one_click_antag.dm @@ -330,10 +330,10 @@ ready_dna(Commando) if(numagents == 1) //If Squad Leader Commando.real_name = "Officer [pick(commando_names)]" - equip_deathsquad(Commando, 1) + Commando.equipOutfit(/datum/outfit/death_commando/officer) else Commando.real_name = "Trooper [pick(commando_names)]" - equip_deathsquad(Commando) + Commando.equipOutfit(/datum/outfit/death_commando) Commando.key = chosen_candidate.key Commando.mind.assigned_role = "Death Commando" for(var/obj/machinery/door/poddoor/ert/door in airlocks) @@ -425,7 +425,7 @@ newmob.real_name = newmob.dna.species.random_name(newmob.gender,1) newmob.key = chosen_candidate.key newmob.mind.assigned_role = "Centcom Official" - equip_centcomofficial(newmob) + newmob.equipOutfit(/datum/outfit/centcom_official) //Assign antag status and the mission ticker.mode.traitors += newmob.mind @@ -496,25 +496,25 @@ switch(numagents) if(1) ERTOperative.real_name = "Commander [ertname]" - equip_emergencyresponsesquad(ERTOperative, "commander",redalert) + ERTOperative.equipOutfit(redalert ? /datum/outfit/ert/commander/alert : /datum/outfit/ert/commander) if(2) ERTOperative.real_name = "Security Officer [ertname]" - equip_emergencyresponsesquad(ERTOperative, "sec",redalert) + ERTOperative.equipOutfit(redalert ? /datum/outfit/ert/security/alert : /datum/outfit/ert/security) if(3) ERTOperative.real_name = "Medical Officer [ertname]" - equip_emergencyresponsesquad(ERTOperative, "med",redalert) + ERTOperative.equipOutfit(redalert ? /datum/outfit/ert/medic/alert : /datum/outfit/ert/medic) if(4) ERTOperative.real_name = "Engineer [ertname]" - equip_emergencyresponsesquad(ERTOperative, "eng",redalert) + ERTOperative.equipOutfit(redalert ? /datum/outfit/ert/engineer/alert : /datum/outfit/ert/engineer) if(5) ERTOperative.real_name = "Security Officer [ertname]" - equip_emergencyresponsesquad(ERTOperative, "sec",redalert) + ERTOperative.equipOutfit(redalert ? /datum/outfit/ert/security/alert : /datum/outfit/ert/security) if(6) ERTOperative.real_name = "Medical Officer [ertname]" - equip_emergencyresponsesquad(ERTOperative, "med",redalert) + ERTOperative.equipOutfit(redalert ? /datum/outfit/ert/medic/alert : /datum/outfit/ert/medic) if(7) ERTOperative.real_name = "Engineer [ertname]" - equip_emergencyresponsesquad(ERTOperative, "eng",redalert) + ERTOperative.equipOutfit(redalert ? /datum/outfit/ert/engineer/alert : /datum/outfit/ert/engineer) ERTOperative.key = chosen_candidate.key ERTOperative.mind.assigned_role = "ERT" diff --git a/code/modules/clothing/outfits/ert.dm b/code/modules/clothing/outfits/ert.dm new file mode 100644 index 00000000000..c683ec8533b --- /dev/null +++ b/code/modules/clothing/outfits/ert.dm @@ -0,0 +1,172 @@ +/datum/outfit/ert + name = "ERT Common" + + uniform = /obj/item/clothing/under/rank/centcom_officer + shoes = /obj/item/clothing/shoes/combat/swat + gloves = /obj/item/clothing/gloves/combat + ears = /obj/item/device/radio/headset/headset_cent/alt + +/datum/outfit/ert/post_equip(mob/living/carbon/human/H) + var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(H) + L.imp_in = H + L.implanted = 1 + H.sec_hud_set_implants() + + var/obj/item/device/radio/R = H.ears + R.set_frequency(CENTCOM_FREQ) + R.freqlock = 1 + + var/obj/item/weapon/card/id/W = H.wear_id + W.registered_name = H.real_name + W.update_label(W.registered_name, W.assignment) + +/datum/outfit/ert/commander + name = "ERT Commander" + + id = /obj/item/weapon/card/id/ert + suit = /obj/item/clothing/suit/space/hardsuit/ert + glasses = /obj/item/clothing/glasses/thermal/eyepatch + back = /obj/item/weapon/storage/backpack/captain + belt = /obj/item/weapon/storage/belt/security/full + backpack_contents = list(/obj/item/weapon/storage/box/engineer=1,\ + /obj/item/weapon/melee/baton/loaded=1,\ + /obj/item/clothing/mask/gas/sechailer=1,\ + /obj/item/weapon/gun/energy/gun=1) + l_pocket = /obj/item/weapon/switchblade + +/datum/outfit/ert/commander/post_equip(mob/living/carbon/human/H) + ..() + var/obj/item/device/radio/R = H.ears + R.keyslot = new /obj/item/device/encryptionkey/heads/captain + R.recalculateChannels() + +/datum/outfit/ert/commander/alert + name = "ERT Commander - High Alert" + + backpack_contents = list(/obj/item/weapon/storage/box/engineer=1,\ + /obj/item/weapon/melee/baton/loaded=1,\ + /obj/item/clothing/mask/gas/sechailer/swat=1,\ + /obj/item/weapon/gun/energy/pulse/pistol/loyalpin=1) + l_pocket = /obj/item/weapon/melee/energy/sword/saber + +/datum/outfit/ert/security + name = "ERT Security" + + id = /obj/item/weapon/card/id/ert/Security + suit = /obj/item/clothing/suit/space/hardsuit/ert/sec + glasses = /obj/item/clothing/glasses/hud/security/sunglasses + back = /obj/item/weapon/storage/backpack/security + belt = /obj/item/weapon/storage/belt/security/full + backpack_contents = list(/obj/item/weapon/storage/box/engineer=1,\ + /obj/item/weapon/storage/box/handcuffs=1,\ + /obj/item/clothing/mask/gas/sechailer=1,\ + /obj/item/weapon/gun/energy/gun=1,\ + /obj/item/weapon/melee/baton/loaded=1,\ + /obj/item/weapon/gun/energy/gun/advtaser=1) + +/datum/outfit/ert/security/post_equip(mob/living/carbon/human/H) + ..() + var/obj/item/device/radio/R = H.ears + R.keyslot = new /obj/item/device/encryptionkey/heads/hos + R.recalculateChannels() + +/datum/outfit/ert/security/alert + name = "ERT Security - High Alert" + + backpack_contents = list(/obj/item/weapon/storage/box/engineer=1,\ + /obj/item/weapon/storage/box/handcuffs=1,\ + /obj/item/clothing/mask/gas/sechailer/swat=1,\ + /obj/item/weapon/melee/baton/loaded=1,\ + /obj/item/weapon/gun/energy/pulse/carbine/loyalpin=1) + + +/datum/outfit/ert/medic + name = "ERT Medic" + + id = /obj/item/weapon/card/id/ert/Medical + suit = /obj/item/clothing/suit/space/hardsuit/ert/med + glasses = /obj/item/clothing/glasses/hud/health + back = /obj/item/weapon/storage/backpack/medic + belt = /obj/item/weapon/storage/belt/medical + r_hand = /obj/item/weapon/storage/firstaid/regular + backpack_contents = list(/obj/item/weapon/storage/box/engineer=1,\ + /obj/item/weapon/melee/baton/loaded=1,\ + /obj/item/clothing/mask/gas/sechailer=1,\ + /obj/item/weapon/gun/energy/gun=1,\ + /obj/item/weapon/reagent_containers/hypospray/combat=1) + +/datum/outfit/ert/medic/post_equip(mob/living/carbon/human/H) + ..() + var/obj/item/device/radio/R = H.ears + R.keyslot = new /obj/item/device/encryptionkey/heads/cmo + R.recalculateChannels() + +/datum/outfit/ert/medic/alert + name = "ERT Medic - High Alert" + + backpack_contents = list(/obj/item/weapon/storage/box/engineer=1,\ + /obj/item/weapon/melee/baton/loaded=1,\ + /obj/item/clothing/mask/gas/sechailer/swat=1,\ + /obj/item/weapon/gun/energy/pulse/pistol/loyalpin=1,\ + /obj/item/weapon/reagent_containers/hypospray/combat/nanites=1) + +/datum/outfit/ert/engineer + name = "ERT Engineer" + + id = /obj/item/weapon/card/id/ert/Engineer + suit = /obj/item/clothing/suit/space/hardsuit/ert/engi + glasses = /obj/item/clothing/glasses/meson/engine + back = /obj/item/weapon/storage/backpack/industrial + belt = /obj/item/weapon/storage/belt/utility/full + l_pocket = /obj/item/weapon/rcd_ammo/large + r_hand = /obj/item/weapon/storage/firstaid/regular + backpack_contents = list(/obj/item/weapon/storage/box/engineer=1,\ + /obj/item/weapon/melee/baton/loaded=1,\ + /obj/item/clothing/mask/gas/sechailer=1,\ + /obj/item/weapon/gun/energy/gun=1,\ + /obj/item/weapon/rcd/loaded=1) + +/datum/outfit/ert/engineer/post_equip(mob/living/carbon/human/H) + ..() + var/obj/item/device/radio/R = H.ears + R.keyslot = new /obj/item/device/encryptionkey/heads/ce + R.recalculateChannels() + +/datum/outfit/ert/engineer/alert + name = "ERT Engineer - High Alert" + + backpack_contents = list(/obj/item/weapon/storage/box/engineer=1,\ + /obj/item/weapon/melee/baton/loaded=1,\ + /obj/item/clothing/mask/gas/sechailer/swat=1,\ + /obj/item/weapon/gun/energy/pulse/pistol/loyalpin=1,\ + /obj/item/weapon/rcd/combat=1) + + +/datum/outfit/centcom_official + name = "Centcom Official" + + uniform = /obj/item/clothing/under/rank/centcom_officer + shoes = /obj/item/clothing/shoes/sneakers/black + gloves = /obj/item/clothing/gloves/color/black + ears = /obj/item/device/radio/headset/headset_cent + glasses = /obj/item/clothing/glasses/sunglasses + belt = /obj/item/weapon/gun/energy/gun + l_pocket = /obj/item/weapon/pen + back = /obj/item/weapon/storage/backpack/satchel_norm + r_pocket = /obj/item/device/pda/heads + l_hand = /obj/item/weapon/clipboard + id = /obj/item/weapon/card/id + +/datum/outfit/centcom_official/post_equip(mob/living/carbon/human/H) + var/obj/item/device/pda/heads/pda = H.r_store + pda.owner = H.real_name + pda.ownjob = "Centcom Official" + pda.update_label() + + var/obj/item/weapon/card/id/W = H.wear_id + W.icon_state = "centcom" + W.access = get_centcom_access("Centcom Official") + W.access += access_weapons + W.assignment = "Centcom Official" + W.registered_name = H.real_name + W.update_label() \ No newline at end of file diff --git a/code/modules/clothing/outfits/standard.dm b/code/modules/clothing/outfits/standard.dm new file mode 100644 index 00000000000..623edd0775d --- /dev/null +++ b/code/modules/clothing/outfits/standard.dm @@ -0,0 +1,365 @@ +/datum/outfit/space + name = "Standard Space Gear" + + uniform = /obj/item/clothing/under/color/grey + shoes = /obj/item/clothing/shoes/sneakers/black + suit = /obj/item/clothing/suit/space + head = /obj/item/clothing/head/helmet/space + back = /obj/item/weapon/tank/jetpack/oxygen + mask = /obj/item/clothing/mask/breath + +/datum/outfit/space/post_equip(mob/living/carbon/human/H) + var/obj/item/weapon/tank/jetpack/J = H.back + J.toggle() + J.Topic(null, list("stat" = 1)) + + +/datum/outfit/tournament + +/datum/outfit/tournament/ + name = "tournament standard red" + + uniform = /obj/item/clothing/under/color/red + shoes = /obj/item/clothing/shoes/sneakers/black + suit = /obj/item/clothing/suit/armor/vest + head = /obj/item/clothing/head/helmet/thunderdome + r_hand = /obj/item/weapon/gun/energy/pulse/destroyer + l_hand = /obj/item/weapon/kitchen/knife + r_pocket = /obj/item/weapon/grenade/smokebomb + + +/datum/outfit/tournament/red + name = "tournament standard green" + + uniform = /obj/item/clothing/under/color/green + +/datum/outfit/tournament/gangster + name = "tournament gangster" + uniform = /obj/item/clothing/under/rank/det + suit = /obj/item/clothing/suit/det_suit + glasses = /obj/item/clothing/glasses/thermal/monocle + head = /obj/item/clothing/head/det_hat + r_hand = /obj/item/weapon/gun/projectile + l_hand = null + r_pocket = /obj/item/ammo_box/c10mm + +/datum/outfit/tournament/janitor + name = "tournament janitor" + + uniform = /obj/item/clothing/under/rank/janitor + back = /obj/item/weapon/storage/backpack + suit = null + head = null + r_hand = /obj/item/weapon/mop + l_hand = /obj/item/weapon/reagent_containers/glass/bucket + r_pocket = /obj/item/weapon/grenade/chem_grenade/cleaner + l_pocket = /obj/item/weapon/grenade/chem_grenade/cleaner + backpack_contents = list(/obj/item/stack/tile/plasteel=6) + +/datum/outfit/tournament/janitor/post_equip(mob/living/carbon/human/H) + var/obj/item/weapon/reagent_containers/glass/bucket/bucket = H.l_hand + bucket.reagents.add_reagent("water",70) + +/datum/outfit/laser_tag + name = "Laser Tag Red" + + uniform = /obj/item/clothing/under/color/red + shoes = /obj/item/clothing/shoes/sneakers/red + head = /obj/item/clothing/head/helmet/redtaghelm + gloves = /obj/item/clothing/gloves/color/red + ears = /obj/item/device/radio/headset + suit = /obj/item/clothing/suit/redtag + back = /obj/item/weapon/storage/backpack + suit_store = /obj/item/weapon/gun/energy/laser/redtag + backpack_contents = list(/obj/item/weapon/storage/box=1) + +/datum/outfit/laser_tag/blue + name = "Laser Tag Blue" + uniform = /obj/item/clothing/under/color/blue + shoes = /obj/item/clothing/shoes/sneakers/blue + head = /obj/item/clothing/head/helmet/bluetaghelm + gloves = /obj/item/clothing/gloves/color/blue + suit = /obj/item/clothing/suit/bluetag + suit_store = /obj/item/weapon/gun/energy/laser/bluetag + +/datum/outfit/pirate + name = "Pirate" + + uniform = /obj/item/clothing/under/pirate + shoes = /obj/item/clothing/shoes/sneakers/brown + head = /obj/item/clothing/head/bandana + glasses = /obj/item/clothing/glasses/eyepatch + r_hand = /obj/item/weapon/melee/energy/sword/pirate + +/datum/outfit/pirate/space + name = "Space Pirate" + + suit = /obj/item/clothing/suit/space/pirate + head = /obj/item/clothing/head/helmet/space/pirate + +/datum/outfit/tunnel_clown + name = "Tunnel Clown" + + uniform = /obj/item/clothing/under/rank/clown + shoes = /obj/item/clothing/shoes/clown_shoes + gloves = /obj/item/clothing/gloves/color/black + mask = /obj/item/clothing/mask/gas/clown_hat + ears = /obj/item/device/radio/headset + glasses = /obj/item/clothing/glasses/thermal/monocle + suit = /obj/item/clothing/suit/hooded/chaplain_hoodie + l_pocket = /obj/item/weapon/reagent_containers/food/snacks/grown/banana + r_pocket = /obj/item/weapon/bikehorn + id = /obj/item/weapon/card/id + r_hand = /obj/item/weapon/twohanded/fireaxe + +/datum/outfit/tunnel_clown/post_equip(mob/living/carbon/human/H) + var/obj/item/weapon/card/id/W = H.wear_id + W.access = get_all_accesses() + W.assignment = "Tunnel Clown!" + W.registered_name = H.real_name + W.update_label(H.real_name) + +/datum/outfit/psycho + name = "Masked Killer" + + uniform = /obj/item/clothing/under/overalls + shoes = /obj/item/clothing/shoes/sneakers/white + gloves = /obj/item/clothing/gloves/color/latex + mask = /obj/item/clothing/mask/surgical + head = /obj/item/clothing/head/welding + ears = /obj/item/device/radio/headset + glasses = /obj/item/clothing/glasses/thermal/monocle + suit = /obj/item/clothing/suit/apron + l_pocket = /obj/item/weapon/kitchen/knife + r_pocket = /obj/item/weapon/scalpel + r_hand = /obj/item/weapon/twohanded/fireaxe + +/datum/outfit/psycho/post_equip(mob/living/carbon/human/H) + for(var/obj/item/carried_item in H.contents) + if(!istype(carried_item, /obj/item/weapon/implant))//If it's not an implant. + carried_item.add_blood(H)//Oh yes, there will be blood... + H.regenerate_icons() + +/datum/outfit/assassin + name = "Assassin" + + uniform = /obj/item/clothing/under/suit_jacket + shoes = /obj/item/clothing/shoes/sneakers/black + gloves = /obj/item/clothing/gloves/color/black + ears = /obj/item/device/radio/headset + glasses = /obj/item/clothing/glasses/sunglasses + l_pocket = /obj/item/weapon/melee/energy/sword/saber + l_hand = /obj/item/weapon/storage/secure/briefcase + id = /obj/item/weapon/card/id/syndicate + belt = /obj/item/device/pda/heads + +/datum/outfit/assassin/post_equip(mob/living/carbon/human/H) + var/obj/item/clothing/under/U = H.w_uniform + U.attachTie(new /obj/item/clothing/tie/waistcoat(H)) + + //Could use a type + var/obj/item/weapon/storage/secure/briefcase/sec_briefcase = H.l_hand + for(var/obj/item/briefcase_item in sec_briefcase) + qdel(briefcase_item) + for(var/i=3, i>0, i--) + sec_briefcase.handle_item_insertion(new /obj/item/stack/spacecash/c1000,1) + sec_briefcase.handle_item_insertion(new /obj/item/weapon/gun/energy/kinetic_accelerator/crossbow,1) + sec_briefcase.handle_item_insertion(new /obj/item/weapon/gun/projectile/revolver/mateba,1) + sec_briefcase.handle_item_insertion(new /obj/item/ammo_box/a357,1) + sec_briefcase.handle_item_insertion(new /obj/item/weapon/c4,1) + + var/obj/item/device/pda/heads/pda = H.belt + pda.owner = H.real_name + pda.ownjob = "Reaper" + pda.update_label() + + var/obj/item/weapon/card/id/syndicate/W = H.wear_id + W.access = get_all_accesses() + W.assignment = "Reaper" + W.registered_name = H.real_name + W.update_label(H.real_name) + +/datum/outfit/centcom_commander + name = "Centcom Commander" + + uniform = /obj/item/clothing/under/rank/centcom_commander + suit = /obj/item/clothing/suit/armor/bulletproof + shoes = /obj/item/clothing/shoes/combat/swat + gloves = /obj/item/clothing/gloves/combat + ears = /obj/item/device/radio/headset/headset_cent/commander + glasses = /obj/item/clothing/glasses/eyepatch + mask = /obj/item/clothing/mask/cigarette/cigar/cohiba + head = /obj/item/clothing/head/centhat + belt = /obj/item/weapon/gun/projectile/revolver/mateba + r_pocket = /obj/item/weapon/lighter + l_pocket = /obj/item/ammo_box/a357 + back = /obj/item/weapon/storage/backpack/satchel + id = /obj/item/weapon/card/id + +/datum/outfit/centcom_commander/post_equip(mob/living/carbon/human/H) + var/obj/item/weapon/card/id/W = H.wear_id + W.icon_state = "centcom" + W.access = get_all_accesses() + W.access += get_centcom_access("Centcom Commander") + W.assignment = "Centcom Commander" + W.registered_name = H.real_name + W.update_label() + +/datum/outfit/spec_ops + name = "Special Ops Officer" + + uniform = /obj/item/clothing/under/syndicate + suit = /obj/item/clothing/suit/space/officer + shoes = /obj/item/clothing/shoes/combat/swat + gloves = /obj/item/clothing/gloves/combat + glasses = /obj/item/clothing/glasses/thermal/eyepatch + ears = /obj/item/device/radio/headset/headset_cent/commander + mask = /obj/item/clothing/mask/cigarette/cigar/havana + head = /obj/item/clothing/head/helmet/space/beret + belt = /obj/item/weapon/gun/energy/pulse/pistol/m1911 + r_pocket = /obj/item/weapon/lighter + back = /obj/item/weapon/storage/backpack/satchel + id = /obj/item/weapon/card/id + +/datum/outfit/spec_ops/post_equip(mob/living/carbon/human/H) + var/obj/item/weapon/card/id/W = H.wear_id + W.icon_state = "centcom" + W.access = get_all_accesses() + W.access += get_centcom_access("Special Ops Officer") + W.assignment = "Special Ops Officer" + W.registered_name = H.real_name + W.update_label() + + var/obj/item/device/radio/headset/R = H.ears + R.set_frequency(CENTCOM_FREQ) + R.freqlock = 1 + +/datum/outfit/wizard + name = "Blue Wizard" + + uniform = /obj/item/clothing/under/color/lightpurple + suit = /obj/item/clothing/suit/wizrobe + shoes = /obj/item/clothing/shoes/sandal + ears = /obj/item/device/radio/headset + head = /obj/item/clothing/head/wizard + r_pocket = /obj/item/weapon/teleportation_scroll + r_hand = /obj/item/weapon/spellbook + l_hand = /obj/item/weapon/staff + back = /obj/item/weapon/storage/backpack + backpack_contents = list(/obj/item/weapon/storage/box=1) + +/datum/outfit/wizard/red + name = "Red Wizard" + + suit = /obj/item/clothing/suit/wizrobe/red + head = /obj/item/clothing/head/wizard/red + +/datum/outfit/wizard/weeb + name = "Marisa Wizard" + + suit = /obj/item/clothing/suit/wizrobe/marisa + shoes = /obj/item/clothing/shoes/sandal/marisa + head = /obj/item/clothing/head/wizard/marisa + +/datum/outfit/soviet + name = "Soviet Admiral" + + uniform = /obj/item/clothing/under/soviet + head = /obj/item/clothing/head/hgpiratecap + shoes = /obj/item/clothing/shoes/combat + gloves = /obj/item/clothing/gloves/combat + ears = /obj/item/device/radio/headset/headset_cent + glasses = /obj/item/clothing/glasses/thermal/eyepatch + suit = /obj/item/clothing/suit/hgpirate + back = /obj/item/weapon/storage/backpack/satchel + belt = /obj/item/weapon/gun/projectile/revolver/mateba + + id = /obj/item/weapon/card/id + +/datum/outfit/soviet/post_equip(mob/living/carbon/human/H) + var/obj/item/weapon/card/id/W = H.wear_id + W.icon_state = "centcom" + W.access = get_all_accesses() + W.access += get_centcom_access("Admiral") + W.assignment = "Admiral" + W.registered_name = H.real_name + W.update_label() + +/datum/outfit/mobster + name = "Mobster" + + uniform = /obj/item/clothing/under/suit_jacket/really_black + head = /obj/item/clothing/head/fedora + shoes = /obj/item/clothing/shoes/laceup + gloves = /obj/item/clothing/gloves/color/black + ears = /obj/item/device/radio/headset + glasses = /obj/item/clothing/glasses/sunglasses + r_hand = /obj/item/weapon/gun/projectile/automatic/tommygun + id = /obj/item/weapon/card/id + +/datum/outfit/mobster/post_equip(mob/living/carbon/human/H) + var/obj/item/weapon/card/id/W = H.wear_id + W.assignment = "Assistant" + W.registered_name = H.real_name + W.update_label() + +/datum/outfit/plasmaman + name = "Plasmaman" + + head = /obj/item/clothing/head/helmet/space/hardsuit/plasmaman + suit = /obj/item/clothing/suit/space/eva/plasmaman + back = /obj/item/weapon/tank/internals/plasmaman/full + mask = /obj/item/clothing/mask/breath + +/datum/outfit/death_commando + name = "Death Commando" + + uniform = /obj/item/clothing/under/color/green + suit = /obj/item/clothing/suit/space/hardsuit/deathsquad + shoes = /obj/item/clothing/shoes/combat/swat + gloves = /obj/item/clothing/gloves/combat + mask = /obj/item/clothing/mask/gas/sechailer/swat + glasses = /obj/item/clothing/glasses/hud/toggle/thermal + back = /obj/item/weapon/storage/backpack/security + l_pocket = /obj/item/weapon/melee/energy/sword/saber + r_pocket = /obj/item/weapon/shield/energy + suit_store = /obj/item/weapon/tank/internals/emergency_oxygen + belt = /obj/item/weapon/gun/projectile/revolver/mateba + r_hand = /obj/item/weapon/gun/energy/pulse/loyalpin + id = /obj/item/weapon/card/id + ears = /obj/item/device/radio/headset/headset_cent/alt + + backpack_contents = list(/obj/item/weapon/storage/box=1,\ + /obj/item/ammo_box/a357=1,\ + /obj/item/weapon/storage/firstaid/regular=1,\ + /obj/item/weapon/storage/box/flashbangs=1,\ + /obj/item/device/flashlight=1,\ + /obj/item/weapon/c4=1) + +/datum/outfit/death_commando/post_equip(mob/living/carbon/human/H) + var/obj/item/device/radio/R = H.ears + R.set_frequency(CENTCOM_FREQ) + R.freqlock = 1 + + var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(H)//Here you go Deuryn + L.imp_in = H + L.implanted = 1 + H.sec_hud_set_implants() + + + var/obj/item/weapon/card/id/W = H.wear_id + W.icon_state = "centcom" + W.access = get_all_accesses()//They get full station access. + W.access += get_centcom_access("Death Commando")//Let's add their alloted Centcom access. + W.assignment = "Death Commando" + W.registered_name = H.real_name + W.update_label(W.registered_name, W.assignment) + +/datum/outfit/death_commando/officer + name = "Death Commando Officer" + head = /obj/item/clothing/head/helmet/space/beret + + + + + \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index b4cd8063e39..d1c5b5bec1f 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -474,5 +474,15 @@ return shredded /mob/living/carbon/human/proc/equipOutfit(outfit) - var/datum/outfit/O = new outfit - O.equip(src) \ No newline at end of file + var/datum/outfit/O = null + + if(ispath(outfit)) + O = new outfit + else + O = outfit + if(!istype(O)) + return 0 + if(!O) + return 0 + + return O.equip(src) \ No newline at end of file diff --git a/tgstation.dme b/tgstation.dme index 9b4df0cae4e..16f91b9670f 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -921,6 +921,8 @@ #include "code\modules\clothing\masks\gasmask.dm" #include "code\modules\clothing\masks\hailer.dm" #include "code\modules\clothing\masks\miscellaneous.dm" +#include "code\modules\clothing\outfits\ert.dm" +#include "code\modules\clothing\outfits\standard.dm" #include "code\modules\clothing\shoes\bananashoes.dm" #include "code\modules\clothing\shoes\colour.dm" #include "code\modules\clothing\shoes\magboots.dm"