diff --git a/code/datums/outfits/outfit.dm b/code/datums/outfits/outfit.dm index ef7e9ea8ee9..b27093934e0 100644 --- a/code/datums/outfits/outfit.dm +++ b/code/datums/outfits/outfit.dm @@ -127,7 +127,8 @@ var/list/outfits_decls_by_type_ if(gloves) H.equip_to_slot_or_del(new gloves(H),slot_gloves) if(shoes) - H.equip_to_slot_or_del(new shoes(H),slot_shoes) + if(!(H.client?.prefs?.shoe_hater)) //RS ADD + H.equip_to_slot_or_del(new shoes(H),slot_shoes) if(mask) H.equip_to_slot_or_del(new mask(H),slot_wear_mask) if(head) diff --git a/code/game/jobs/job_controller.dm b/code/game/jobs/job_controller.dm index 8f1f409b66a..6091fc0e7b3 100644 --- a/code/game/jobs/job_controller.dm +++ b/code/game/jobs/job_controller.dm @@ -430,6 +430,8 @@ var/global/datum/controller/occupations/job_master //if(G.slot == slot_wear_mask || G.slot == slot_wear_suit || G.slot == slot_head) // custom_equip_leftovers += thing //else + if(G.slot == slot_shoes && H.client?.prefs?.shoe_hater) //RS ADD + continue if(H.equip_to_slot_or_del(G.spawn_item(H, metadata), G.slot)) to_chat(H, "Equipping you with \the [thing]!") if(G.slot != slot_tie) @@ -455,6 +457,8 @@ var/global/datum/controller/occupations/job_master // If some custom items could not be equipped before, try again now. for(var/thing in custom_equip_leftovers) var/datum/gear/G = gear_datums[thing] + if(G.slot == slot_shoes && H.client?.prefs?.shoe_hater) //RS ADD + continue if(G.slot in custom_equip_slots) spawn_in_storage += thing else diff --git a/code/modules/client/preference_setup/general/04_equipment.dm b/code/modules/client/preference_setup/general/04_equipment.dm index be0cc95a40a..692e4f7d57b 100644 --- a/code/modules/client/preference_setup/general/04_equipment.dm +++ b/code/modules/client/preference_setup/general/04_equipment.dm @@ -13,6 +13,7 @@ S["pdachoice"] >> pref.pdachoice S["communicator_visibility"] >> pref.communicator_visibility S["ringtone"] >> pref.ringtone + S["shoe_hater"] >> pref.shoe_hater //RS ADD /datum/category_item/player_setup_item/general/equipment/save_character(var/savefile/S) S["all_underwear"] << pref.all_underwear @@ -21,6 +22,7 @@ S["pdachoice"] << pref.pdachoice S["communicator_visibility"] << pref.communicator_visibility S["ringtone"] << pref.ringtone + S["shoe_hater"] << pref.shoe_hater //RS ADD var/global/list/valid_ringtones = list( "beep", @@ -120,6 +122,7 @@ var/global/list/valid_ringtones = list( . += "PDA Type: [pdachoicelist[pref.pdachoice]]
" . += "Communicator Visibility: [(pref.communicator_visibility) ? "Yes" : "No"]
" . += "Ringtone (leave blank for job default): [pref.ringtone]
" + . += "Spawn With Shoes:[(pref.shoe_hater) ? "No" : "Yes"]
" //RS Addition return jointext(.,null) @@ -188,5 +191,10 @@ var/global/list/valid_ringtones = list( else pref.ringtone = choice return TOPIC_REFRESH + else if(href_list["toggle_shoes"]) //RS ADD START + if(CanUseTopic(user)) + pref.shoe_hater = !pref.shoe_hater + return TOPIC_REFRESH + //RS ADD END return ..() diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 275c1b095cd..70a93c819bb 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -50,6 +50,7 @@ var/list/preferences_datums = list() var/blood_reagents = "default" //blood restoration reagents var/backbag = 2 //backpack type var/pdachoice = 1 //PDA type + var/shoe_hater = FALSE //RS ADD - if true, will spawn with no shoes var/h_style = "Bald" //Hair type var/r_hair = 0 //Hair color var/g_hair = 0 //Hair color