Skip to content

Commit

Permalink
uPDATE
Browse files Browse the repository at this point in the history
  • Loading branch information
AndroBetel committed Aug 24, 2024
1 parent 18f7479 commit 6c8d1ea
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 19 deletions.
37 changes: 24 additions & 13 deletions code/modules/clothing/clothing_accessories.dm
Original file line number Diff line number Diff line change
Expand Up @@ -118,19 +118,32 @@

A.on_removed(user, src)
LAZYREMOVE(accessories, A)

var/any_removable = FALSE
for(var/obj/item/clothing/accessory/accessory in accessories)
if(accessory.removable)
any_removable = TRUE
break
if(!any_removable)
verbs -= /obj/item/clothing/proc/removetie_verb

update_clothing_icon()

/obj/item/clothing/proc/removetie_verb()
set name = "Remove Accessory"
set category = "Object"
set src in usr
if(!isliving(usr))

remove_accessory(usr, pick_accessory_to_remove(usr, usr))

/obj/item/clothing/proc/pick_accessory_to_remove(mob/user, mob/targetmob)
if(!isliving(user))
return
if(usr.stat)
if(user.stat)
return
if(!LAZYLEN(accessories))
return
var/obj/item/clothing/accessory/A
var/obj/item/clothing/accessory/accessory
var/list/removables = list()
var/list/choice_to_accessory = list()
for(var/obj/item/clothing/accessory/ass in accessories)
Expand All @@ -141,18 +154,16 @@
choice_to_accessory[capitalized_name] = ass

if(LAZYLEN(removables) > 1)
var/use_radials = usr.client.prefs?.no_radials_preference ? FALSE : TRUE
var/choice = use_radials ? show_radial_menu(usr, src, removables, require_near = TRUE) : tgui_input_list(usr, "Select an accessory to remove from [src]", "Remove accessory", removables)
A = choice_to_accessory[choice]
var/use_radials = user.client.prefs?.no_radials_preference ? FALSE : TRUE
var/choice = use_radials ? show_radial_menu(user, targetmob, removables, require_near = FALSE) : tgui_input_list(user, "Select an accessory to remove from [src]", "Remove accessory", removables)
accessory = choice_to_accessory[choice]
else
A = choice_to_accessory[removables[1]]
if(!usr.Adjacent(src))
to_chat(usr, SPAN_WARNING("You're too far away!"))
accessory = choice_to_accessory[removables[1]]
if(!user.Adjacent(src))
to_chat(user, SPAN_WARNING("You're too far away!"))
return
src.remove_accessory(usr,A)
removables -= A
if(!removables.len)
verbs -= /obj/item/clothing/proc/removetie_verb

return accessory

/obj/item/clothing/emp_act(severity)
. = ..()
Expand Down
11 changes: 5 additions & 6 deletions code/modules/mob/living/carbon/human/human_stripping.dm
Original file line number Diff line number Diff line change
Expand Up @@ -129,13 +129,12 @@ GLOBAL_LIST_INIT(strippable_human_items, create_strippable_list(list(
return

var/obj/item/clothing/under/uniform = sourcemob.w_uniform
if(!LAZYLEN(uniform.accessories))
return FALSE
var/obj/item/clothing/accessory/accessory = LAZYACCESS(uniform.accessories, 1)
if(LAZYLEN(uniform.accessories) > 1)
accessory = tgui_input_list(user, "Select an accessory to remove from [uniform]", "Remove accessory", uniform.accessories)
if(!istype(accessory))

var/obj/item/clothing/accessory/accessory = uniform.pick_accessory_to_remove(user, sourcemob)

if(!accessory)
return

sourcemob.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has had their accessory ([accessory]) removed by [key_name(user)]</font>")
user.attack_log += text("\[[time_stamp()]\] <font color='red'>Attempted to remove [key_name(sourcemob)]'s' accessory ([accessory])</font>")
if(istype(accessory, /obj/item/clothing/accessory/holobadge) || istype(accessory, /obj/item/clothing/accessory/medal))
Expand Down

0 comments on commit 6c8d1ea

Please sign in to comment.