Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MODULAR] Loadout Expansions 1 #69

Merged
merged 8 commits into from
Sep 23, 2024
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 23 additions & 19 deletions code/modules/jobs/job_types/_job.dm
Original file line number Diff line number Diff line change
Expand Up @@ -342,25 +342,29 @@

/datum/outfit/job/pre_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(ispath(back, /obj/item/storage/backpack))
switch(H.backpack)
if(GBACKPACK)
back = /obj/item/storage/backpack //Grey backpack
if(GSATCHEL)
back = /obj/item/storage/backpack/satchel //Grey satchel
if(GDUFFELBAG)
back = /obj/item/storage/backpack/duffelbag //Grey Duffel bag
if(LSATCHEL)
back = /obj/item/storage/backpack/satchel/leather //Leather Satchel
if(GMESSENGER)
back = /obj/item/storage/backpack/messenger //Grey messenger bag
if(DSATCHEL)
back = satchel //Department satchel
if(DDUFFELBAG)
back = duffelbag //Department duffel bag
if(DMESSENGER)
back = messenger //Department messenger bag
else
back = backpack //Department backpack
/// DOPPLER SHIFT EDIT BEGIN
carpotoxin marked this conversation as resolved.
Show resolved Hide resolved
var/obj/back_as_obj = back
if("[back_as_obj.type]" == "[initial(src.back)]")
switch(H.backpack)
if(GBACKPACK)
back = /obj/item/storage/backpack //Grey backpack
if(GSATCHEL)
back = /obj/item/storage/backpack/satchel //Grey satchel
if(GDUFFELBAG)
back = /obj/item/storage/backpack/duffelbag //Grey Duffel bag
if(LSATCHEL)
back = /obj/item/storage/backpack/satchel/leather //Leather Satchel
if(GMESSENGER)
back = /obj/item/storage/backpack/messenger //Grey messenger bag
if(DSATCHEL)
back = satchel //Department satchel
if(DDUFFELBAG)
back = duffelbag //Department duffel bag
if(DMESSENGER)
back = messenger //Department messenger bag
else
back = backpack //Department backpack
/// DOPPLER SHIFT EDIT END

//converts the uniform string into the path we'll wear, whether it's the skirt or regular variant
var/holder
Expand Down
51 changes: 51 additions & 0 deletions modular_doppler/loadout_categories/categories/backpacks.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
/datum/loadout_category/backpack
category_name = "Back"
category_ui_icon = FA_ICON_ARCHIVE
type_to_generate = /datum/loadout_item/backpack
tab_order = /datum/loadout_category/belt::tab_order + 1


/*
* LOADOUT ITEM DATUMS FOR THE BACK SLOT
*/
/datum/loadout_item/backpack
abstract_type = /datum/loadout_item/backpack

/datum/loadout_item/backpack/insert_path_into_outfit(datum/outfit/outfit, mob/living/carbon/human/equipper, visuals_only = FALSE)
if(outfit.back)
LAZYADD(outfit.backpack_contents, outfit.back)
outfit.back = item_path



/datum/loadout_item/backpack
name = "Custom Backpack"
item_path = /obj/item/storage/backpack/custom

/datum/loadout_item/backpack/industrial
name = "Custom Industrial Backpack"
item_path = /obj/item/storage/backpack/industrial/custom

/datum/loadout_item/backpack/satchel
name = "Custom Satchel"
item_path = /obj/item/storage/backpack/satchel/custom

/datum/loadout_item/backpack/satchel/industrial
name = "Custom Industrial Satchel"
item_path = /obj/item/storage/backpack/satchel/eng/custom

/datum/loadout_item/backpack/duffel
name = "Custom Duffelbag"
item_path = /obj/item/storage/backpack/duffelbag/custom

/datum/loadout_item/backpack/duffel/industrial
name = "Custom Industrial Duffelbag"
item_path = /obj/item/storage/backpack/duffelbag/engineering/custom

/datum/loadout_item/backpack/messenger
name = "Custom Messenger Bag"
item_path = /obj/item/storage/backpack/messenger/custom

/datum/loadout_item/backpack/messenger/industrial
name = "Custom Industrial Messenger Bag"
item_path = /obj/item/storage/backpack/messenger/eng/custom
12 changes: 12 additions & 0 deletions modular_doppler/loadout_categories/categories/belts.dm
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,10 @@
name = "White Fannypack"
item_path = /obj/item/storage/belt/fannypack/white

/datum/loadout_item/belts/fanny_pack_custom
name = "Fannypack"
item_path = /obj/item/storage/belt/fannypack/custom

/datum/loadout_item/belts/lantern
name = "Lantern"
item_path = /obj/item/flashlight/lantern
Expand All @@ -85,6 +89,10 @@
name = "Medical Belt"
item_path = /obj/item/storage/belt/medical

/datum/loadout_item/belts/medical/invisible
name = "Compact Medical Belt"
item_path = /obj/item/storage/belt/medical/invisible

/datum/loadout_item/belts/security
name = "Security Belt"
item_path = /obj/item/storage/belt/security
Expand All @@ -93,6 +101,10 @@
name = "Utility Belt"
item_path = /obj/item/storage/belt/utility

/datum/loadout_item/belts/utility/invisible
name = "Compact Utility Belt"
item_path = /obj/item/storage/belt/utility/invisible

/datum/loadout_item/belts/utility/chief
name = "Chief Engineer's Utility Belt"
item_path = /obj/item/storage/belt/utility/chief
Expand Down
4 changes: 4 additions & 0 deletions modular_doppler/loadout_categories/categories/inhands.dm
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,7 @@
/datum/loadout_item/inhand/bouquet_rose
name = "Rose Bouquet"
item_path = /obj/item/bouquet/rose

/datum/loadout_item/inhand/slimpack
name = "Custom Slimpack"
item_path = /obj/item/storage/backpack/satchel/flat/empty/custom
149 changes: 149 additions & 0 deletions modular_doppler/loadout_categories/categories/undersuit.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,149 @@
/datum/loadout_category/undersuit
category_name = "Undersuit"
category_ui_icon = FA_ICON_SHIRT
type_to_generate = /datum/loadout_item/undersuit
tab_order = /datum/loadout_category/suit::tab_order + 1

/*
* LOADOUT ITEM DATUMS FOR THE UNDERSUIT SLOT
*/

/datum/loadout_item/undersuit
abstract_type = /datum/loadout_item/undersuit

/datum/loadout_item/undersuit/pre_equip_item(datum/outfit/outfit, datum/outfit/outfit_important_for_life, mob/living/carbon/human/equipper, visuals_only = FALSE) // don't bother storing in backpack, can't fit
if(initial(outfit_important_for_life.uniform))
return TRUE

/datum/loadout_item/undersuit/insert_path_into_outfit(datum/outfit/outfit, mob/living/carbon/human/equipper, visuals_only = FALSE, override_items = LOADOUT_OVERRIDE_BACKPACK)
if(override_items == LOADOUT_OVERRIDE_BACKPACK && !visuals_only)
if(outfit.uniform)
LAZYADD(outfit.backpack_contents, outfit.uniform)
outfit.uniform = item_path
else
outfit.uniform = item_path

/*
* DOPPLER STANDARD UNIFORM OPTIONS
*/

/datum/loadout_item/undersuit/doppler_uniform
name = "Doppler Uniform"
item_path = /obj/item/clothing/under/misc/doppler_uniform/standard

/datum/loadout_item/undersuit/doppler_uniform/overalls
name = "Doppler Uniform w/ Overalls"
item_path = /obj/item/clothing/under/misc/doppler_uniform/standard/overalls

/datum/loadout_item/undersuit/doppler_uniform/cozy
name = "Cozy Doppler Uniform"
item_path = /obj/item/clothing/under/misc/doppler_uniform/standard/cozy

/datum/loadout_item/undersuit/doppler_uniform/cozy/overalls
name = "Cozy Doppler Uniform w/ Overalls"
item_path = /obj/item/clothing/under/misc/doppler_uniform/standard/cozy/overalls

/datum/loadout_item/undersuit/doppler_uniform/suit
name = "Doppler Suit"
item_path = /obj/item/clothing/under/misc/doppler_uniform/standard/suit

/datum/loadout_item/undersuit/doppler_uniform/suit/overalls
name = "Doppler Suit w/ Overalls"
item_path = /obj/item/clothing/under/misc/doppler_uniform/standard/suit/overalls

/datum/loadout_item/undersuit/doppler_uniform/suit/overalls/random
name = "Random Doppler Suit w/ Overalls"
item_path = /obj/item/clothing/under/misc/doppler_uniform/standard/suit/overalls/colored

/*
* FANCYPANTS
*/

/datum/loadout_item/undersuit/pants
name = "Pants"
item_path = /obj/item/clothing/under/pants

/datum/loadout_item/undersuit/pants/shorts
name = "Shorts"
item_path = /obj/item/clothing/under/shorts

/datum/loadout_item/undersuit/pants/slacks
name = "Slacks"
item_path = /obj/item/clothing/under/pants/slacks

/datum/loadout_item/undersuit/pants/jeans
name = "Jeans"
item_path = /obj/item/clothing/under/pants/jeans

/datum/loadout_item/undersuit/pants/jeans/shorts
name = "Jean Shorts"
item_path = /obj/item/clothing/under/shorts/jeanshorts

/datum/loadout_item/undersuit/pants/track
name = "Track Pants"
item_path = /obj/item/clothing/under/pants/track

/datum/loadout_item/undersuit/pants/camo
name = "Camo Pants"
item_path = /obj/item/clothing/under/pants/camo

/*
* BUTTONDOWNS
*/

/datum/loadout_item/undersuit/buttondown
name = "Buttondown"
item_path = /obj/item/clothing/under/costume/buttondown

/datum/loadout_item/undersuit/buttondown/slacks
name = "Buttondown w/ Slacks"
item_path = /obj/item/clothing/under/costume/buttondown/slacks

/datum/loadout_item/undersuit/buttondown/shorts
name = "Buttondown w/ Shorts"
item_path = /obj/item/clothing/under/costume/buttondown/shorts

/datum/loadout_item/undersuit/buttondown/skirt
name = "Buttondown w/ Skirt"
item_path = /obj/item/clothing/under/costume/buttondown/skirt


/*
* DRESSES
*/

/datum/loadout_item/undersuit/dress
name = "Dress"
item_path = /obj/item/clothing/under/dress

/datum/loadout_item/undersuit/dress/evening
name = "Evening Dress"
item_path = /obj/item/clothing/under/dress/eveninggown

/datum/loadout_item/undersuit/dress/sun
name = "Sun Dress"
item_path = /obj/item/clothing/under/dress/sundress

/datum/loadout_item/undersuit/dress/striped
name = "Striped Dress"
item_path = /obj/item/clothing/under/dress/striped

/datum/loadout_item/undersuit/dress/tango
name = "Tango Dress"
item_path = /obj/item/clothing/under/dress/tango

/datum/loadout_item/undersuit/dress/skirt
name = "Skirt Dress"
item_path = /obj/item/clothing/under/dress/skirt

/datum/loadout_item/undersuit/dress/skirt/plaid
name = "Plaid Skirt Dress"
item_path = /obj/item/clothing/under/dress/skirt/plaid

/datum/loadout_item/undersuit/dress/skirt/turtle
name = "Turtle-Skirt Dress"
item_path = /obj/item/clothing/under/dress/skirt/turtleskirt

/datum/loadout_item/undersuit/dress/sailor
name = "Heretical Dress"
item_path = /obj/item/clothing/under/dress/sailor
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
/*
/>  フ meow! this dm file contains greyscale configs for any custom storage we add
|  _ _| /
/` ミ_xノ
/     |
/  ヽ   ノ
│  | | |
/ ̄|   | | |
( ̄ヽ__ヽ_)__)
\二)
*/


/////////
//BELTS//
/////////

// Fannypacks
/datum/greyscale_config/fannypack
name = "Fannypack"
icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/obj/belt.dmi'
json_config = 'modular_doppler/modular_cosmetics/GAGS/json_configs/belt/fannypack.json'

/datum/greyscale_config/fannypack/worn
name = "Worn Fannypack"
icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/mob/belt.dmi'



/////////////
//BACKPACKS//
/////////////

// Regular backpack
/datum/greyscale_config/backpack
name = "Backpack"
icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/obj/back.dmi'
json_config = 'modular_doppler/modular_cosmetics/GAGS/json_configs/back/backpack.json'

/datum/greyscale_config/backpack/worn
name = "Worn Backpack"
icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/mob/back.dmi'

/datum/greyscale_config/backpack/satchel
name = "Satchel"
json_config = 'modular_doppler/modular_cosmetics/GAGS/json_configs/back/satchel.json'

/datum/greyscale_config/backpack/satchel/worn
name = "Worn Satchel"
icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/mob/back.dmi'

/datum/greyscale_config/backpack/duffel
name = "Duffelbag"
json_config = 'modular_doppler/modular_cosmetics/GAGS/json_configs/back/duffel.json'

/datum/greyscale_config/backpack/duffel/worn
name = "Worn Duffelbag"
icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/mob/back.dmi'

/datum/greyscale_config/backpack/messenger
name = "Messenger Bag"
json_config = 'modular_doppler/modular_cosmetics/GAGS/json_configs/back/messenger.json'

/datum/greyscale_config/backpack/messenger/worn
name = "Worn Messenger Bag"
icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/mob/back.dmi'

/datum/greyscale_config/backpack/slimpack
name = "Slimpack"
json_config = 'modular_doppler/modular_cosmetics/GAGS/json_configs/back/slimpack.json'

/datum/greyscale_config/backpack/slimpack/worn
name = "Worn Slimpack"
icon_file = 'modular_doppler/modular_cosmetics/GAGS/icons/mob/back.dmi'
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading
Loading