Skip to content

Commit

Permalink
Merge pull request #69 from Bird-Lounge/loadout-expansion
Browse files Browse the repository at this point in the history
[MODULAR] Loadout Expansions 1
  • Loading branch information
carpotoxin authored Sep 23, 2024
2 parents dc7b06b + 83e6edb commit 2e45e5b
Show file tree
Hide file tree
Showing 19 changed files with 605 additions and 19 deletions.
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 @@ -352,25 +352,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
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 Flatpack"
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

0 comments on commit 2e45e5b

Please sign in to comment.