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:
ShiftyRail
2020-07-06 19:22:41 +02:00
committed by GitHub
parent 2ba8a28273
commit c39b842ea8
18 changed files with 869 additions and 786 deletions

View File

@@ -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)

View 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))

View 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)

View 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)

View 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)

View File

@@ -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

View File

@@ -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_

View File

@@ -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)
..()

View File

@@ -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!

View File

@@ -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()

View File

@@ -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"

View File

@@ -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

View File

@@ -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

View File

@@ -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")

View File

@@ -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!

View File

@@ -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,
)

View File

@@ -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

View File

@@ -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"