mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-07-21 12:56:10 +01:00
Accessory Loadout Options (#18082)
* Accessory Loadout Options * more * throw this on top * fluffy review * nope * more stuff * default log file * fix order? * indentation fix
This commit is contained in:
@@ -349,3 +349,22 @@ Paper Data
|
||||
BT.id = metadata[1]
|
||||
BT.distance = metadata[2]
|
||||
BT.search_interval = metadata[3] SECONDS
|
||||
|
||||
|
||||
// Accessory Slot Settings
|
||||
var/datum/gear_tweak/accessory_slot/gear_tweak_accessory_slot = new()
|
||||
|
||||
/datum/gear_tweak/accessory_slot
|
||||
var/static/list/accessory_slots = list(GEAR_TWEAK_ACCESSORY_SLOT_UNDER, GEAR_TWEAK_ACCESSORY_SLOT_SUIT, GEAR_TWEAK_ACCESSORY_SLOT_SUIT_STANDALONE)
|
||||
|
||||
/datum/gear_tweak/accessory_slot/get_contents(var/metadata)
|
||||
return "Spawn Slot: [metadata]"
|
||||
|
||||
/datum/gear_tweak/accessory_slot/get_default()
|
||||
return GEAR_TWEAK_ACCESSORY_SLOT_UNDER
|
||||
|
||||
/datum/gear_tweak/accessory_slot/get_metadata(var/user, var/metadata)
|
||||
return tgui_input_list(user, "Choose a type.", "Character Preference", accessory_slots, metadata)
|
||||
|
||||
/datum/gear_tweak/accessory_slot/tweak_item(var/obj/item/clothing/accessory/buddytag/BT, var/list/metadata, var/mob/living/carbon/human/H)
|
||||
return
|
||||
|
||||
@@ -44,6 +44,7 @@
|
||||
display_name = "tunnel cloak (recolourable)"
|
||||
path = /obj/item/storage/backpack/cloak
|
||||
cost = 1
|
||||
slot = slot_back
|
||||
whitelisted = list(SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK)
|
||||
sort_category = "Xenowear - Vaurca"
|
||||
flags = GEAR_HAS_NAME_SELECTION | GEAR_HAS_DESC_SELECTION | GEAR_HAS_COLOR_SELECTION
|
||||
@@ -52,6 +53,7 @@
|
||||
display_name = "tunnel cloak selection"
|
||||
path = /obj/item/storage/backpack/cloak
|
||||
cost = 1
|
||||
slot = slot_back
|
||||
whitelisted = list(SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK)
|
||||
sort_category = "Xenowear - Vaurca"
|
||||
flags = GEAR_HAS_DESC_SELECTION
|
||||
|
||||
@@ -438,6 +438,8 @@ var/list/gear_datums = list()
|
||||
gear_tweaks += list(gear_tweak_free_desc)
|
||||
if(flags & GEAR_HAS_COLOR_ROTATION_SELECTION)
|
||||
gear_tweaks += list(gear_tweak_color_rotation)
|
||||
if(ispath(path, /obj/item/clothing/accessory))
|
||||
gear_tweaks += list(gear_tweak_accessory_slot)
|
||||
|
||||
/datum/gear_data
|
||||
var/path
|
||||
@@ -472,24 +474,34 @@ var/list/gear_datums = list()
|
||||
return "You cannot spawn with the [initial(spawning_item.name)] with your current origin!"
|
||||
return null
|
||||
|
||||
/datum/gear/proc/spawn_item(var/location, var/metadata, var/mob/living/carbon/human/H)
|
||||
/// Returns a list of spawn item data. The first entry is the path, the second is the location
|
||||
/datum/gear/proc/get_spawn_item_data(var/location, var/metadata, var/mob/living/carbon/human/H)
|
||||
var/datum/gear_data/gd = new(path, location, faction)
|
||||
for(var/datum/gear_tweak/gt in gear_tweaks)
|
||||
if(metadata["[gt]"])
|
||||
gt.tweak_gear_data(metadata["[gt]"], gd, H)
|
||||
else
|
||||
gt.tweak_gear_data(gt.get_default(), gd, H)
|
||||
if(ispath(gd.path, /obj/item/organ/external))
|
||||
var/obj/item/organ/external/external_aug = gd.path
|
||||
return list(gd.path, gd.location)
|
||||
|
||||
/datum/gear/proc/spawn_item(var/location, var/metadata, var/mob/living/carbon/human/H)
|
||||
var/list/spawn_item_data = get_spawn_item_data(location, metadata, H)
|
||||
var/spawn_path = spawn_item_data[1]
|
||||
var/spawn_location = spawn_item_data[2]
|
||||
|
||||
if(ispath(spawn_path, /obj/item/organ/external))
|
||||
var/obj/item/organ/external/external_aug = spawn_path
|
||||
var/obj/item/organ/external/replaced_limb = H.get_organ(initial(external_aug.limb_name))
|
||||
replaced_limb.droplimb(TRUE, DROPLIMB_EDGE, FALSE)
|
||||
qdel(replaced_limb)
|
||||
var/item = new gd.path(gd.location)
|
||||
|
||||
var/item = new spawn_path(spawn_location)
|
||||
for(var/datum/gear_tweak/gt in gear_tweaks)
|
||||
if(metadata["[gt]"])
|
||||
gt.tweak_item(item, metadata["[gt]"], H)
|
||||
else
|
||||
gt.tweak_item(item, gt.get_default(), H)
|
||||
|
||||
return item
|
||||
|
||||
/datum/gear/proc/spawn_random(var/location)
|
||||
|
||||
Reference in New Issue
Block a user