mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 10:21:11 +00:00
Final outfit datums things (#26928)
* Equip outfit proc * Strike teams' outfit * thanks byond * fixes el bad * REMOVE BACKUP REMOVE BACKUP * blue wiz
This commit is contained in:
@@ -11,6 +11,7 @@
|
||||
- items_to_collect: items to put in the backbag
|
||||
The associative key is for when to put it if we have no backbag.
|
||||
Use GRASP_LEFT_HAND and GRASP_RIGHT_HAND if it goes to the hands, but slot_x_str if it goes to a slot on the person.
|
||||
- alt_title_items_to_collect: for when you want special items based on job title.
|
||||
- implant_types: the implants we give to the mob.
|
||||
- special_snowflakes: for the edge cases where you need a manual proc.
|
||||
- pda_slot/pda_type/id_type: for the ID and PDA of the mob.
|
||||
@@ -20,6 +21,7 @@
|
||||
-- "Static" procs
|
||||
- equip(var/mob/living/carbon/human/H): tries to equip everything on the list to the relevant slots. This is the "master proc".
|
||||
- equip_backbag(var/mob/living/carbon/human/H): equip the backbag with the correct pref, and tries to put items in it if possible.
|
||||
- pre_equip_disabilities(var/mob/living/carbon/human/H, var/list/items_to_equip) : changes items based on disbabilities registered
|
||||
- give_disabilities_equipment(var/mob/living/carbon/human/H): give the correct equipement for the disabilities the mob has, in the correct slots.
|
||||
|
||||
-- Procs you can override
|
||||
@@ -82,7 +84,7 @@
|
||||
return
|
||||
|
||||
/datum/outfit/proc/pre_equip_disabilities(var/mob/living/carbon/human/H, var/list/items_to_equip)
|
||||
if (H.client.IsByondMember())
|
||||
if (H.client?.IsByondMember())
|
||||
to_chat(H, "Thank you for supporting BYOND!")
|
||||
items_to_collect[/obj/item/weapon/storage/box/byond] = GRASP_LEFT_HAND
|
||||
|
||||
@@ -93,8 +95,9 @@
|
||||
if (!items_to_equip[slot_glasses_str])
|
||||
items_to_equip[slot_glasses_str] = /obj/item/clothing/glasses/regular
|
||||
|
||||
/datum/outfit/proc/equip(var/mob/living/carbon/human/H)
|
||||
if (!H || !H.mind)
|
||||
// -- Equip mindless: if we're going to give the outfit to a mob without a mind
|
||||
/datum/outfit/proc/equip(var/mob/living/carbon/human/H, var/equip_mindless = FALSE)
|
||||
if (!H || (!H.mind && !equip_mindless) )
|
||||
return
|
||||
|
||||
pre_equip(H)
|
||||
@@ -109,14 +112,17 @@
|
||||
|
||||
var/list/snowflake_items = special_snowflakes[species]
|
||||
|
||||
if (snowflake_items && (slot in snowflake_items[H.mind.role_alt_title])) // ex: special_snowflakes["Vox"]["Emergency responder"].
|
||||
if (snowflake_items && (slot in snowflake_items[H?.mind.role_alt_title])) // ex: special_snowflakes["Vox"]["Emergency responder"].
|
||||
special_equip(H.mind.role_alt_title, slot, H)
|
||||
continue
|
||||
|
||||
var/obj_type = L[slot]
|
||||
if (islist(obj_type)) // Special objects for alt-titles.
|
||||
var/list/L2 = obj_type
|
||||
obj_type = L2[H.mind.role_alt_title]
|
||||
if (H.mind && H.mind.role_alt_title in L2)
|
||||
obj_type = L2[H.mind.role_alt_title]
|
||||
else // Mindless
|
||||
obj_type = L2[1] // First item
|
||||
if (!obj_type)
|
||||
continue
|
||||
slot = text2num(slot)
|
||||
@@ -148,7 +154,9 @@
|
||||
chosen_backpack = backpack_types[BACKPACK_STRING]
|
||||
|
||||
// -- The (wo)man has a backpack, let's put stuff in them
|
||||
var/special_items = alt_title_items_to_collect[H.mind.role_alt_title]
|
||||
var/special_items
|
||||
if (H.mind)
|
||||
special_items = alt_title_items_to_collect[H.mind.role_alt_title]
|
||||
|
||||
if (chosen_backpack)
|
||||
H.equip_to_slot_or_del(new chosen_backpack(H), slot_back, 1)
|
||||
@@ -156,8 +164,9 @@
|
||||
H.equip_or_collect(new item_type(H.back), slot_in_backpack)
|
||||
if (equip_survival_gear.len)
|
||||
if (ispath(equip_survival_gear[species]))
|
||||
H.equip_or_collect(new equip_survival_gear(H.back), slot_in_backpack)
|
||||
else
|
||||
var/path = equip_survival_gear[species]
|
||||
H.equip_or_collect(new path(H.back), slot_in_backpack)
|
||||
else if (equip_survival_gear) //
|
||||
H.equip_or_collect(new H.species.survival_gear(H.back), slot_in_backpack)
|
||||
|
||||
// Special alt-title items
|
||||
@@ -191,7 +200,7 @@
|
||||
if (hand_slot) // ie, if it's an actual number
|
||||
H.put_in_hand(hand_slot, new item)
|
||||
|
||||
// Special alt-title items ;
|
||||
// Special alt-title items, given out the same way.
|
||||
if (special_items)
|
||||
for (var/item_type in special_items)
|
||||
var/chosen_slot = special_items[item_type]
|
||||
@@ -211,9 +220,9 @@
|
||||
C.access = concrete_job.get_access()
|
||||
C.registered_name = H.real_name
|
||||
C.rank = rank
|
||||
C.assignment = H.mind.role_alt_title
|
||||
C.assignment = H.mind ? H.mind.role_alt_title : concrete_job.title
|
||||
C.name = "[C.registered_name]'s ID Card ([C.assignment])"
|
||||
C.associated_account_number = H.mind.initial_account.account_number
|
||||
C.associated_account_number = H?.mind?.initial_account.account_number
|
||||
H.equip_or_collect(C, slot_wear_id)
|
||||
|
||||
if (pda_type)
|
||||
|
||||
580
code/datums/outfit/special_outfits/special.dm
Normal file
580
code/datums/outfit/special_outfits/special.dm
Normal file
@@ -0,0 +1,580 @@
|
||||
/datum/outfit/special
|
||||
use_pref_bag = FALSE
|
||||
give_disabilities_equipment = FALSE
|
||||
equip_survival_gear = FALSE
|
||||
|
||||
// No id in most cases.
|
||||
/datum/outfit/special/spawn_id()
|
||||
return
|
||||
|
||||
// -- Special outfits --
|
||||
|
||||
// ----- RIGSUITS
|
||||
|
||||
/datum/outfit/special/gemsuit
|
||||
outfit_name = "Wizard Gemsuit"
|
||||
items_to_spawn = list(
|
||||
"Default" = list(
|
||||
slot_wear_suit_str = /obj/item/clothing/suit/space/rig/wizard,
|
||||
slot_gloves_str = /obj/item/clothing/gloves/purple,
|
||||
slot_shoes_str = /obj/item/clothing/shoes/sandal,
|
||||
),
|
||||
)
|
||||
|
||||
/datum/outfit/special/nazi_rig
|
||||
outfit_name = "Nazi rigsuit"
|
||||
items_to_spawn = list(
|
||||
"Default" = list(
|
||||
slot_wear_suit_str = /obj/item/clothing/suit/space/rig/nazi,
|
||||
),
|
||||
)
|
||||
|
||||
/datum/outfit/special/soviet_rig
|
||||
outfit_name = "Soviet rigsuit"
|
||||
items_to_spawn = list(
|
||||
"Default" = list(
|
||||
slot_wear_suit_str = /obj/item/clothing/suit/space/rig/soviet,
|
||||
),
|
||||
)
|
||||
|
||||
/datum/outfit/special/dreed_gear
|
||||
outfit_name = "Judge Dreed"
|
||||
items_to_spawn = list(
|
||||
"Default" = list(
|
||||
slot_w_uniform_str = /obj/item/clothing/under/darkred,
|
||||
slot_glasses_str = /obj/item/clothing/glasses/hud/security,
|
||||
slot_gloves_str = /obj/item/clothing/gloves/combat,
|
||||
slot_shoes_str = /obj/item/clothing/shoes/combat,
|
||||
slot_head_str = /obj/item/clothing/head/helmet/dredd,
|
||||
slot_wear_mask_str = /obj/item/clothing/mask/gas/swat,
|
||||
slot_belt_str = /obj/item/weapon/storage/belt/security,
|
||||
slot_wear_suit_str = /obj/item/clothing/suit/armor/xcomsquaddie/dredd,
|
||||
slot_s_store_str = /obj/item/weapon/gun/lawgiver,
|
||||
),
|
||||
)
|
||||
|
||||
/datum/outfit/special/standard_space_rig
|
||||
outfit_name = "Standard space rig suit"
|
||||
items_to_spawn = list(
|
||||
"Default" = list(
|
||||
slot_w_uniform_str = /obj/item/clothing/under/color/grey,
|
||||
slot_wear_suit_str = /obj/item/clothing/suit/space,
|
||||
slot_head_str = /obj/item/clothing/head/helmet/space,
|
||||
slot_shoes_str = /obj/item/clothing/shoes/black,
|
||||
slot_wear_mask_str = /obj/item/clothing/mask/breath,
|
||||
slot_s_store_str = /obj/item/weapon/tank/jetpack/oxygen,
|
||||
),
|
||||
)
|
||||
|
||||
/datum/outfit/special/engineer_rig
|
||||
outfit_name = "Engineer rig suit"
|
||||
items_to_spawn = list(
|
||||
"Default" = list(
|
||||
slot_wear_suit_str = /obj/item/clothing/suit/space/rig,
|
||||
slot_wear_mask_str = /obj/item/clothing/mask/breath,
|
||||
slot_s_store_str = /obj/item/weapon/tank/jetpack/oxygen,
|
||||
),
|
||||
)
|
||||
|
||||
/datum/outfit/special/ce_rig
|
||||
outfit_name = "Chief engineer rig suit"
|
||||
items_to_spawn = list(
|
||||
"Default" = list(
|
||||
slot_wear_suit_str = /obj/item/clothing/suit/space/rig/elite,
|
||||
slot_wear_mask_str = /obj/item/clothing/mask/breath,
|
||||
slot_s_store_str = /obj/item/weapon/tank/jetpack/oxygen,
|
||||
),
|
||||
)
|
||||
|
||||
/datum/outfit/special/mining_rig
|
||||
outfit_name = "Chief engineer rig suit"
|
||||
items_to_spawn = list(
|
||||
"Default" = list(
|
||||
slot_wear_suit_str = /obj/item/clothing/suit/space/rig/mining,
|
||||
slot_wear_mask_str = /obj/item/clothing/mask/breath,
|
||||
slot_s_store_str = /obj/item/weapon/tank/jetpack/oxygen,
|
||||
),
|
||||
)
|
||||
|
||||
/datum/outfit/special/mining_rig
|
||||
outfit_name = "Syndie rig suit"
|
||||
items_to_spawn = list(
|
||||
"Default" = list(
|
||||
slot_wear_suit_str = /obj/item/clothing/suit/space/rig/syndi,
|
||||
slot_wear_mask_str = /obj/item/clothing/mask/breath,
|
||||
slot_s_store_str = /obj/item/weapon/tank/jetpack/oxygen,
|
||||
),
|
||||
)
|
||||
|
||||
/datum/outfit/special/medical_rig
|
||||
outfit_name = "Medical rig suit"
|
||||
items_to_spawn = list(
|
||||
"Default" = list(
|
||||
slot_wear_suit_str = /obj/item/clothing/suit/space/rig/medical,
|
||||
slot_wear_mask_str = /obj/item/clothing/mask/breath,
|
||||
slot_s_store_str = /obj/item/weapon/tank/jetpack/oxygen,
|
||||
),
|
||||
)
|
||||
|
||||
/datum/outfit/special/atmos_rig
|
||||
outfit_name = "Atmos rig suit"
|
||||
items_to_spawn = list(
|
||||
"Default" = list(
|
||||
slot_wear_suit_str = /obj/item/clothing/suit/space/rig/atmos,
|
||||
slot_wear_mask_str = /obj/item/clothing/mask/breath,
|
||||
slot_s_store_str = /obj/item/weapon/tank/jetpack/oxygen,
|
||||
),
|
||||
)
|
||||
|
||||
// ----- THUNDERDOME TOURNAMENT
|
||||
|
||||
/datum/outfit/special/tournament_standard_red
|
||||
outfit_name = "Tournament standard red"
|
||||
items_to_spawn = list(
|
||||
"Default" = list(
|
||||
slot_w_uniform_str = /obj/item/clothing/under/color/red,
|
||||
slot_shoes_str = /obj/item/clothing/shoes/black,
|
||||
slot_wear_suit_str = /obj/item/clothing/suit/armor/vest,
|
||||
slot_head_str = /obj/item/clothing/head/helmet/thunderdome,
|
||||
slot_s_store_str = /obj/item/weapon/gun/energy/pulse_rifle/destroyer,
|
||||
slot_r_store_str = /obj/item/weapon/grenade/smokebomb,
|
||||
)
|
||||
)
|
||||
|
||||
/datum/outfit/special/tournament_standard_red/post_equip(var/mob/living/carbon/human/H)
|
||||
H.put_in_hands(new /obj/item/weapon/grenade/smokebomb(H))
|
||||
|
||||
/datum/outfit/special/tournament_standard_green
|
||||
outfit_name = "Tournament standard red"
|
||||
items_to_spawn = list(
|
||||
"Default" = list(
|
||||
slot_w_uniform_str = /obj/item/clothing/under/color/green,
|
||||
slot_shoes_str = /obj/item/clothing/shoes/black,
|
||||
slot_wear_suit_str = /obj/item/clothing/suit/armor/vest,
|
||||
slot_head_str = /obj/item/clothing/head/helmet/thunderdome,
|
||||
slot_s_store_str = /obj/item/weapon/gun/energy/pulse_rifle/destroyer,
|
||||
slot_r_store_str = /obj/item/weapon/grenade/smokebomb,
|
||||
)
|
||||
)
|
||||
|
||||
/datum/outfit/special/tournament_standard_green/post_equip(var/mob/living/carbon/human/H)
|
||||
H.put_in_hands(new /obj/item/weapon/grenade/smokebomb(H))
|
||||
|
||||
/datum/outfit/special/tournament_gangster
|
||||
outfit_name = "Tournament gangster"
|
||||
items_to_spawn = list(
|
||||
"Default" = list(
|
||||
slot_w_uniform_str = /obj/item/clothing/under/det,
|
||||
slot_shoes_str = /obj/item/clothing/shoes/black,
|
||||
slot_wear_suit_str = /obj/item/clothing/suit/storage/det_suit,
|
||||
slot_head_str = /obj/item/clothing/head/det_hat,
|
||||
slot_s_store_str = /obj/item/weapon/gun/projectile,
|
||||
slot_r_store_str = /obj/item/weapon/cloaking_device,
|
||||
slot_glasses_str = /obj/item/clothing/glasses/thermal/monocle,
|
||||
)
|
||||
)
|
||||
|
||||
/datum/outfit/special/tournament_chef
|
||||
outfit_name = "Tournament chef"
|
||||
backpack_types = list(
|
||||
BACKPACK_STRING = /obj/item/weapon/storage/backpack,
|
||||
)
|
||||
items_to_spawn = list(
|
||||
"Default" = list(
|
||||
slot_w_uniform_str = /obj/item/clothing/under/rank/chef,
|
||||
slot_shoes_str = /obj/item/clothing/shoes/black,
|
||||
slot_wear_suit_str = /obj/item/clothing/suit/chef,
|
||||
slot_head_str = /obj/item/clothing/head/chefhat,
|
||||
)
|
||||
)
|
||||
items_to_collect = list(
|
||||
/obj/item/weapon/kitchen/utensil/knife/large,
|
||||
/obj/item/weapon/kitchen/utensil/knife/large,
|
||||
/obj/item/weapon/kitchen/utensil/knife/large,
|
||||
)
|
||||
|
||||
/datum/outfit/special/tournament_chef/post_equip(var/mob/living/carbon/human/H)
|
||||
H.put_in_hands(new /obj/item/weapon/kitchen/utensil/knife/large(H))
|
||||
|
||||
/datum/outfit/special/tournament_janitor
|
||||
outfit_name = "Tournament janitor"
|
||||
backpack_types = list(
|
||||
BACKPACK_STRING = /obj/item/weapon/storage/backpack,
|
||||
)
|
||||
items_to_spawn = list(
|
||||
"Default" = list(
|
||||
slot_w_uniform_str = /obj/item/clothing/under/rank/janitor,
|
||||
slot_shoes_str = /obj/item/clothing/shoes/black,
|
||||
slot_r_store_str = /obj/item/weapon/grenade/chem_grenade/cleaner,
|
||||
slot_l_store_str = /obj/item/weapon/grenade/chem_grenade/cleaner,
|
||||
)
|
||||
)
|
||||
items_to_collect = list(
|
||||
/obj/item/stack/tile/plasteel,
|
||||
/obj/item/stack/tile/plasteel,
|
||||
/obj/item/stack/tile/plasteel,
|
||||
/obj/item/stack/tile/plasteel,
|
||||
/obj/item/stack/tile/plasteel,
|
||||
/obj/item/stack/tile/plasteel,
|
||||
/obj/item/weapon/reagent_containers/glass/bucket/water_filled,
|
||||
)
|
||||
|
||||
/datum/outfit/special/tournament_janitor/post_equip(var/mob/living/carbon/human/H)
|
||||
H.put_in_hands(new /obj/item/weapon/mop(H))
|
||||
|
||||
// ----- MISC FLAVOR THINGS
|
||||
|
||||
/datum/outfit/special/pirate
|
||||
outfit_name = "Pirate"
|
||||
items_to_spawn = list(
|
||||
"Default" = list(
|
||||
slot_w_uniform_str = /obj/item/clothing/under/pirate,
|
||||
slot_shoes_str = /obj/item/clothing/shoes/brown,
|
||||
slot_head_str = /obj/item/clothing/head/bandana,
|
||||
slot_glasses_str = /obj/item/clothing/glasses/eyepatch,
|
||||
)
|
||||
)
|
||||
|
||||
/datum/outfit/special/pirate/post_equip(var/mob/living/carbon/human/H)
|
||||
H.put_in_hands(new /obj/item/weapon/melee/energy/sword/pirate(H))
|
||||
|
||||
/datum/outfit/special/space_pirate
|
||||
outfit_name = "Space Pirate"
|
||||
items_to_spawn = list(
|
||||
"Default" = list(
|
||||
slot_w_uniform_str = /obj/item/clothing/under/pirate,
|
||||
slot_shoes_str = /obj/item/clothing/shoes/brown,
|
||||
slot_head_str = /obj/item/clothing/head/helmet/space/pirate,
|
||||
slot_glasses_str = /obj/item/clothing/glasses/eyepatch,
|
||||
slot_wear_suit_str = /obj/item/clothing/suit/space/pirate,
|
||||
)
|
||||
)
|
||||
|
||||
/datum/outfit/special/space_pirate/post_equip(var/mob/living/carbon/human/H)
|
||||
H.put_in_hands(new /obj/item/weapon/melee/energy/sword/pirate(H))
|
||||
|
||||
/datum/outfit/special/rune_knight
|
||||
outfit_name = "Rune knight"
|
||||
items_to_spawn = list(
|
||||
"Default" = list(
|
||||
slot_head_str = /obj/item/clothing/head/helmet/rune,
|
||||
slot_wear_suit_str = /obj/item/clothing/suit/armor/rune,
|
||||
)
|
||||
)
|
||||
|
||||
/datum/outfit/special/rune_knight/post_equip(var/mob/living/carbon/human/H)
|
||||
H.put_in_hands(new /obj/item/weapon/rsscimmy(src))
|
||||
H.put_in_hands(new /obj/item/weapon/shield/riot/rune(src))
|
||||
|
||||
/datum/outfit/special/soviet_soldier
|
||||
outfit_name = "Soviet soldier"
|
||||
items_to_spawn = list(
|
||||
"Default" = list(
|
||||
slot_w_uniform_str = /obj/item/clothing/under/soviet,
|
||||
slot_head_str = /obj/item/clothing/head/ushanka,
|
||||
slot_shoes_str = /obj/item/clothing/shoes/black,
|
||||
)
|
||||
)
|
||||
|
||||
/datum/outfit/special/masked_killer
|
||||
outfit_name = "Masked killer"
|
||||
items_to_spawn = list(
|
||||
"Default" = list(
|
||||
slot_w_uniform_str = /obj/item/clothing/under/overalls,
|
||||
slot_shoes_str = /obj/item/clothing/shoes/white,
|
||||
slot_gloves_str = /obj/item/clothing/gloves/latex,
|
||||
slot_head_str = /obj/item/clothing/head/welding,
|
||||
slot_ears_str = /obj/item/device/radio/headset,
|
||||
slot_glasses_str = /obj/item/clothing/glasses/thermal/monocle,
|
||||
slot_wear_suit_str = /obj/item/clothing/suit/apron,
|
||||
slot_wear_mask_str = /obj/item/clothing/mask/surgical,
|
||||
slot_l_store_str = /obj/item/weapon/scalpel,
|
||||
),
|
||||
)
|
||||
|
||||
/datum/outfit/special/masked_killer/post_equip(var/mob/living/carbon/human/H)
|
||||
H.put_in_hands(new /obj/item/weapon/fireaxe(H))
|
||||
H.put_in_hands(new /obj/item/weapon/kitchen/utensil/knife/large(H))
|
||||
for (var/obj/item/I in H) // Everything is bloody
|
||||
I.add_blood(M)
|
||||
|
||||
// ----- Outfit with IDS
|
||||
|
||||
/datum/outfit/special/with_id/spawn_id(var/mob/living/carbon/human/H, rank)
|
||||
var/obj/item/weapon/card/id/W
|
||||
W = new id_type(get_turf(H))
|
||||
W.name = "[H.real_name]'s ID Card"
|
||||
W.registered_name = H.real_name
|
||||
W.UpdateName()
|
||||
W.SetOwnerInfo(H)
|
||||
H.equip_to_slot_or_drop(W, slot_wear_id)
|
||||
if (pda_type)
|
||||
var/obj/item/device/pda/pda = new pda_type(H)
|
||||
pda.owner = H.real_name
|
||||
pda.name = "PDA-[H.real_name]"
|
||||
H.equip_or_collect(pda, pda_slot)
|
||||
return W
|
||||
|
||||
/datum/outfit/special/with_id/tunnel_clown
|
||||
outfit_name = "Tunnel clown"
|
||||
items_to_spawn = list(
|
||||
"Default" = list(
|
||||
slot_w_uniform_str = /obj/item/clothing/under/rank/clown,
|
||||
slot_shoes_str = /obj/item/clothing/shoes/clown_shoes,
|
||||
slot_gloves_str = /obj/item/clothing/gloves/black,
|
||||
slot_head_str = /obj/item/clothing/head/chaplain_hood,
|
||||
slot_ears_str = /obj/item/device/radio/headset,
|
||||
slot_glasses_str = /obj/item/clothing/glasses/thermal/monocle,
|
||||
slot_wear_suit_str = /obj/item/clothing/suit/chaplain_hoodie,
|
||||
slot_r_store_str = /obj/item/weapon/bikehorn,
|
||||
),
|
||||
)
|
||||
id_type = /obj/item/weapon/card/id/tunnel_clown
|
||||
|
||||
/datum/outfit/special/with_id/tunnel_clown/post_equip(var/mob/living/carbon/human/H)
|
||||
H.put_in_hands(new /obj/item/weapon/fireaxe(H))
|
||||
H.put_in_hands(new /obj/item/weapon/reagent_containers/food/snacks/grown/banana(H))
|
||||
|
||||
/datum/outfit/special/with_id/assassin
|
||||
outfit_name = "Assassin"
|
||||
items_to_spawn = list(
|
||||
"Default" = list(
|
||||
slot_w_uniform_str = /obj/item/clothing/under/suit_jacket,
|
||||
slot_shoes_str = /obj/item/clothing/shoes/black,
|
||||
slot_gloves_str = /obj/item/clothing/gloves/black,
|
||||
slot_ears_str = /obj/item/device/radio/headset,
|
||||
slot_glasses_str = /obj/item/clothing/glasses/sunglasses,
|
||||
slot_wear_suit_str = /obj/item/clothing/suit/wcoat,
|
||||
slot_r_store_str = /obj/item/weapon/melee/energy/sword,
|
||||
slot_l_store_str = /obj/item/weapon/scalpel,
|
||||
),
|
||||
)
|
||||
pda_type = /obj/item/device/pda/heads/assassin
|
||||
pda_slot = slot_belt
|
||||
id_type = /obj/item/weapon/card/id/syndicate/assassin
|
||||
|
||||
/datum/outfit/special/with_id/nt_rep
|
||||
outfit_name = "Nanotrasen representative"
|
||||
items_to_spawn = list(
|
||||
"Default" = list(
|
||||
slot_w_uniform_str = /obj/item/clothing/under/rank/centcom/representative,
|
||||
slot_shoes_str = /obj/item/clothing/shoes/centcom,
|
||||
slot_gloves_str = /obj/item/clothing/gloves/white,
|
||||
slot_ears_str = /obj/item/device/radio/headset/heads/hop,
|
||||
slot_glasses_str = /obj/item/clothing/glasses/sunglasses,
|
||||
),
|
||||
)
|
||||
pda_type = /obj/item/device/pda/heads/nt_rep
|
||||
pda_slot = slot_belt
|
||||
id_type = /obj/item/weapon/card/id/nt_rep
|
||||
|
||||
/datum/outfit/special/with_id/nt_rep/post_equip(var/mob/living/carbon/human/H)
|
||||
H.put_in_hands(new /obj/item/weapon/storage/bag/clipboard(H))
|
||||
|
||||
/datum/outfit/special/with_id/nt_officer
|
||||
outfit_name = "Nanotrasen officer"
|
||||
backpack_types = list(
|
||||
BACKPACK_STRING = /obj/item/weapon/storage/backpack/satchel,
|
||||
)
|
||||
items_to_spawn = list(
|
||||
"Default" = list(
|
||||
slot_w_uniform_str = /obj/item/clothing/under/rank/centcom/officer,
|
||||
slot_shoes_str = /obj/item/clothing/shoes/centcom,
|
||||
slot_gloves_str = /obj/item/clothing/gloves/white,
|
||||
slot_ears_str = /obj/item/device/radio/headset/heads/captain,
|
||||
slot_glasses_str = /obj/item/clothing/glasses/sunglasses,
|
||||
slot_head_str = /obj/item/clothing/head/beret/centcom/officer,
|
||||
),
|
||||
)
|
||||
items_to_collect = list(
|
||||
/obj/item/weapon/gun/energy,
|
||||
)
|
||||
pda_type = /obj/item/device/pda/heads/nt_officer
|
||||
pda_slot = slot_belt
|
||||
id_type = /obj/item/weapon/card/id/centcom/nt_officer
|
||||
|
||||
|
||||
/datum/outfit/special/with_id/nt_captain
|
||||
outfit_name = "Nanotrasen captain"
|
||||
backpack_types = list(
|
||||
BACKPACK_STRING = /obj/item/weapon/storage/backpack/satchel,
|
||||
)
|
||||
items_to_spawn = list(
|
||||
"Default" = list(
|
||||
slot_w_uniform_str = /obj/item/clothing/under/rank/centcom/captain,
|
||||
slot_shoes_str = /obj/item/clothing/shoes/centcom,
|
||||
slot_gloves_str = /obj/item/clothing/gloves/white,
|
||||
slot_ears_str = /obj/item/device/radio/headset/heads/captain,
|
||||
slot_glasses_str = /obj/item/clothing/glasses/sunglasses,
|
||||
slot_head_str = /obj/item/clothing/head/beret/centcom/captain,
|
||||
),
|
||||
)
|
||||
items_to_collect = list(
|
||||
/obj/item/weapon/gun/energy,
|
||||
)
|
||||
pda_type = /obj/item/device/pda/heads/nt_captain
|
||||
pda_slot = slot_belt
|
||||
id_type = /obj/item/weapon/card/id/centcom/nt_officer
|
||||
|
||||
/datum/outfit/special/with_id/nt_supreme_commander
|
||||
outfit_name = "Nanotrasen captain"
|
||||
backpack_types = list(
|
||||
BACKPACK_STRING = /obj/item/weapon/storage/backpack/satchel,
|
||||
)
|
||||
items_to_spawn = list(
|
||||
"Default" = list(
|
||||
slot_w_uniform_str = /obj/item/clothing/under/rank/centcom/captain,
|
||||
slot_shoes_str = /obj/item/clothing/shoes/centcom,
|
||||
slot_gloves_str = /obj/item/clothing/gloves/centcom,
|
||||
slot_ears_str = /obj/item/device/radio/headset/heads/captain,
|
||||
slot_glasses_str = /obj/item/clothing/glasses/sunglasses,
|
||||
slot_head_str = /obj/item/clothing/head/centhat,
|
||||
slot_wear_suit_str = /obj/item/clothing/suit/space/rig/centcomm,
|
||||
),
|
||||
)
|
||||
items_to_collect = list(
|
||||
/obj/item/weapon/gun/energy/laser/captain,
|
||||
)
|
||||
pda_type = /obj/item/device/pda/heads/nt_supreme
|
||||
pda_slot = slot_belt
|
||||
id_type = /obj/item/weapon/card/id/admin/nt_supreme
|
||||
|
||||
/datum/outfit/special/with_id/spec_ops_officer
|
||||
outfit_name = "Special ops officer"
|
||||
backpack_types = list(
|
||||
BACKPACK_STRING = /obj/item/weapon/storage/backpack/satchel,
|
||||
)
|
||||
items_to_spawn = list(
|
||||
"Default" = list(
|
||||
slot_w_uniform_str = /obj/item/clothing/under/syndicate/combat,
|
||||
slot_shoes_str = /obj/item/clothing/shoes/combat,
|
||||
slot_gloves_str = /obj/item/clothing/gloves/combat,
|
||||
slot_ears_str = /obj/item/device/radio/headset/heads/captain,
|
||||
slot_glasses_str = /obj/item/clothing/glasses/thermal/eyepatch,
|
||||
slot_head_str = /obj/item/clothing/head/beret/centcom, // the duality of man
|
||||
slot_wear_suit_str = /obj/item/clothing/suit/armor/swat/officer,
|
||||
slot_wear_mask_str = /obj/item/clothing/mask/cigarette/cigar/havana,
|
||||
slot_r_store_str = /obj/item/weapon/lighter/zippo,
|
||||
),
|
||||
)
|
||||
items_to_collect = list(
|
||||
/obj/item/weapon/gun/energy/pulse_rifle/M1911,
|
||||
)
|
||||
id_type = /obj/item/weapon/card/id/special_operations
|
||||
|
||||
/datum/outfit/special/with_id/soviet_admiral
|
||||
outfit_name = "Soviet admiral officer"
|
||||
backpack_types = list(
|
||||
BACKPACK_STRING = /obj/item/weapon/storage/backpack/satchel,
|
||||
)
|
||||
items_to_spawn = list(
|
||||
"Default" = list(
|
||||
slot_w_uniform_str = /obj/item/clothing/under/soviet,
|
||||
slot_shoes_str = /obj/item/clothing/shoes/combat,
|
||||
slot_gloves_str = /obj/item/clothing/gloves/combat,
|
||||
slot_ears_str = /obj/item/device/radio/headset/heads/captain,
|
||||
slot_glasses_str = /obj/item/clothing/glasses/thermal/eyepatch,
|
||||
slot_head_str = /obj/item/clothing/head/hgpiratecap,
|
||||
slot_wear_suit_str = /obj/item/clothing/suit/hgpirate,
|
||||
slot_wear_mask_str = /obj/item/clothing/mask/cigarette/cigar/havana,
|
||||
slot_r_store_str = /obj/item/weapon/lighter/zippo,
|
||||
),
|
||||
)
|
||||
items_to_collect = list(
|
||||
/obj/item/weapon/gun/projectile/mateba,
|
||||
)
|
||||
id_type = /obj/item/weapon/card/id/soviet_admiral
|
||||
|
||||
// ----- Antags
|
||||
|
||||
/datum/outfit/special/bomberman
|
||||
outfit_name = "Bomberman"
|
||||
items_to_spawn = list(
|
||||
"Default" = list(
|
||||
slot_w_uniform_str =/obj/item/clothing/under/darkblue,
|
||||
slot_shoes_str = /obj/item/clothing/shoes/purple,
|
||||
slot_gloves_str = /obj/item/clothing/gloves/purple,
|
||||
slot_head_str = /obj/item/clothing/head/helmet/space/bomberman,
|
||||
slot_wear_suit_str = /obj/item/clothing/suit/space/bomberman,
|
||||
slot_s_store_str = /obj/item/weapon/bomberman,
|
||||
),
|
||||
)
|
||||
|
||||
/datum/outfit/special/bomberman/arena
|
||||
outfit_name = "Arena bomberman"
|
||||
|
||||
/datum/outfit/special/bomberman/arena/post_equip(var/mob/living/carbon/human/H)
|
||||
for(var/obj/item/clothing/C in H)
|
||||
C.canremove = 0
|
||||
if(istype(C, /obj/item/clothing/suit/space/bomberman))
|
||||
var/obj/item/clothing/suit/space/bomberman/B = C
|
||||
B.slowdown = HARDSUIT_SLOWDOWN_LOW
|
||||
var/list/randomhexes = list("7","8","9","a","b","c","d","e","f",)
|
||||
H.color = "#[pick(randomhexes)][pick(randomhexes)][pick(randomhexes)][pick(randomhexes)][pick(randomhexes)][pick(randomhexes)]"
|
||||
H.name = "Bomberman #[rand(1,999)]"
|
||||
H.mind.special_role = BOMBERMAN // NEEDED FOR CHEAT CHECKS!
|
||||
|
||||
// Wizards
|
||||
|
||||
/datum/outfit/special/blue_wizard
|
||||
equip_survival_gear = list() // Default survival gear
|
||||
outfit_name = "Blue wizard"
|
||||
backpack_types = list(
|
||||
BACKPACK_STRING = /obj/item/weapon/storage/backpack,
|
||||
)
|
||||
items_to_spawn = list(
|
||||
"Default" = list(
|
||||
slot_w_uniform_str =/obj/item/clothing/under/lightpurple,
|
||||
slot_shoes_str = /obj/item/clothing/shoes/sandal,
|
||||
slot_head_str = /obj/item/clothing/head/wizard,
|
||||
slot_wear_suit_str = /obj/item/clothing/suit/wizrobe,
|
||||
slot_ears_str = /obj/item/device/radio/headset,
|
||||
slot_r_store_str = /obj/item/weapon/teleportation_scroll,
|
||||
slot_l_store_str = /obj/item/weapon/spellbook,
|
||||
),
|
||||
)
|
||||
|
||||
/datum/outfit/special/blue_wizard/post_equip(var/mob/living/carbon/human/H)
|
||||
H.put_in_hands(new /obj/item/weapon/staff(H))
|
||||
|
||||
/datum/outfit/special/red_wizard
|
||||
equip_survival_gear = list() // Default survival gear
|
||||
outfit_name = "Red wizard"
|
||||
backpack_types = list(
|
||||
BACKPACK_STRING = /obj/item/weapon/storage/backpack,
|
||||
)
|
||||
items_to_spawn = list(
|
||||
"Default" = list(
|
||||
slot_w_uniform_str =/obj/item/clothing/under/lightpurple,
|
||||
slot_shoes_str = /obj/item/clothing/shoes/sandal,
|
||||
slot_head_str = /obj/item/clothing/head/wizard/red,
|
||||
slot_wear_suit_str = /obj/item/clothing/suit/wizrobe/red,
|
||||
slot_ears_str = /obj/item/device/radio/headset,
|
||||
slot_r_store_str = /obj/item/weapon/teleportation_scroll,
|
||||
slot_l_store_str = /obj/item/weapon/spellbook,
|
||||
),
|
||||
)
|
||||
|
||||
/datum/outfit/special/red_wizard/post_equip(var/mob/living/carbon/human/H)
|
||||
H.put_in_hands(new /obj/item/weapon/staff(H))
|
||||
|
||||
/datum/outfit/special/marisa_wizard
|
||||
equip_survival_gear = list() // Default survival gear
|
||||
outfit_name = "Marisa wizard"
|
||||
backpack_types = list(
|
||||
BACKPACK_STRING = /obj/item/weapon/storage/backpack,
|
||||
)
|
||||
items_to_spawn = list(
|
||||
"Default" = list(
|
||||
slot_w_uniform_str =/obj/item/clothing/under/lightpurple,
|
||||
slot_shoes_str = /obj/item/clothing/shoes/sandal/marisa,
|
||||
slot_head_str = /obj/item/clothing/head/wizard/marisa,
|
||||
slot_wear_suit_str = /obj/item/clothing/suit/wizrobe/marisa,
|
||||
slot_ears_str = /obj/item/device/radio/headset,
|
||||
slot_r_store_str = /obj/item/weapon/teleportation_scroll,
|
||||
slot_l_store_str = /obj/item/weapon/spellbook,
|
||||
),
|
||||
)
|
||||
|
||||
/datum/outfit/special/marisa_wizard/post_equip(var/mob/living/carbon/human/H)
|
||||
H.put_in_hands(new /obj/item/weapon/staff(H))
|
||||
51
code/datums/outfit/striketeams/ert.dm
Normal file
51
code/datums/outfit/striketeams/ert.dm
Normal file
@@ -0,0 +1,51 @@
|
||||
/datum/outfit/striketeam/ert
|
||||
outfit_name = "Emergency response team"
|
||||
use_pref_bag = FALSE
|
||||
|
||||
backpack_types = list(
|
||||
BACKPACK_STRING = /obj/item/weapon/storage/backpack/security
|
||||
)
|
||||
|
||||
items_to_spawn = list(
|
||||
"Default" = list(
|
||||
slot_ears_str = /obj/item/device/radio/headset/ert,
|
||||
slot_w_uniform_str = /obj/item/clothing/under/ert,
|
||||
slot_l_store_str = /obj/item/device/flashlight,
|
||||
slot_belt_str = /obj/item/weapon/gun/energy/gun/nuclear,
|
||||
slot_glasses_str = /obj/item/clothing/glasses/sunglasses/sechud,
|
||||
slot_shoes_str = /obj/item/clothing/shoes/swat,
|
||||
slot_gloves_str = /obj/item/clothing/gloves/swat,
|
||||
),
|
||||
)
|
||||
|
||||
equip_survival_gear = list(
|
||||
"Default" = /obj/item/weapon/storage/box/survival/ert,
|
||||
)
|
||||
|
||||
implant_types = list(
|
||||
/obj/item/weapon/implant/loyalty/,
|
||||
)
|
||||
|
||||
items_to_collect = list(
|
||||
/obj/item/weapon/storage/firstaid/regular
|
||||
)
|
||||
|
||||
id_type = /obj/item/weapon/card/id/emergency_responder
|
||||
id_type_leader = /obj/item/weapon/card/id/emergency_responder_leader
|
||||
assignment_leader = "Emergency Responder Leader"
|
||||
assignment_member = "Emergency Responder"
|
||||
|
||||
/datum/outfit/striketeam/ert/pre_equip(var/mob/living/carbon/human/H)
|
||||
//Adding Camera Network
|
||||
var/obj/machinery/camera/camera = new /obj/machinery/camera(H) //Gives all the commandos internals cameras.
|
||||
camera.network = list(CAMERANET_ERT)
|
||||
camera.c_tag = H.real_name
|
||||
|
||||
if (is_leader)
|
||||
items_to_collect += /obj/item/weapon/card/shuttle_pass/ert
|
||||
|
||||
/datum/outfit/striketeam/ert/post_equip(var/mob/living/carbon/human/H)
|
||||
if (is_leader)
|
||||
equip_accessory(H, /obj/item/clothing/accessory/holster/handgun/preloaded/NTUSP/fancy, /obj/item/clothing/under, 5)
|
||||
else
|
||||
equip_accessory(src, /obj/item/clothing/accessory/holster/handgun/preloaded/NTUSP, /obj/item/clothing/under, 5)
|
||||
61
code/datums/outfit/striketeams/nt_deathsquad.dm
Normal file
61
code/datums/outfit/striketeams/nt_deathsquad.dm
Normal file
@@ -0,0 +1,61 @@
|
||||
/datum/outfit/striketeam/nt_deathsquad
|
||||
outfit_name = "NT deathsquad"
|
||||
use_pref_bag = FALSE
|
||||
|
||||
backpack_types = list(
|
||||
BACKPACK_STRING = /obj/item/weapon/storage/backpack/security
|
||||
)
|
||||
|
||||
items_to_spawn = list(
|
||||
"Default" = list(
|
||||
slot_ears_str = /obj/item/device/radio/headset/deathsquad,
|
||||
slot_w_uniform_str = /obj/item/clothing/under/deathsquad,
|
||||
slot_shoes_str = /obj/item/clothing/shoes/magboots/deathsquad,
|
||||
slot_gloves_str = /obj/item/clothing/gloves/combat,
|
||||
slot_glasses_str = /obj/item/clothing/glasses/thermal,
|
||||
slot_head_str = /obj/item/clothing/head/helmet/space/rig/deathsquad,
|
||||
slot_wear_mask_str = /obj/item/clothing/mask/gas/swat,
|
||||
slot_wear_suit_str = /obj/item/clothing/suit/space/rig/deathsquad,
|
||||
slot_s_store_str = /obj/item/weapon/tank/emergency_oxygen/double,
|
||||
slot_belt_str = /obj/item/weapon/gun/energy/pulse_rifle,
|
||||
),
|
||||
)
|
||||
|
||||
equip_survival_gear = list(
|
||||
"Default" = /obj/item/weapon/storage/box/survival/ert,
|
||||
)
|
||||
|
||||
items_to_collect = list(
|
||||
/obj/item/weapon/storage/box,
|
||||
/obj/item/ammo_storage/speedloader/a357,
|
||||
/obj/item/weapon/storage/firstaid/regular,
|
||||
/obj/item/weapon/pinpointer,
|
||||
/obj/item/weapon/shield/energy,
|
||||
)
|
||||
|
||||
implant_types = list(
|
||||
/obj/item/weapon/implant/loyalty/,
|
||||
/obj/item/weapon/implant/explosive/,
|
||||
)
|
||||
|
||||
id_type = /obj/item/weapon/card/id/death_commando
|
||||
id_type_leader = /obj/item/weapon/card/id/death_commando_leader
|
||||
assignment_leader = "Death Commando"
|
||||
assignment_member = "Death Commander"
|
||||
|
||||
/datum/outfit/striketeam/nt_deathsquad/pre_equip(var/mob/living/carbon/human/H)
|
||||
if (is_leader)
|
||||
items_to_collect += /obj/item/weapon/disk/nuclear
|
||||
items_to_spawn["Default"][slot_w_uniform_str] = /obj/item/clothing/under/rank/centcom_officer/
|
||||
else
|
||||
items_to_collect += /obj/item/weapon/plastique
|
||||
|
||||
var/obj/machinery/camera/camera = new /obj/machinery/camera(H) //Gives all the commandos internals cameras.
|
||||
camera.network = list(CAMERANET_CREED)
|
||||
camera.c_tag = H.real_name
|
||||
|
||||
/datum/outfit/striketeam/nt_deathsquad/post_equip(var/mob/living/carbon/human/H)
|
||||
if (is_leader)
|
||||
equip_accessory(H, /obj/item/clothing/accessory/holomap_chip/deathsquad, /obj/item/clothing/under, 5)
|
||||
equip_accessory(H, /obj/item/clothing/accessory/holster/handgun/preloaded/mateba, /obj/item/clothing/under, 5)
|
||||
equip_accessory(H, /obj/item/clothing/accessory/holster/knife/boot/preloaded/energysword, /obj/item/clothing/shoes, 5)
|
||||
57
code/datums/outfit/striketeams/syndie_deathsquad.dm
Normal file
57
code/datums/outfit/striketeams/syndie_deathsquad.dm
Normal file
@@ -0,0 +1,57 @@
|
||||
/datum/outfit/striketeam/syndie_deathsquad
|
||||
outfit_name = "Syndie deathsquad"
|
||||
use_pref_bag = FALSE
|
||||
|
||||
backpack_types = list(
|
||||
BACKPACK_STRING = /obj/item/weapon/storage/backpack/security
|
||||
)
|
||||
|
||||
items_to_spawn = list(
|
||||
"Default" = list(
|
||||
slot_ears_str = /obj/item/device/radio/headset/syndicate,
|
||||
slot_w_uniform_str = /obj/item/clothing/under/syndicate,
|
||||
slot_r_store_str = /obj/item/weapon/melee/energy/sword,
|
||||
slot_l_store_str = /obj/item/weapon/grenade/empgrenade,
|
||||
slot_shoes_str = /obj/item/clothing/shoes/swat,
|
||||
slot_gloves_str = /obj/item/clothing/gloves/swat,
|
||||
slot_glasses_str = /obj/item/clothing/glasses/thermal,
|
||||
slot_head_str = /obj/item/clothing/head/helmet/space/rig/syndicate_elite,
|
||||
slot_wear_suit_str = /obj/item/clothing/suit/space/rig/syndicate_elite,
|
||||
slot_wear_mask_str = /obj/item/clothing/mask/gas/syndicate,
|
||||
slot_s_store_str = /obj/item/weapon/tank/emergency_oxygen,
|
||||
slot_belt_str = /obj/item/weapon/gun/projectile/silenced,
|
||||
),
|
||||
)
|
||||
|
||||
equip_survival_gear = list(
|
||||
"Default" = /obj/item/weapon/storage/box/survival/ert,
|
||||
)
|
||||
|
||||
items_to_collect = list(
|
||||
/obj/item/weapon/storage/box,
|
||||
/obj/item/ammo_storage/box/c45,
|
||||
/obj/item/weapon/storage/firstaid/regular,
|
||||
/obj/item/weapon/plastique,
|
||||
/obj/item/osipr_core,
|
||||
/obj/item/weapon/gun/osipr,
|
||||
)
|
||||
|
||||
implant_types = list(
|
||||
/obj/item/weapon/implant/explosive/,
|
||||
)
|
||||
|
||||
id_type = /obj/item/weapon/card/id/syndicate/commando
|
||||
id_type_leader = /obj/item/weapon/card/id/syndicate/commando
|
||||
assignment_leader = "Syndicate Commando"
|
||||
assignment_member = "Syndicate Commando"
|
||||
|
||||
/datum/outfit/striketeam/syndie_deathsquad/pre_equip(var/mob/living/carbon/human/H)
|
||||
if (is_leader)
|
||||
items_to_collect += /obj/item/weapon/disk/nuclear
|
||||
items_to_collect += /obj/item/weapon/pinpointer
|
||||
else
|
||||
items_to_collect += /obj/item/weapon/plastique
|
||||
items_to_collect += /obj/item/energy_magazine/osipr
|
||||
|
||||
/datum/outfit/striketeam/syndie_deathsquad/post_equip(var/mob/living/carbon/human/H)
|
||||
equip_accessory(H, /obj/item/clothing/accessory/holomap_chip/elite, /obj/item/clothing/under, 5)
|
||||
@@ -303,4 +303,4 @@ var/list/dispenser_presets = list()
|
||||
/obj/machinery/suit_dispenser/standard
|
||||
desc = "An industrial U-Tak-It Dispenser unit designed to fetch a specific mass produced suit."
|
||||
dispenser_flags = SD_ONESUIT|SD_NOGREED|SD_UNLIMITED
|
||||
one_suit = /datum/suit/dorf/standard
|
||||
one_suit = /datum/suit/dorf/standard
|
||||
|
||||
@@ -416,6 +416,13 @@
|
||||
origin_tech = Tc_SYNDICATE + "=3"
|
||||
var/registered_user=null
|
||||
|
||||
/obj/item/weapon/card/id/syndicate/commando
|
||||
name = "Hacked syndie card"
|
||||
|
||||
/obj/item/weapon/card/id/syndicate/commando/New()
|
||||
..()
|
||||
access = get_all_accesses()
|
||||
|
||||
/obj/item/weapon/card/id/syndicate/afterattack(var/obj/item/weapon/O as obj, mob/user as mob)
|
||||
if(istype(O, /obj/item/weapon/card/id))
|
||||
var/obj/item/weapon/card/id/I = O
|
||||
@@ -814,6 +821,15 @@
|
||||
..()
|
||||
access = get_centcom_access("Emergency Responder")
|
||||
|
||||
/obj/item/weapon/card/id/emergency_responder_leader
|
||||
name = "Emergency Responder Leader ID card"
|
||||
assignment = "Emergency Responder Leader"
|
||||
icon_state = "ERT_leader"
|
||||
|
||||
/obj/item/weapon/card/id/emergency_responder_leader/New()
|
||||
..()
|
||||
access = get_centcom_access("Emergency Responders Leader")
|
||||
|
||||
/obj/item/weapon/card/id/special_operations
|
||||
name = "Special Operations Officer ID card"
|
||||
assignment = "Special Operations Officer"
|
||||
@@ -833,5 +849,3 @@
|
||||
..()
|
||||
access = get_all_accesses()
|
||||
access += get_all_centcom_access()
|
||||
|
||||
/obj/item/weapon/card/id/death_commando_
|
||||
@@ -648,7 +648,7 @@
|
||||
..()
|
||||
for(var/i in 1 to 16)
|
||||
new /obj/item/ammo_casing/shotgun/buckshot(src)
|
||||
|
||||
|
||||
/obj/item/weapon/storage/box/dragonsbreathshells
|
||||
name = "12-gauge dragon's breath shells"
|
||||
icon_state = "dragonsbreath_shells"
|
||||
@@ -658,12 +658,12 @@
|
||||
..()
|
||||
for(var/i in 1 to 16)
|
||||
new /obj/item/ammo_casing/shotgun/dragonsbreath(src)
|
||||
|
||||
|
||||
/obj/item/weapon/storage/box/fragshells
|
||||
name = "12-gauge high-explosive fragmentation shells"
|
||||
icon_state = "frag_shells"
|
||||
storage_slots = 16
|
||||
|
||||
storage_slots = 16
|
||||
|
||||
/obj/item/weapon/storage/box/fragshells/New()
|
||||
..()
|
||||
for(var/i in 1 to 16)
|
||||
@@ -1394,4 +1394,15 @@
|
||||
new /obj/item/weapon/storage/backpack/clownpackpsyche(src)
|
||||
new /obj/item/clothing/under/clownpsyche(src)
|
||||
new /obj/item/clothing/shoes/clownshoespsyche(src)
|
||||
..()
|
||||
..()
|
||||
|
||||
/obj/item/weapon/storage/box/smartbox/clothing_box/gemsuit
|
||||
name = "Gemsuit outfit box"
|
||||
|
||||
/obj/item/weapon/storage/box/smartbox/clothing_box/gemsuit/New()
|
||||
new /obj/item/clothing/suit/space/rig/wizard(src)
|
||||
new /obj/item/clothing/head/helmet/space/rig/wizard(src)
|
||||
new /obj/item/clothing/gloves/purple(src)
|
||||
new /obj/item/clothing/shoes/sandal(src)
|
||||
..()
|
||||
|
||||
|
||||
@@ -1,524 +0,0 @@
|
||||
/obj/abstract/loadout
|
||||
var/list/items_to_spawn = list()
|
||||
|
||||
/obj/abstract/loadout/New(turf/T, var/mob/M, var/unequip_current = TRUE)
|
||||
..(T)
|
||||
if(istype(M))
|
||||
if(unequip_current)
|
||||
M.unequip_everything() //unequip everything before equipping loadout
|
||||
equip_items(M)
|
||||
spawn(10) //to allow its items to be manually spawned and accessed, for the purposes of obtaining references
|
||||
if(!gcDestroyed)
|
||||
get_items()
|
||||
qdel(src)
|
||||
|
||||
/obj/abstract/loadout/proc/get_items()
|
||||
. = spawn_items()
|
||||
qdel(src)
|
||||
|
||||
/obj/abstract/loadout/proc/equip_items(var/mob/M)
|
||||
var/list/spawned_items = spawn_items()
|
||||
alter_items(spawned_items, M)
|
||||
M.recursive_list_equip(spawned_items)
|
||||
qdel(src)
|
||||
|
||||
/obj/abstract/loadout/proc/spawn_items()
|
||||
var/list/to_return = list()
|
||||
for(var/T in items_to_spawn)
|
||||
if(ispath(T, /obj/item))
|
||||
var/obj/item/I = new T(loc)
|
||||
to_return.Add(I)
|
||||
return to_return
|
||||
|
||||
/obj/abstract/loadout/proc/alter_items(var/list/items, var/mob/M)
|
||||
|
||||
/obj/abstract/loadout/gemsuit
|
||||
items_to_spawn = list(/obj/item/clothing/head/helmet/space/rig/wizard,
|
||||
/obj/item/clothing/suit/space/rig/wizard,
|
||||
/obj/item/clothing/gloves/purple,
|
||||
/obj/item/clothing/shoes/sandal)
|
||||
|
||||
/obj/abstract/loadout/nazi_rigsuit
|
||||
items_to_spawn = list(/obj/item/clothing/head/helmet/space/rig/nazi,
|
||||
/obj/item/clothing/suit/space/rig/nazi)
|
||||
|
||||
/obj/abstract/loadout/soviet_rigsuit
|
||||
items_to_spawn = list(/obj/item/clothing/head/helmet/space/rig/soviet,
|
||||
/obj/item/clothing/suit/space/rig/soviet)
|
||||
|
||||
/obj/abstract/loadout/dredd_gear
|
||||
items_to_spawn = list(/obj/item/clothing/under/darkred,
|
||||
/obj/item/clothing/suit/armor/xcomsquaddie/dredd,
|
||||
/obj/item/clothing/glasses/hud/security,
|
||||
/obj/item/clothing/mask/gas/swat,
|
||||
/obj/item/clothing/head/helmet/dredd,
|
||||
/obj/item/clothing/gloves/combat,
|
||||
/obj/item/clothing/shoes/combat,
|
||||
/obj/item/weapon/storage/belt/security,
|
||||
/obj/item/weapon/gun/lawgiver)
|
||||
|
||||
/obj/abstract/loadout/standard_space_gear
|
||||
items_to_spawn = list(/obj/item/clothing/shoes/black,
|
||||
/obj/item/clothing/under/color/grey,
|
||||
/obj/item/clothing/suit/space,
|
||||
/obj/item/clothing/head/helmet/space,
|
||||
/obj/item/weapon/tank/jetpack/oxygen,
|
||||
/obj/item/clothing/mask/breath)
|
||||
|
||||
/obj/abstract/loadout/engineer_RIG
|
||||
items_to_spawn = list(/obj/item/clothing/suit/space/rig,
|
||||
/obj/item/clothing/head/helmet/space/rig,
|
||||
/obj/item/weapon/tank/jetpack/oxygen,
|
||||
/obj/item/clothing/mask/breath)
|
||||
|
||||
/obj/abstract/loadout/CE_RIG
|
||||
items_to_spawn = list(/obj/item/clothing/suit/space/rig/elite,
|
||||
/obj/item/clothing/head/helmet/space/rig/elite,
|
||||
/obj/item/weapon/tank/jetpack/oxygen,
|
||||
/obj/item/clothing/mask/breath)
|
||||
|
||||
/obj/abstract/loadout/mining_RIG
|
||||
items_to_spawn = list(/obj/item/clothing/suit/space/rig/mining,
|
||||
/obj/item/clothing/head/helmet/space/rig/mining,
|
||||
/obj/item/weapon/tank/jetpack/oxygen,
|
||||
/obj/item/clothing/mask/breath)
|
||||
|
||||
/obj/abstract/loadout/syndi_RIG
|
||||
items_to_spawn = list(/obj/item/clothing/suit/space/rig/syndi,
|
||||
/obj/item/clothing/head/helmet/space/rig/syndi,
|
||||
/obj/item/weapon/tank/jetpack/oxygen,
|
||||
/obj/item/clothing/mask/breath)
|
||||
|
||||
/obj/abstract/loadout/wizard_RIG
|
||||
items_to_spawn = list(/obj/item/clothing/suit/space/rig/wizard,
|
||||
/obj/item/clothing/head/helmet/space/rig/wizard,
|
||||
/obj/item/weapon/tank/jetpack/oxygen,
|
||||
/obj/item/clothing/mask/breath)
|
||||
|
||||
/obj/abstract/loadout/medical_RIG
|
||||
items_to_spawn = list(/obj/item/clothing/suit/space/rig/medical,
|
||||
/obj/item/clothing/head/helmet/space/rig/medical,
|
||||
/obj/item/weapon/tank/jetpack/oxygen,
|
||||
/obj/item/clothing/mask/breath)
|
||||
|
||||
/obj/abstract/loadout/atmos_RIG
|
||||
items_to_spawn = list(/obj/item/clothing/suit/space/rig/atmos,
|
||||
/obj/item/clothing/head/helmet/space/rig/atmos,
|
||||
/obj/item/weapon/tank/jetpack/oxygen,
|
||||
/obj/item/clothing/mask/breath)
|
||||
|
||||
/obj/abstract/loadout/tournament_standard_red
|
||||
items_to_spawn = list(/obj/item/clothing/under/color/red,
|
||||
/obj/item/clothing/shoes/black,
|
||||
/obj/item/clothing/suit/armor/vest,
|
||||
/obj/item/clothing/head/helmet/thunderdome,
|
||||
/obj/item/weapon/gun/energy/pulse_rifle/destroyer,
|
||||
/obj/item/weapon/kitchen/utensil/knife/large,
|
||||
/obj/item/weapon/grenade/smokebomb)
|
||||
|
||||
/obj/abstract/loadout/tournament_standard_green
|
||||
items_to_spawn = list(/obj/item/clothing/under/color/green,
|
||||
/obj/item/clothing/shoes/black,
|
||||
/obj/item/clothing/suit/armor/vest,
|
||||
/obj/item/clothing/head/helmet/thunderdome,
|
||||
/obj/item/weapon/gun/energy/pulse_rifle/destroyer,
|
||||
/obj/item/weapon/kitchen/utensil/knife/large,
|
||||
/obj/item/weapon/grenade/smokebomb)
|
||||
|
||||
/obj/abstract/loadout/tournament_gangster
|
||||
items_to_spawn = list(/obj/item/clothing/under/det,
|
||||
/obj/item/clothing/shoes/black,
|
||||
/obj/item/clothing/suit/storage/det_suit,
|
||||
/obj/item/clothing/glasses/thermal/monocle,
|
||||
/obj/item/clothing/head/det_hat,
|
||||
/obj/item/weapon/cloaking_device,
|
||||
/obj/item/weapon/gun/projectile,
|
||||
/obj/item/ammo_storage/box/a357)
|
||||
|
||||
/obj/abstract/loadout/tournament_chef
|
||||
items_to_spawn = list(/obj/item/clothing/under/rank/chef,
|
||||
/obj/item/clothing/suit/chef,
|
||||
/obj/item/clothing/shoes/black,
|
||||
/obj/item/clothing/head/chefhat,
|
||||
/obj/item/weapon/kitchen/rollingpin,
|
||||
/obj/item/weapon/kitchen/utensil/knife/large,
|
||||
/obj/item/weapon/kitchen/utensil/knife/large,
|
||||
/obj/item/weapon/kitchen/utensil/knife/large)
|
||||
|
||||
/obj/abstract/loadout/tournament_janitor
|
||||
items_to_spawn = list(/obj/item/clothing/under/rank/janitor,
|
||||
/obj/item/clothing/shoes/black,
|
||||
/obj/item/weapon/storage/backpack,
|
||||
/obj/item/weapon/mop,
|
||||
/obj/item/weapon/reagent_containers/glass/bucket/water_filled,
|
||||
/obj/item/weapon/grenade/chem_grenade/cleaner,
|
||||
/obj/item/weapon/grenade/chem_grenade/cleaner,
|
||||
/obj/item/stack/tile/plasteel,
|
||||
/obj/item/stack/tile/plasteel,
|
||||
/obj/item/stack/tile/plasteel,
|
||||
/obj/item/stack/tile/plasteel,
|
||||
/obj/item/stack/tile/plasteel,
|
||||
/obj/item/stack/tile/plasteel,
|
||||
/obj/item/stack/tile/plasteel)
|
||||
|
||||
/obj/abstract/loadout/pirate
|
||||
items_to_spawn = list(/obj/item/clothing/under/pirate,
|
||||
/obj/item/clothing/shoes/brown,
|
||||
/obj/item/clothing/head/bandana,
|
||||
/obj/item/clothing/glasses/eyepatch,
|
||||
/obj/item/weapon/melee/energy/sword/pirate)
|
||||
|
||||
/obj/abstract/loadout/rune_knight
|
||||
items_to_spawn = list(/obj/item/clothing/head/helmet/rune,
|
||||
/obj/item/clothing/suit/armor/rune,
|
||||
/obj/item/weapon/rsscimmy,
|
||||
/obj/item/weapon/shield/riot/rune)
|
||||
|
||||
/obj/abstract/loadout/space_pirate
|
||||
items_to_spawn = list(/obj/item/clothing/under/pirate,
|
||||
/obj/item/clothing/shoes/brown,
|
||||
/obj/item/clothing/suit/space/pirate,
|
||||
/obj/item/clothing/head/helmet/space/pirate,
|
||||
/obj/item/clothing/glasses/eyepatch,
|
||||
/obj/item/weapon/melee/energy/sword/pirate)
|
||||
|
||||
/obj/abstract/loadout/soviet_soldier
|
||||
items_to_spawn = list(/obj/item/clothing/under/soviet,
|
||||
/obj/item/clothing/shoes/black,
|
||||
/obj/item/clothing/head/ushanka)
|
||||
|
||||
/obj/abstract/loadout/tunnel_clown
|
||||
items_to_spawn = list(/obj/item/clothing/under/rank/clown,
|
||||
/obj/item/clothing/shoes/clown_shoes,
|
||||
/obj/item/clothing/gloves/black,
|
||||
/obj/item/clothing/mask/gas/clown_hat,
|
||||
/obj/item/clothing/head/chaplain_hood,
|
||||
/obj/item/device/radio/headset,
|
||||
/obj/item/clothing/glasses/thermal/monocle,
|
||||
/obj/item/clothing/suit/chaplain_hoodie,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/banana,
|
||||
/obj/item/weapon/bikehorn,
|
||||
/obj/item/weapon/card/id/tunnel_clown,
|
||||
/obj/item/weapon/fireaxe)
|
||||
|
||||
/obj/abstract/loadout/tunnel_clown/alter_items(var/list/items, var/mob/M)
|
||||
for(var/obj/item/weapon/card/id/I in items)
|
||||
I.name = "[M.real_name]'s ID Card"
|
||||
I.registered_name = M.real_name
|
||||
|
||||
/obj/abstract/loadout/masked_killer
|
||||
items_to_spawn = list(/obj/item/clothing/under/overalls,
|
||||
/obj/item/clothing/shoes/white,
|
||||
/obj/item/clothing/gloves/latex,
|
||||
/obj/item/clothing/mask/surgical,
|
||||
/obj/item/clothing/head/welding,
|
||||
/obj/item/device/radio/headset,
|
||||
/obj/item/clothing/glasses/thermal/monocle,
|
||||
/obj/item/clothing/suit/apron,
|
||||
/obj/item/weapon/kitchen/utensil/knife/large,
|
||||
/obj/item/weapon/scalpel,
|
||||
/obj/item/weapon/fireaxe)
|
||||
|
||||
/obj/abstract/loadout/masked_killer/alter_items(var/list/items, var/mob/M)
|
||||
for(var/obj/item/I in items)
|
||||
I.add_blood(M)
|
||||
|
||||
/obj/abstract/loadout/assassin
|
||||
items_to_spawn = list(/obj/item/clothing/under/suit_jacket,
|
||||
/obj/item/clothing/shoes/black,
|
||||
/obj/item/clothing/gloves/black,
|
||||
/obj/item/device/radio/headset,
|
||||
/obj/item/clothing/glasses/sunglasses,
|
||||
/obj/item/clothing/suit/wcoat,
|
||||
/obj/item/weapon/melee/energy/sword,
|
||||
/obj/item/weapon/cloaking_device,
|
||||
/obj/item/weapon/storage/secure/briefcase/assassin,
|
||||
/obj/item/device/pda/heads/assassin,
|
||||
/obj/item/weapon/card/id/syndicate/assassin)
|
||||
|
||||
/obj/abstract/loadout/assassin/alter_items(var/list/items, var/mob/M)
|
||||
for(var/obj/item/weapon/card/id/I in items)
|
||||
I.name = "[M.real_name]'s ID Card"
|
||||
I.registered_name = M.real_name
|
||||
for(var/obj/item/device/pda/P in items)
|
||||
P.owner = M.real_name
|
||||
P.name = "PDA-[M.real_name] ([P.ownjob])"
|
||||
|
||||
/obj/abstract/loadout/death_commando
|
||||
items_to_spawn = list(/obj/item/device/radio/headset/deathsquad,
|
||||
/obj/item/clothing/under/deathsquad,
|
||||
/obj/item/weapon/melee/energy/sword,
|
||||
/obj/item/weapon/gun/projectile/mateba,
|
||||
/obj/item/clothing/shoes/magboots/deathsquad,
|
||||
/obj/item/clothing/gloves/combat,
|
||||
/obj/item/clothing/glasses/thermal,
|
||||
/obj/item/clothing/head/helmet/space/rig/deathsquad,
|
||||
/obj/item/clothing/mask/gas/swat,
|
||||
/obj/item/clothing/suit/space/rig/deathsquad,
|
||||
/obj/item/weapon/tank/emergency_oxygen/double,
|
||||
/obj/item/weapon/storage/backpack/security,
|
||||
/obj/item/weapon/storage/box,
|
||||
/obj/item/ammo_storage/box/a357,
|
||||
/obj/item/weapon/storage/firstaid/regular,
|
||||
/obj/item/weapon/pinpointer,
|
||||
/obj/item/weapon/shield/energy,
|
||||
/obj/item/weapon/plastique,
|
||||
/obj/item/weapon/gun/energy/pulse_rifle,
|
||||
/obj/item/weapon/card/id/death_commando)
|
||||
|
||||
/obj/abstract/loadout/death_commando/alter_items(var/list/items, var/mob/M)
|
||||
for(var/obj/item/weapon/card/id/I in items)
|
||||
I.name = "[M.real_name]'s ID Card"
|
||||
I.registered_name = M.real_name
|
||||
|
||||
/obj/abstract/loadout/death_commando/equip_items(var/mob/M)
|
||||
if(ishuman(M))
|
||||
var/mob/living/carbon/human/H = M
|
||||
H.equip_death_commando()
|
||||
else
|
||||
var/list/spawned_items = spawn_items()
|
||||
alter_items(spawned_items, M)
|
||||
M.recursive_list_equip(spawned_items)
|
||||
qdel(src)
|
||||
|
||||
/obj/abstract/loadout/syndicate_commando
|
||||
items_to_spawn = list(/obj/item/device/radio/headset/syndicate/commando,
|
||||
/obj/item/clothing/under/syndicate/commando,
|
||||
/obj/item/weapon/melee/energy/sword,
|
||||
/obj/item/weapon/grenade/empgrenade,
|
||||
/obj/item/weapon/gun/projectile/silenced,
|
||||
/obj/item/clothing/shoes/swat,
|
||||
/obj/item/clothing/gloves/swat,
|
||||
/obj/item/clothing/glasses/thermal,
|
||||
/obj/item/clothing/mask/gas/syndicate,
|
||||
/obj/item/clothing/head/helmet/space/syndicate/black,
|
||||
/obj/item/clothing/suit/space/syndicate/black,
|
||||
/obj/item/weapon/tank/emergency_oxygen,
|
||||
/obj/item/weapon/storage/backpack/security,
|
||||
/obj/item/weapon/storage/box,
|
||||
/obj/item/ammo_storage/box/c45,
|
||||
/obj/item/weapon/storage/firstaid/regular,
|
||||
/obj/item/weapon/plastique,
|
||||
/obj/item/osipr_core,
|
||||
/obj/item/weapon/plastique,
|
||||
/obj/item/energy_magazine/osipr,
|
||||
/obj/item/weapon/gun/osipr,
|
||||
/obj/item/weapon/card/id/syndicate/commando)
|
||||
|
||||
/obj/abstract/loadout/syndicate_commando/alter_items(var/list/items, var/mob/M)
|
||||
for(var/obj/item/weapon/card/id/I in items)
|
||||
I.name = "[M.real_name]'s ID Card"
|
||||
I.registered_name = M.real_name
|
||||
|
||||
/obj/abstract/loadout/syndicate_commando/equip_items(var/mob/M)
|
||||
if(ishuman(M))
|
||||
var/mob/living/carbon/human/H = M
|
||||
H.equip_syndicate_commando()
|
||||
else
|
||||
var/list/spawned_items = spawn_items()
|
||||
alter_items(spawned_items, M)
|
||||
M.recursive_list_equip(spawned_items)
|
||||
qdel(src)
|
||||
|
||||
/obj/abstract/loadout/nanotrasen_representative
|
||||
items_to_spawn = list(/obj/item/clothing/under/rank/centcom/representative,
|
||||
/obj/item/clothing/shoes/centcom,
|
||||
/obj/item/clothing/gloves/white,
|
||||
/obj/item/device/radio/headset/heads/hop,
|
||||
/obj/item/device/pda/heads/nt_rep,
|
||||
/obj/item/clothing/glasses/sunglasses,
|
||||
/obj/item/weapon/storage/bag/clipboard,
|
||||
/obj/item/weapon/card/id/nt_rep)
|
||||
|
||||
/obj/abstract/loadout/nanotrasen_representative/alter_items(var/list/items, var/mob/M)
|
||||
for(var/obj/item/weapon/card/id/I in items)
|
||||
I.name = "[M.real_name]'s ID Card"
|
||||
I.registered_name = M.real_name
|
||||
for(var/obj/item/device/pda/P in items)
|
||||
P.owner = M.real_name
|
||||
P.name = "PDA-[M.real_name] ([P.ownjob])"
|
||||
|
||||
/obj/abstract/loadout/nanotrasen_officer
|
||||
items_to_spawn = list(/obj/item/clothing/under/rank/centcom/officer,
|
||||
/obj/item/clothing/shoes/centcom,
|
||||
/obj/item/clothing/gloves/white,
|
||||
/obj/item/device/radio/headset/heads/captain,
|
||||
/obj/item/clothing/head/beret/centcom/officer,
|
||||
/obj/item/device/pda/heads/nt_officer,
|
||||
/obj/item/clothing/glasses/sunglasses,
|
||||
/obj/item/weapon/gun/energy,
|
||||
/obj/item/weapon/card/id/centcom/nt_officer)
|
||||
|
||||
/obj/abstract/loadout/nanotrasen_officer/alter_items(var/list/items, var/mob/M)
|
||||
for(var/obj/item/weapon/card/id/I in items)
|
||||
I.name = "[M.real_name]'s ID Card"
|
||||
I.registered_name = M.real_name
|
||||
for(var/obj/item/device/pda/P in items)
|
||||
P.owner = M.real_name
|
||||
P.name = "PDA-[M.real_name] ([P.ownjob])"
|
||||
|
||||
/obj/abstract/loadout/nanotrasen_captain
|
||||
items_to_spawn = list(/obj/item/clothing/under/rank/centcom/captain,
|
||||
/obj/item/clothing/shoes/centcom,
|
||||
/obj/item/clothing/gloves/white,
|
||||
/obj/item/device/radio/headset/heads/captain,
|
||||
/obj/item/clothing/head/beret/centcom/captain,
|
||||
/obj/item/device/pda/heads/nt_captain,
|
||||
/obj/item/clothing/glasses/sunglasses,
|
||||
/obj/item/weapon/gun/energy,
|
||||
/obj/item/weapon/card/id/centcom/nt_officer)
|
||||
|
||||
/obj/abstract/loadout/nanotrasen_captain/alter_items(var/list/items, var/mob/M)
|
||||
for(var/obj/item/weapon/card/id/I in items)
|
||||
I.name = "[M.real_name]'s ID Card"
|
||||
I.registered_name = M.real_name
|
||||
for(var/obj/item/device/pda/P in items)
|
||||
P.owner = M.real_name
|
||||
P.name = "PDA-[M.real_name] ([P.ownjob])"
|
||||
|
||||
/obj/abstract/loadout/nanotrasen_supreme_commander
|
||||
items_to_spawn = list(/obj/item/clothing/under/rank/centcom/captain,
|
||||
/obj/item/clothing/shoes/centcom,
|
||||
/obj/item/clothing/gloves/centcom,
|
||||
/obj/item/device/radio/headset/heads/captain,
|
||||
/obj/item/clothing/head/centhat,
|
||||
/obj/item/clothing/suit/space/rig/centcomm,
|
||||
/obj/item/clothing/glasses/sunglasses,
|
||||
/obj/item/weapon/gun/energy/laser/captain,
|
||||
/obj/item/device/pda/heads/nt_supreme,
|
||||
/obj/item/weapon/card/id/admin/nt_supreme)
|
||||
|
||||
/obj/abstract/loadout/nanotrasen_supreme_commander/alter_items(var/list/items, var/mob/M)
|
||||
for(var/obj/item/weapon/card/id/I in items)
|
||||
I.name = "[M.real_name]'s ID Card"
|
||||
I.registered_name = M.real_name
|
||||
for(var/obj/item/device/pda/P in items)
|
||||
P.owner = M.real_name
|
||||
P.name = "PDA-[M.real_name] ([P.ownjob])"
|
||||
|
||||
/obj/abstract/loadout/emergency_response_team
|
||||
items_to_spawn = list(/obj/item/device/radio/headset/ert,
|
||||
/obj/item/clothing/under/ert,
|
||||
/obj/item/device/flashlight,
|
||||
/obj/item/weapon/gun/energy/gun,
|
||||
/obj/item/clothing/glasses/sunglasses/sechud,
|
||||
/obj/item/clothing/shoes/swat,
|
||||
/obj/item/clothing/gloves/swat,
|
||||
/obj/item/weapon/storage/backpack/security,
|
||||
/obj/item/weapon/storage/box/survival/ert,
|
||||
/obj/item/weapon/storage/firstaid/regular,
|
||||
/obj/item/weapon/card/id/emergency_responder)
|
||||
|
||||
/obj/abstract/loadout/emergency_response_team/alter_items(var/list/items, var/mob/M)
|
||||
for(var/obj/item/weapon/card/id/I in items)
|
||||
I.name = "[M.real_name]'s ID Card"
|
||||
I.registered_name = M.real_name
|
||||
|
||||
/obj/abstract/loadout/emergency_response_team/equip_items(var/mob/M)
|
||||
if(ishuman(M))
|
||||
var/mob/living/carbon/human/H = M
|
||||
H.equip_response_team()
|
||||
else
|
||||
var/list/spawned_items = spawn_items()
|
||||
alter_items(spawned_items, M)
|
||||
M.recursive_list_equip(spawned_items)
|
||||
qdel(src)
|
||||
|
||||
/obj/abstract/loadout/special_ops_officer
|
||||
items_to_spawn = list(/obj/item/clothing/under/syndicate/combat,
|
||||
/obj/item/clothing/suit/armor/swat/officer,
|
||||
/obj/item/clothing/shoes/combat,
|
||||
/obj/item/clothing/gloves/combat,
|
||||
/obj/item/device/radio/headset/heads/captain,
|
||||
/obj/item/clothing/glasses/thermal/eyepatch,
|
||||
/obj/item/clothing/mask/cigarette/cigar/havana,
|
||||
/obj/item/clothing/head/beret/centcom,
|
||||
/obj/item/weapon/gun/energy/pulse_rifle/M1911,
|
||||
/obj/item/weapon/lighter/zippo,
|
||||
/obj/item/weapon/storage/backpack/satchel,
|
||||
/obj/item/weapon/card/id/special_operations)
|
||||
|
||||
/obj/abstract/loadout/special_ops_officer/alter_items(var/list/items, var/mob/M)
|
||||
for(var/obj/item/weapon/card/id/I in items)
|
||||
I.name = "[M.real_name]'s ID Card"
|
||||
I.registered_name = M.real_name
|
||||
|
||||
/obj/abstract/loadout/blue_wizard
|
||||
items_to_spawn = list(/obj/item/clothing/under/lightpurple,
|
||||
/obj/item/clothing/suit/wizrobe,
|
||||
/obj/item/clothing/shoes/sandal,
|
||||
/obj/item/device/radio/headset,
|
||||
/obj/item/clothing/head/wizard,
|
||||
/obj/item/weapon/storage/backpack,
|
||||
/obj/item/weapon/storage/box,
|
||||
/obj/item/weapon/teleportation_scroll,
|
||||
/obj/item/weapon/spellbook,
|
||||
/obj/item/weapon/staff)
|
||||
|
||||
/obj/abstract/loadout/red_wizard
|
||||
items_to_spawn = list(/obj/item/clothing/under/lightpurple,
|
||||
/obj/item/clothing/suit/wizrobe/red,
|
||||
/obj/item/clothing/shoes/sandal,
|
||||
/obj/item/device/radio/headset,
|
||||
/obj/item/clothing/head/wizard/red,
|
||||
/obj/item/weapon/storage/backpack,
|
||||
/obj/item/weapon/storage/box,
|
||||
/obj/item/weapon/teleportation_scroll,
|
||||
/obj/item/weapon/spellbook,
|
||||
/obj/item/weapon/staff)
|
||||
|
||||
/obj/abstract/loadout/marisa_wizard
|
||||
items_to_spawn = list(/obj/item/clothing/under/lightpurple,
|
||||
/obj/item/clothing/suit/wizrobe/marisa,
|
||||
/obj/item/clothing/shoes/sandal/marisa,
|
||||
/obj/item/device/radio/headset,
|
||||
/obj/item/clothing/head/wizard/marisa,
|
||||
/obj/item/weapon/storage/backpack,
|
||||
/obj/item/weapon/storage/box,
|
||||
/obj/item/weapon/teleportation_scroll,
|
||||
/obj/item/weapon/spellbook,
|
||||
/obj/item/weapon/staff)
|
||||
|
||||
/obj/abstract/loadout/soviet_admiral
|
||||
items_to_spawn = list(/obj/item/clothing/head/hgpiratecap,
|
||||
/obj/item/clothing/shoes/combat,
|
||||
/obj/item/clothing/gloves/combat,
|
||||
/obj/item/device/radio/headset/heads/captain,
|
||||
/obj/item/clothing/glasses/thermal/eyepatch,
|
||||
/obj/item/clothing/suit/hgpirate,
|
||||
/obj/item/weapon/storage/backpack/satchel,
|
||||
/obj/item/weapon/gun/projectile/mateba,
|
||||
/obj/item/clothing/under/soviet,
|
||||
/obj/item/weapon/card/id/soviet_admiral)
|
||||
|
||||
/obj/abstract/loadout/soviet_admiral/alter_items(var/list/items, var/mob/M)
|
||||
for(var/obj/item/weapon/card/id/I in items)
|
||||
I.name = "[M.real_name]'s ID Card"
|
||||
I.registered_name = M.real_name
|
||||
|
||||
/obj/abstract/loadout/bomberman
|
||||
items_to_spawn = list(/obj/item/clothing/under/darkblue,
|
||||
/obj/item/clothing/shoes/purple,
|
||||
/obj/item/clothing/head/helmet/space/bomberman,
|
||||
/obj/item/clothing/suit/space/bomberman,
|
||||
/obj/item/clothing/gloves/purple,
|
||||
/obj/item/weapon/bomberman)
|
||||
|
||||
/obj/abstract/loadout/arena_bomberman
|
||||
items_to_spawn = list(/obj/item/clothing/under/darkblue,
|
||||
/obj/item/clothing/shoes/purple,
|
||||
/obj/item/clothing/head/helmet/space/bomberman,
|
||||
/obj/item/clothing/suit/space/bomberman,
|
||||
/obj/item/clothing/gloves/purple,
|
||||
/obj/item/weapon/bomberman)
|
||||
|
||||
/obj/abstract/loadout/arena_bomberman/alter_items(var/list/items, var/mob/M)
|
||||
for(var/obj/item/clothing/C in items)
|
||||
C.canremove = 0
|
||||
if(istype(C, /obj/item/clothing/suit/space/bomberman))
|
||||
var/obj/item/clothing/suit/space/bomberman/B = C
|
||||
B.slowdown = HARDSUIT_SLOWDOWN_LOW
|
||||
var/list/randomhexes = list("7","8","9","a","b","c","d","e","f",)
|
||||
M.color = "#[pick(randomhexes)][pick(randomhexes)][pick(randomhexes)][pick(randomhexes)][pick(randomhexes)][pick(randomhexes)]"
|
||||
M.name = "Bomberman #[rand(1,999)]"
|
||||
M.mind.special_role = BOMBERMAN // NEEDED FOR CHEAT CHECKS!
|
||||
@@ -203,7 +203,7 @@ obj/structure/safe/ex_act(severity)
|
||||
/obj/item/weapon/gun/energy/staff/change,
|
||||
/obj/item/weapon/gun/energy/staff/animate,
|
||||
/obj/item/weapon/gun/energy/staff/focus,
|
||||
/obj/abstract/loadout/gemsuit
|
||||
/obj/item/weapon/storage/box/smartbox/clothing_box/gemsuit,
|
||||
)
|
||||
|
||||
/obj/structure/safe/floor/wizard/New()
|
||||
|
||||
@@ -11,6 +11,7 @@ var/list/response_team_members = list()
|
||||
spawns_name = "ERT"
|
||||
can_customize = TRUE
|
||||
logo = "ert-logo"
|
||||
outfit_datum = /datum/outfit/striketeam/ert
|
||||
|
||||
/datum/striketeam/ert/failure()
|
||||
command_alert(/datum/command_alert/ert_fail)
|
||||
@@ -136,7 +137,11 @@ var/list/response_team_members = list()
|
||||
ert.forgeObjectives(mission)
|
||||
if(ert)
|
||||
ert.HandleNewMind(M.mind) //First come, first served
|
||||
M.equip_response_team(leader_selected)
|
||||
|
||||
var/datum/outfit/striketeam/concrete_outfit = new outfit_datum
|
||||
if (leader_selected)
|
||||
concrete_outfit.is_leader = TRUE
|
||||
concrete_outfit.equip(M)
|
||||
|
||||
if(spawner)
|
||||
spawner.occupant = null
|
||||
@@ -146,60 +151,6 @@ var/list/response_team_members = list()
|
||||
|
||||
return M
|
||||
|
||||
/mob/living/carbon/human/proc/equip_response_team(leader_selected = 0)
|
||||
//Special radio setup
|
||||
equip_to_slot_or_del(new /obj/item/device/radio/headset/ert(src), slot_ears)
|
||||
|
||||
//Adding Camera Network
|
||||
var/obj/machinery/camera/camera = new /obj/machinery/camera(src) //Gives all the commandos internals cameras.
|
||||
camera.network = list(CAMERANET_ERT)
|
||||
camera.c_tag = real_name
|
||||
|
||||
//Basic Uniform
|
||||
equip_to_slot_or_del(new /obj/item/clothing/under/ert(src), slot_w_uniform)
|
||||
equip_to_slot_or_del(new /obj/item/device/flashlight(src), slot_l_store)
|
||||
equip_to_slot_or_del(new /obj/item/weapon/gun/energy/gun/nuclear(src), slot_belt)
|
||||
|
||||
//Glasses
|
||||
equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/sechud(src), slot_glasses)
|
||||
|
||||
//Shoes & gloves
|
||||
equip_to_slot_or_del(new /obj/item/clothing/shoes/swat(src), slot_shoes)
|
||||
equip_to_slot_or_del(new /obj/item/clothing/gloves/swat(src), slot_gloves)
|
||||
|
||||
//Backpack
|
||||
equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/security(src), slot_back)
|
||||
equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival/ert(src), slot_in_backpack)
|
||||
equip_to_slot_or_del(new /obj/item/weapon/storage/firstaid/regular(src), slot_in_backpack)
|
||||
|
||||
if(leader_selected)
|
||||
equip_to_slot_or_del(new /obj/item/weapon/card/shuttle_pass/ert(src), slot_in_backpack)
|
||||
|
||||
var/obj/item/weapon/card/id/W = new(src)
|
||||
W.assignment = "Emergency Responder[leader_selected ? " Leader" : ""]"
|
||||
W.registered_name = real_name
|
||||
W.name = "[real_name]'s ID Card ([W.assignment])"
|
||||
if(!leader_selected)
|
||||
W.access = get_centcom_access("Emergency Responder")
|
||||
W.icon_state = "ERT_empty" //placeholder until revamp
|
||||
else
|
||||
W.access = get_centcom_access("Emergency Responders Leader")
|
||||
W.icon_state = "ERT_leader"
|
||||
equip_to_slot_or_del(W, slot_wear_id)
|
||||
var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(src)
|
||||
L.imp_in = src
|
||||
L.implanted = 1
|
||||
var/datum/organ/external/affected = get_organ(LIMB_HEAD)
|
||||
affected.implants += L
|
||||
L.part = affected
|
||||
|
||||
if(leader_selected)
|
||||
equip_accessory(src, /obj/item/clothing/accessory/holster/handgun/preloaded/NTUSP/fancy, /obj/item/clothing/under, 5)
|
||||
else
|
||||
equip_accessory(src, /obj/item/clothing/accessory/holster/handgun/preloaded/NTUSP, /obj/item/clothing/under, 5)
|
||||
|
||||
return 1
|
||||
|
||||
//stealing that sweet bobbing animation from cryo.dm
|
||||
/obj/machinery/ert_cryo_cell
|
||||
name = "cryo cell"
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
can_customize = FALSE
|
||||
logo = "death-logo"
|
||||
|
||||
outfit_datum = /datum/outfit/striketeam/death_commando
|
||||
outfit_datum = /datum/outfit/striketeam/nt_deathsquad
|
||||
|
||||
/datum/striketeam/deathsquad/create_commando(obj/spawn_location, leader_selected = 0)
|
||||
var/mob/living/carbon/human/new_commando = new(spawn_location.loc)
|
||||
@@ -62,81 +62,3 @@
|
||||
for (var/role in H.mind.antag_roles)
|
||||
var/datum/role/R = H.mind.antag_roles[role]
|
||||
R.AnnounceObjectives()
|
||||
|
||||
/mob/living/carbon/human/proc/equip_death_commando(leader = 0)
|
||||
//Special radio setup
|
||||
equip_to_slot_or_del(new /obj/item/device/radio/headset/deathsquad(src), slot_ears)
|
||||
|
||||
//Adding Camera Network
|
||||
var/obj/machinery/camera/camera = new /obj/machinery/camera(src) //Gives all the commandos internals cameras.
|
||||
camera.network = list(CAMERANET_CREED)
|
||||
camera.c_tag = real_name
|
||||
|
||||
//Basic Uniform
|
||||
if (leader)
|
||||
var/obj/item/clothing/under/rank/centcom_officer/uni = new /obj/item/clothing/under/rank/centcom_officer(src)
|
||||
uni.attach_accessory(new/obj/item/clothing/accessory/holomap_chip/deathsquad(src))
|
||||
equip_to_slot_or_del(uni, slot_w_uniform)
|
||||
else
|
||||
equip_to_slot_or_del(new /obj/item/clothing/under/deathsquad(src), slot_w_uniform)
|
||||
|
||||
//Shoes & gloves
|
||||
equip_to_slot_or_del(new /obj/item/clothing/shoes/magboots/deathsquad(src), slot_shoes)
|
||||
equip_to_slot_or_del(new /obj/item/clothing/gloves/combat(src), slot_gloves)
|
||||
|
||||
//Glasses
|
||||
equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal(src), slot_glasses)
|
||||
|
||||
//Mask & Armor
|
||||
equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/rig/deathsquad(src), slot_head)
|
||||
equip_to_slot_or_del(new /obj/item/clothing/mask/gas/swat(src), slot_wear_mask)
|
||||
equip_to_slot_or_del(new /obj/item/clothing/suit/space/rig/deathsquad(src), slot_wear_suit)
|
||||
equip_to_slot_or_del(new /obj/item/weapon/tank/emergency_oxygen/double(src), slot_s_store)
|
||||
|
||||
//Backpack
|
||||
equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/security(src), slot_back)
|
||||
equip_to_slot_or_del(new /obj/item/weapon/storage/box(src), slot_in_backpack)
|
||||
equip_to_slot_or_del(new /obj/item/ammo_storage/speedloader/a357(src), slot_in_backpack)
|
||||
equip_to_slot_or_del(new /obj/item/weapon/storage/firstaid/regular(src), slot_in_backpack)
|
||||
equip_to_slot_or_del(new /obj/item/weapon/pinpointer(src), slot_in_backpack)
|
||||
equip_to_slot_or_del(new /obj/item/weapon/shield/energy(src), slot_in_backpack)
|
||||
if (leader)
|
||||
equip_to_slot_or_del(new /obj/item/weapon/disk/nuclear(src), slot_in_backpack)
|
||||
else
|
||||
equip_to_slot_or_del(new /obj/item/weapon/plastique(src), slot_in_backpack)
|
||||
|
||||
//Other equipment and accessories
|
||||
equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse_rifle(src), slot_belt)
|
||||
equip_accessory(src, /obj/item/clothing/accessory/holster/handgun/preloaded/mateba, /obj/item/clothing/under, 5)
|
||||
equip_accessory(src, /obj/item/clothing/accessory/holster/knife/boot/preloaded/energysword, /obj/item/clothing/shoes, 5)
|
||||
|
||||
|
||||
var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(src)//Here you go Deuryn
|
||||
L.imp_in = src
|
||||
L.implanted = 1
|
||||
var/obj/item/weapon/implant/explosive/E = new/obj/item/weapon/implant/explosive/nuclear(src)
|
||||
E.imp_in = src
|
||||
E.implanted = 1
|
||||
var/datum/organ/external/affected = get_organ(LIMB_HEAD)
|
||||
affected.implants += L
|
||||
L.part = affected
|
||||
affected.implants += E
|
||||
E.part = affected
|
||||
src.update_icons()
|
||||
|
||||
|
||||
|
||||
var/obj/item/weapon/card/id/W = new(src)
|
||||
W.name = "[real_name]'s ID Card"
|
||||
if(leader)
|
||||
W.access = get_centcom_access("Creed Commander")
|
||||
W.icon_state = "creed"
|
||||
W.assignment = "Death Commander"
|
||||
else
|
||||
W.access = get_centcom_access("Death Commando")
|
||||
W.icon_state = "deathsquad"
|
||||
W.assignment = "Death Commando"
|
||||
W.registered_name = real_name
|
||||
equip_to_slot_or_del(W, slot_wear_id)
|
||||
|
||||
return 1
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
spawns_name = "Syndicate-Commando"
|
||||
can_customize = FALSE
|
||||
logo = "synd-logo"
|
||||
outfit_datum = /datum/outfit/striketeam/syndie_deathsquad
|
||||
|
||||
|
||||
/datum/striketeam/syndicate/extras()
|
||||
@@ -36,6 +37,7 @@
|
||||
new_syndicate_commando.mind.assigned_role = "MODE"
|
||||
new_syndicate_commando.mind.special_role = "Syndicate Commando"
|
||||
var/datum/faction/syndiesquad = find_active_faction_by_type(/datum/faction/strike_team/syndiesquad)
|
||||
var/datum/outfit/striketeam/concrete_outfit = new outfit_datum
|
||||
if(syndiesquad)
|
||||
syndiesquad.HandleRecruitedMind(new_syndicate_commando.mind)
|
||||
else
|
||||
@@ -43,7 +45,9 @@
|
||||
syndiesquad.forgeObjectives(mission)
|
||||
if(syndiesquad)
|
||||
syndiesquad.HandleNewMind(new_syndicate_commando.mind) //First come, first served
|
||||
new_syndicate_commando.equip_syndicate_commando(syndicate_leader_selected)
|
||||
if (syndicate_leader_selected)
|
||||
concrete_outfit.is_leader = TRUE
|
||||
concrete_outfit.equip(new_syndicate_commando)
|
||||
return new_syndicate_commando
|
||||
|
||||
/datum/striketeam/syndicate/greet_commando(var/mob/living/carbon/human/H)
|
||||
@@ -52,64 +56,3 @@
|
||||
for (var/role in H.mind.antag_roles)
|
||||
var/datum/role/R = H.mind.antag_roles[role]
|
||||
R.AnnounceObjectives()
|
||||
|
||||
/mob/living/carbon/human/proc/equip_syndicate_commando(leader = 0)
|
||||
//Special radio setup
|
||||
var/obj/item/device/radio/R = new /obj/item/device/radio/headset/syndicate(src)
|
||||
R.set_frequency(SYND_FREQ) //Same frequency as the syndicate team in Nuke mode.
|
||||
equip_to_slot_or_del(R, slot_ears)
|
||||
|
||||
//Basic Uniform
|
||||
var/obj/item/clothing/under/syndicate/uni = new /obj/item/clothing/under/syndicate(src)
|
||||
uni.attach_accessory(new/obj/item/clothing/accessory/holomap_chip/elite(src))
|
||||
equip_to_slot_or_del(uni, slot_w_uniform)
|
||||
equip_to_slot_or_del(new /obj/item/weapon/melee/energy/sword(src), slot_l_store)
|
||||
equip_to_slot_or_del(new /obj/item/weapon/grenade/empgrenade(src), slot_r_store)
|
||||
equip_to_slot_or_del(new /obj/item/weapon/gun/projectile/silenced(src), slot_belt)
|
||||
|
||||
//Shoes & gloves
|
||||
equip_to_slot_or_del(new /obj/item/clothing/shoes/swat(src), slot_shoes)
|
||||
equip_to_slot_or_del(new /obj/item/clothing/gloves/swat(src), slot_gloves)
|
||||
|
||||
//Glasses)
|
||||
equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal(src), slot_glasses)
|
||||
|
||||
//Mask & Armor
|
||||
equip_to_slot_or_del(new /obj/item/clothing/mask/gas/syndicate(src), slot_wear_mask)
|
||||
equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/rig/syndicate_elite(src), slot_head)
|
||||
equip_to_slot_or_del(new /obj/item/clothing/suit/space/rig/syndicate_elite(src), slot_wear_suit)
|
||||
equip_to_slot_or_del(new /obj/item/weapon/tank/emergency_oxygen(src), slot_s_store)
|
||||
|
||||
//Backpack
|
||||
equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/security(src), slot_back)
|
||||
equip_to_slot_or_del(new /obj/item/weapon/storage/box(src), slot_in_backpack)
|
||||
equip_to_slot_or_del(new /obj/item/ammo_storage/box/c45(src), slot_in_backpack)
|
||||
equip_to_slot_or_del(new /obj/item/weapon/storage/firstaid/regular(src), slot_in_backpack)
|
||||
equip_to_slot_or_del(new /obj/item/weapon/plastique(src), slot_in_backpack)
|
||||
equip_to_slot_or_del(new /obj/item/osipr_core(src), slot_in_backpack)
|
||||
equip_to_slot_or_del(new /obj/item/weapon/gun/osipr(src), slot_in_backpack)
|
||||
if (leader)
|
||||
equip_to_slot_or_del(new /obj/item/weapon/pinpointer(src), slot_in_backpack)
|
||||
equip_to_slot_or_del(new /obj/item/weapon/disk/nuclear(src), slot_in_backpack)
|
||||
else
|
||||
equip_to_slot_or_del(new /obj/item/weapon/plastique(src), slot_in_backpack)
|
||||
equip_to_slot_or_del(new /obj/item/energy_magazine/osipr(src), slot_in_backpack)
|
||||
|
||||
var/obj/item/weapon/card/id/syndicate/W = new(src) //Untrackable by AI
|
||||
W.name = "[real_name]'s ID Card"
|
||||
W.icon_state = "syndie"
|
||||
W.access = get_all_accesses()//They get full station access because obviously the syndicate has HAAAX, and can make special IDs for their most elite members.
|
||||
W.access += list(access_cent_general, access_cent_specops, access_cent_living, access_cent_storage, access_syndicate)//Let's add their forged CentCom access and syndicate access.
|
||||
W.assignment = "Syndicate Commando"
|
||||
W.registered_name = real_name
|
||||
equip_to_slot_or_del(W, slot_wear_id)
|
||||
|
||||
var/obj/item/weapon/implant/explosive/E = new/obj/item/weapon/implant/explosive/nuclear(src) //no loyalty implant because you're already syndicate scum
|
||||
E.imp_in = src
|
||||
E.implanted = 1
|
||||
var/datum/organ/external/affected = get_organ(LIMB_HEAD)
|
||||
affected.implants += E
|
||||
E.part = affected
|
||||
src.update_icons()
|
||||
|
||||
return 1
|
||||
|
||||
@@ -252,14 +252,15 @@ client/proc/one_click_antag()
|
||||
new_syndicate_commando.mind.assigned_role = "MODE"
|
||||
new_syndicate_commando.mind.special_role = "Syndicate Commando"
|
||||
|
||||
new_syndicate_commando.equip_syndicate_commando(syndicate_leader_selected)
|
||||
var/datum/outfit/striketeam/syndie_deathsquad/syndie_outfit = new
|
||||
syndie_outfit.equip(new_syndicate_commando)
|
||||
|
||||
return new_syndicate_commando
|
||||
|
||||
/datum/admins/proc/makeVoxRaiders()
|
||||
|
||||
|
||||
// To fix...
|
||||
// To fix...
|
||||
|
||||
/datum/admins/proc/create_vox_raider(obj/spawn_location, leader_chosen = 0)
|
||||
var/mob/living/carbon/human/new_vox = new(spawn_location.loc)
|
||||
@@ -282,7 +283,7 @@ client/proc/one_click_antag()
|
||||
|
||||
var/datum/outfit/striketeam/voxraider/v = new
|
||||
v.equip(new_vox)
|
||||
|
||||
|
||||
/*
|
||||
spawn()
|
||||
var/chosen_loadout = input(new_vox, "The raid is about to begin. What kind of operations would you like to specialize into ?") in list("Raider", "Engineer", "Saboteur", "Medic")
|
||||
|
||||
@@ -1084,31 +1084,25 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
||||
return
|
||||
var/list/dropped_items
|
||||
var/delete_items
|
||||
var/strip_items = input(usr,"Do you want to strip \the [M]'s current equipment?","Equip Loadout","") as null|anything in list("Yes","No")
|
||||
var/strip_items = input(usr,"Do you want to strip \the [M]'s current equipment?","Equip Outfit","") as null|anything in list("Yes","No")
|
||||
if(!strip_items)
|
||||
return
|
||||
if(strip_items == "Yes")
|
||||
delete_items = input(usr,"Delete stripped items?","Equip Loadout","") as null|anything in list("Yes","No")
|
||||
delete_items = input(usr,"Delete stripped items?","Equip Outfit","") as null|anything in list("Yes","No")
|
||||
if(!delete_items)
|
||||
return
|
||||
var/list/loadouts = list() + "USE ITEMS ON MY TURF" + (typesof(/obj/abstract/loadout) - /obj/abstract/loadout)
|
||||
var/loadout_type = input(usr,"Loadout Type","Equip Loadout","") as null|anything in loadouts
|
||||
if(!loadout_type)
|
||||
var/list/outfits = (typesof(/datum/outfit/) - /datum/outfit/ - /datum/outfit/striketeam/)
|
||||
var/outfit_type = input(usr,"Outfit Type","Equip Outfit","") as null|anything in outfits
|
||||
if(!outfit_type || !ispath(outfit_type))
|
||||
return
|
||||
if(strip_items == "Yes")
|
||||
dropped_items = M.unequip_everything()
|
||||
if(delete_items == "Yes")
|
||||
for(var/atom/A in dropped_items)
|
||||
qdel(A)
|
||||
if(loadout_type == "USE ITEMS ON MY TURF")
|
||||
M.equip_loadout(null, FALSE)
|
||||
else
|
||||
if(!ispath(loadout_type))
|
||||
alert("ERROR: No such loadout type found.")
|
||||
return
|
||||
M.equip_loadout(loadout_type, FALSE)
|
||||
|
||||
log_admin("[key_name(usr)] has equipped a [loadout_type ? "loadout of type [loadout_type]" : "custom loadout"] to [key_name(M)].")
|
||||
message_admins("<span class='notice'>[key_name_admin(usr)] has equipped a [loadout_type ? "loadout of type [loadout_type]" : "custom loadout"] to [key_name(M)].</span>", 1)
|
||||
var/datum/outfit/concrete_outfit = new outfit_type
|
||||
concrete_outfit.equip(M, TRUE)
|
||||
log_admin("[key_name(usr)] has equipped an loadout of type [outfit_type] to [key_name(M)].")
|
||||
message_admins("<span class='notice'>[key_name(usr)] has equipped an loadout of type [outfit_type] to [key_name(M)].</span>", 1)
|
||||
|
||||
feedback_add_details("admin_verb","ELO") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
@@ -1162,8 +1162,8 @@
|
||||
/obj/item/clothing/head/helmet/tactical/HoS/dermal,
|
||||
/obj/item/clothing/under/chameleon,
|
||||
/obj/item/clothing/gloves/anchor_arms,
|
||||
/obj/abstract/loadout/soviet_rigsuit,
|
||||
/obj/abstract/loadout/nazi_rigsuit,
|
||||
/obj/abstract/spawn_all/soviet_rigsuit,
|
||||
/obj/abstract/spawn_all/nazi_rigsuit,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/superbiteburger,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/roburger,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/mommispaghetti,
|
||||
@@ -1238,9 +1238,9 @@
|
||||
/obj/item/clothing/head/helmet/tactical/HoS/dermal,
|
||||
/obj/item/clothing/under/chameleon,
|
||||
/obj/item/clothing/gloves/anchor_arms,
|
||||
/obj/abstract/loadout/soviet_rigsuit,
|
||||
/obj/abstract/loadout/nazi_rigsuit,
|
||||
/obj/abstract/loadout/dredd_gear
|
||||
/obj/abstract/spawn_all/soviet_rigsuit,
|
||||
/obj/abstract/spawn_all/nazi_rigsuit,
|
||||
/obj/abstract/spawn_all/dredd_gear
|
||||
)
|
||||
|
||||
/obj/abstract/map/spawner/safe/medal
|
||||
@@ -1409,3 +1409,35 @@
|
||||
if (22)
|
||||
new /obj/item/clothing/mask/gas/sexymime(src.loc)
|
||||
new /obj/item/clothing/under/sexymime(src.loc)
|
||||
|
||||
// Spawn all in the turf
|
||||
/obj/abstract/spawn_all
|
||||
var/list/to_spawn = list()
|
||||
|
||||
/obj/abstract/spawn_all/New()
|
||||
. = ..()
|
||||
for (var/thing in to_spawn)
|
||||
new thing(get_turf(src))
|
||||
|
||||
/obj/abstract/spawn_all/soviet_rigsuit
|
||||
to_spawn = list(
|
||||
/obj/item/clothing/suit/space/rig/soviet,
|
||||
)
|
||||
|
||||
/obj/abstract/spawn_all/nazi_rigsuit
|
||||
to_spawn = list(
|
||||
/obj/item/clothing/suit/space/rig/nazi,
|
||||
)
|
||||
|
||||
/obj/abstract/spawn_all/dredd_gear
|
||||
to_spawn = list(
|
||||
/obj/item/clothing/under/darkred,
|
||||
/obj/item/clothing/glasses/hud/security,
|
||||
/obj/item/clothing/gloves/combat,
|
||||
/obj/item/clothing/shoes/combat,
|
||||
/obj/item/clothing/head/helmet/dredd,
|
||||
/obj/item/clothing/mask/gas/swat,
|
||||
/obj/item/weapon/storage/belt/security,
|
||||
/obj/item/clothing/suit/armor/xcomsquaddie/dredd,
|
||||
/obj/item/weapon/gun/lawgiver,
|
||||
)
|
||||
|
||||
@@ -743,28 +743,6 @@ Use this proc preferably at the end of an equipment loadout
|
||||
B.handle_item_insertion(I,1)
|
||||
regenerate_icons()
|
||||
|
||||
/mob/proc/equip_loadout(var/type, var/unequip_current = TRUE) //Equips a loadout of the given type or, if no type is given, attempts to make a loadout from all the items on the proc caller's turf and equip that
|
||||
if(type)
|
||||
if(ispath(type, /obj/abstract/loadout))
|
||||
new type(get_turf(src), src, unequip_current)
|
||||
else
|
||||
var/turf/T = get_turf(usr)
|
||||
if(T)
|
||||
if(unequip_current)
|
||||
unequip_everything() //unequip everything before equipping loadout
|
||||
var/list/to_equip = list()
|
||||
for(var/obj/item/I in T.contents)
|
||||
to_equip.Add(new I.type(get_turf(src)))
|
||||
recursive_list_equip(to_equip)
|
||||
var/loadout_list = ""
|
||||
for(var/obj/item/O in to_equip)
|
||||
if(O == to_equip[to_equip.len])
|
||||
loadout_list += "[O.type]"
|
||||
else
|
||||
loadout_list += "[O.type], "
|
||||
log_admin("[key_name(src)] has been equipped with a custom loadout consisting of [loadout_list].")
|
||||
|
||||
|
||||
/obj/item/proc/mob_check_equip(M as mob, slot, disable_warning = 0)
|
||||
if(!M)
|
||||
return 0
|
||||
|
||||
@@ -455,8 +455,12 @@
|
||||
#include "code\datums\outfit\science.dm"
|
||||
#include "code\datums\outfit\security.dm"
|
||||
#include "code\datums\outfit\trader.dm"
|
||||
#include "code\datums\outfit\special_outfits\special.dm"
|
||||
#include "code\datums\outfit\striketeams\death_commando.dm"
|
||||
#include "code\datums\outfit\striketeams\ert.dm"
|
||||
#include "code\datums\outfit\striketeams\nt_deathsquad.dm"
|
||||
#include "code\datums\outfit\striketeams\nukeop.dm"
|
||||
#include "code\datums\outfit\striketeams\syndie_deathsquad.dm"
|
||||
#include "code\datums\outfit\striketeams\vox_raider.dm"
|
||||
#include "code\datums\research\research_tree.dm"
|
||||
#include "code\datums\research\unlockable.dm"
|
||||
@@ -778,7 +782,6 @@
|
||||
#include "code\game\objects\explosion.dm"
|
||||
#include "code\game\objects\explosion_recursive.dm"
|
||||
#include "code\game\objects\items.dm"
|
||||
#include "code\game\objects\loadouts.dm"
|
||||
#include "code\game\objects\objs.dm"
|
||||
#include "code\game\objects\structures.dm"
|
||||
#include "code\game\objects\weapons.dm"
|
||||
|
||||
Reference in New Issue
Block a user