mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-01-03 05:51:56 +00:00
Loadout Rollable Clothes (#15365)
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
/datum/gear_tweak/proc/get_contents(var/metadata)
|
||||
return
|
||||
|
||||
/datum/gear_tweak/proc/get_metadata(var/user, var/metadata)
|
||||
/datum/gear_tweak/proc/get_metadata(var/user, var/metadata, var/title, var/gear_path)
|
||||
return
|
||||
|
||||
/datum/gear_tweak/proc/get_default()
|
||||
@@ -216,7 +216,7 @@ var/datum/gear_tweak/custom_name/gear_tweak_free_name = new()
|
||||
var/datum/component/base_name/BN = I.GetComponent(/datum/component/base_name)
|
||||
if(BN)
|
||||
BN.rename(metadata)
|
||||
|
||||
|
||||
/*
|
||||
Custom Description
|
||||
*/
|
||||
@@ -294,4 +294,4 @@ Paper Data
|
||||
return
|
||||
BT.id = metadata[1]
|
||||
BT.distance = metadata[2]
|
||||
BT.search_interval = metadata[3] SECONDS
|
||||
BT.search_interval = metadata[3] SECONDS
|
||||
|
||||
@@ -203,7 +203,7 @@ var/list/gear_datums = list()
|
||||
if(!(gear_name in player_valid_gear_choices))
|
||||
continue
|
||||
var/datum/gear/G = LC.gear[gear_name]
|
||||
|
||||
|
||||
var/temp_html = ""
|
||||
var/datum/job/job = pref.return_chosen_high_job()
|
||||
var/available = (G.check_faction(pref.faction) \
|
||||
@@ -231,7 +231,7 @@ var/list/gear_datums = list()
|
||||
temp_html += "<tr style='vertical-align:top'><td width=25%><a href='?src=\ref[src];toggle_gear=[G.display_name]'><font [style]>[G.display_name]</font></a></td>"
|
||||
temp_html += "<td width = 10% style='vertical-align:top'>[G.cost]</td>"
|
||||
temp_html += "<td><font size=2><i>[G.description]</i><br>"
|
||||
|
||||
|
||||
if(G.allowed_roles)
|
||||
temp_html += "</font><font size = 1>(Role: "
|
||||
var/role_count = 0
|
||||
@@ -268,20 +268,20 @@ var/list/gear_datums = list()
|
||||
else
|
||||
temp_html += ", "
|
||||
temp_html += "</font></td></tr>"
|
||||
|
||||
|
||||
if(ticked)
|
||||
temp_html += "<tr><td colspan=3>"
|
||||
for(var/datum/gear_tweak/tweak in G.gear_tweaks)
|
||||
temp_html += " <a href='?src=\ref[src];gear=[G.display_name];tweak=\ref[tweak]'>[tweak.get_contents(get_tweak_metadata(G, tweak))]</a>"
|
||||
temp_html += "</td></tr>"
|
||||
|
||||
if(ticked)
|
||||
|
||||
if(ticked)
|
||||
ticked_items_html += temp_html
|
||||
else if(!available)
|
||||
available_items_html += temp_html
|
||||
else
|
||||
unavailable_items_html += temp_html
|
||||
|
||||
|
||||
. += ticked_items_html
|
||||
. += unavailable_items_html
|
||||
. += available_items_html
|
||||
@@ -323,7 +323,7 @@ var/list/gear_datums = list()
|
||||
var/datum/gear_tweak/tweak = locate(href_list["tweak"])
|
||||
if(!tweak || !istype(gear) || !(tweak in gear.gear_tweaks))
|
||||
return TOPIC_NOACTION
|
||||
var/metadata = tweak.get_metadata(user, get_tweak_metadata(gear, tweak))
|
||||
var/metadata = tweak.get_metadata(user, get_tweak_metadata(gear, tweak), null, gear.path)
|
||||
if(!metadata || !CanUseTopic(user))
|
||||
return TOPIC_NOACTION
|
||||
set_tweak_metadata(gear, tweak, metadata)
|
||||
|
||||
@@ -5,6 +5,10 @@
|
||||
slot = slot_w_uniform
|
||||
sort_category = "Uniforms and Casual Dress"
|
||||
|
||||
/datum/gear/uniform/New()
|
||||
..()
|
||||
gear_tweaks += list(gear_tweak_uniform_rolled_state)
|
||||
|
||||
/datum/gear/uniform/iacjumpsuit
|
||||
display_name = "IAC Jumpsuit"
|
||||
path = /obj/item/clothing/under/rank/iacjumpsuit
|
||||
@@ -394,3 +398,63 @@
|
||||
fetil_dress["fetil dress, red flairs"] = /obj/item/clothing/under/antillean
|
||||
fetil_dress["fetil dress, gold flairs"] = /obj/item/clothing/under/antillean/goldflair
|
||||
gear_tweaks += new /datum/gear_tweak/path(fetil_dress)
|
||||
|
||||
/*
|
||||
Uniform Rolled State Adjustment
|
||||
*/
|
||||
|
||||
#define UNIFORM_UNROLLED "Unrolled"
|
||||
#define UNIFORM_ROLLED_SLEEVES "Rolled Sleeves"
|
||||
#define UNIFORM_ROLLED_DOWN "Rolled Down"
|
||||
|
||||
var/datum/gear_tweak/uniform_rolled_state/gear_tweak_uniform_rolled_state = new()
|
||||
|
||||
/datum/gear_tweak/uniform_rolled_state/get_contents(var/metadata)
|
||||
return "Rolled State: [metadata]"
|
||||
|
||||
/datum/gear_tweak/uniform_rolled_state/get_default()
|
||||
return UNIFORM_UNROLLED
|
||||
|
||||
/datum/gear_tweak/uniform_rolled_state/get_metadata(var/user, var/metadata, var/gear_path)
|
||||
var/list/possible_states = list(UNIFORM_UNROLLED)
|
||||
var/obj/item/clothing/under/uniform = gear_path
|
||||
|
||||
var/rolled_sleeves_state = initial(uniform.rolled_sleeves)
|
||||
var/rolled_down_state = initial(uniform.rolled_down)
|
||||
|
||||
var/icon/under_icon = INV_W_UNIFORM_DEF_ICON
|
||||
if(rolled_sleeves_state == -1 || rolled_down_state == -1)
|
||||
if(initial(uniform.contained_sprite))
|
||||
under_icon = initial(uniform.icon)
|
||||
else if(initial(uniform.icon_override))
|
||||
under_icon = initial(uniform.icon_override)
|
||||
|
||||
if(rolled_sleeves_state != -1 || ("[initial(uniform.icon_state)]_r[initial(uniform.contained_sprite) ? "_un" : "_s"]" in icon_states(under_icon)))
|
||||
possible_states += UNIFORM_ROLLED_SLEEVES
|
||||
|
||||
if(rolled_down_state != -1 || ("[initial(uniform.icon_state)]_d[initial(uniform.contained_sprite) ? "_un" : "_s"]" in icon_states(under_icon)))
|
||||
possible_states += UNIFORM_ROLLED_DOWN
|
||||
|
||||
var/input = input(user, "Choose in which state you want your uniform to spawn in.", "Uniform State", metadata) as null|anything in possible_states
|
||||
if(!input)
|
||||
input = metadata
|
||||
return input
|
||||
|
||||
|
||||
/datum/gear_tweak/uniform_rolled_state/tweak_item(var/obj/item/clothing/under/uniform, var/metadata, var/title, var/gear_path)
|
||||
if(!istype(uniform))
|
||||
return
|
||||
|
||||
if(uniform.rolled_sleeves != -1)
|
||||
uniform.rolled_sleeves = metadata == UNIFORM_ROLLED_SLEEVES ? TRUE : FALSE
|
||||
if(uniform.rolled_down != -1)
|
||||
uniform.rolled_down = metadata == UNIFORM_ROLLED_DOWN ? TRUE : FALSE
|
||||
|
||||
if(uniform.rolled_sleeves == 1)
|
||||
uniform.handle_rollsleeves()
|
||||
if(uniform.rolled_down == 1)
|
||||
uniform.handle_rollsuit()
|
||||
|
||||
#undef UNIFORM_UNROLLED
|
||||
#undef UNIFORM_ROLLED_SLEEVES
|
||||
#undef UNIFORM_ROLLED_DOWN
|
||||
|
||||
Reference in New Issue
Block a user