Skip to content

Commit

Permalink
Merge pull request #3753 from MistakeNot4892/fix/accessories
Browse files Browse the repository at this point in the history
Minor fixes to accessories
  • Loading branch information
out-of-phaze authored Feb 28, 2024
2 parents d2f80aa + efddced commit 31ef145
Show file tree
Hide file tree
Showing 5 changed files with 13 additions and 15 deletions.
3 changes: 2 additions & 1 deletion code/game/objects/structures/fires.dm
Original file line number Diff line number Diff line change
Expand Up @@ -148,13 +148,14 @@
burn(user)
else
visible_message(SPAN_NOTICE("\The [user] removes \the [removing] from \the [src]."))
update_icon()
return TRUE

if(lit != FIRE_LIT && user.a_intent == I_HURT)
to_chat(user, SPAN_DANGER("You start stomping on \the [src], trying to destroy it."))
if(do_after(user, 5 SECONDS, src))
visible_message(SPAN_DANGER("\The [user] stamps and kicks at \the [src] until it is completely destroyed."))
qdel(src)
physically_destroyed()
return TRUE

return ..()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@
if(check)
pref.real_name = check.sanitize_cultural_name(pref.real_name, pref.species)
if(!pref.real_name)
pref.real_name = check.get_random_name(preference_mob(), pref.gender)
pref.real_name = check.get_random_name(get_mannequin(pref.client?.ckey), pref.gender)

/datum/category_item/player_setup_item/background/culture/load_character(datum/pref_record_reader/R)
for(var/token in ALL_CULTURAL_TAGS)
Expand Down
16 changes: 8 additions & 8 deletions code/modules/client/preference_setup/general/02_body.dm
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@
var/low_skin_tone = mob_bodytype ? (35 - mob_bodytype.max_skin_tone()) : -185
sanitize_integer(pref.skin_tone, low_skin_tone, 34, initial(pref.skin_tone))

var/pref_mob = preference_mob()
var/acc_mob = get_mannequin(pref.client?.ckey)
LAZYINITLIST(pref.sprite_accessories)
for(var/acc_cat in pref.sprite_accessories)
if(!(acc_cat in mob_species.available_accessory_categories))
Expand All @@ -111,7 +111,7 @@
var/decl/sprite_accessory_category/accessory_category = GET_DECL(acc_cat)
for(var/acc in pref.sprite_accessories[acc_cat])
var/decl/sprite_accessory/accessory = GET_DECL(acc)
if(!istype(accessory, accessory_category.base_accessory_type) || !accessory.accessory_is_available(pref_mob, mob_species, mob_bodytype))
if(!istype(accessory, accessory_category.base_accessory_type) || !accessory.accessory_is_available(acc_mob, mob_species, mob_bodytype))
pref.sprite_accessories[acc_cat] -= acc

for(var/accessory_category in mob_species.available_accessory_categories)
Expand Down Expand Up @@ -260,7 +260,7 @@
return TOPIC_REFRESH_UPDATE_PREVIEW

else if(href_list["random"])
pref.randomize_appearance_and_body_for(preference_mob())
pref.randomize_appearance_and_body_for(get_mannequin(pref.client?.ckey))
return TOPIC_REFRESH_UPDATE_PREVIEW

else if(href_list["blood_type"])
Expand Down Expand Up @@ -303,8 +303,8 @@

else if(href_list["acc_style"])

var/decl/sprite_accessory/new_accessory = input(user, "Choose an accessory:", CHARACTER_PREFERENCE_INPUT_TITLE) as null|anything in pref.get_usable_sprite_accessories(preference_mob(), mob_species, mob_bodytype, accessory_category.type, current_accessories - accessory_decl.type)
if(!(new_accessory in pref.get_usable_sprite_accessories(preference_mob(), mob_species, mob_bodytype, accessory_category.type, current_accessories)))
var/decl/sprite_accessory/new_accessory = input(user, "Choose an accessory:", CHARACTER_PREFERENCE_INPUT_TITLE) as null|anything in pref.get_usable_sprite_accessories(get_mannequin(pref.client?.ckey), mob_species, mob_bodytype, accessory_category.type, current_accessories - accessory_decl?.type)
if(!(new_accessory in pref.get_usable_sprite_accessories(get_mannequin(pref.client?.ckey), mob_species, mob_bodytype, accessory_category.type, current_accessories)))
return TOPIC_NOACTION
var/style_colour = (accessory_decl && current_accessories[accessory_decl.type]) || accessory_category.default_accessory_color
if(accessory_category.single_selection)
Expand All @@ -318,7 +318,7 @@
return TOPIC_NOACTION
var/decl/sprite_accessory/next_accessory_decl
var/style_colour = current_accessories[accessory_decl.type]
var/list/available_accessories = pref.get_usable_sprite_accessories(preference_mob(), mob_species, mob_bodytype, accessory_category.type, current_accessories - accessory_decl.type)
var/list/available_accessories = pref.get_usable_sprite_accessories(get_mannequin(pref.client?.ckey), mob_species, mob_bodytype, accessory_category.type, current_accessories - accessory_decl?.type)
if(href_list["acc_next"])
next_accessory_decl = next_in_list(accessory_decl, available_accessories)
else if(href_list["acc_prev"])
Expand Down Expand Up @@ -388,7 +388,7 @@
pref.skin_colour = new_skin
return TOPIC_REFRESH_UPDATE_PREVIEW

/datum/preferences/proc/get_usable_sprite_accessories(mob/pref_mob, decl/species/mob_species, decl/bodytype/mob_bodytype, accessory_category, list/existing_accessories)
/datum/preferences/proc/get_usable_sprite_accessories(mob/acc_mob, decl/species/mob_species, decl/bodytype/mob_bodytype, accessory_category, list/existing_accessories)
var/decl/sprite_accessory_category/accessory_category_decl = GET_DECL(accessory_category)
if(!istype(accessory_category_decl))
return
Expand All @@ -402,5 +402,5 @@
if(accessory in existing_accessories)
continue
var/decl/sprite_accessory/accessory_decl = all_accessories[accessory]
if(istype(accessory_decl) && !is_type_in_list(accessory_decl, disallowed_accessories) && accessory_decl.accessory_is_available(pref_mob, mob_species, mob_bodytype))
if(istype(accessory_decl) && !is_type_in_list(accessory_decl, disallowed_accessories) && accessory_decl.accessory_is_available(acc_mob, mob_species, mob_bodytype))
LAZYADD(., accessory_decl)
5 changes: 1 addition & 4 deletions code/modules/client/preference_setup/global/01_ui.dm
Original file line number Diff line number Diff line change
Expand Up @@ -114,10 +114,7 @@ var/global/list/valid_icon_sizes = list(32, 48, 64, 96, 128)
var/new_fps = input(user, "Choose your desired fps.[version_message]\n(0 = synced with server tick rate (currently:[world.fps]))", "Global Preference") as num|null
if (isnum(new_fps) && CanUseTopic(user))
pref.clientfps = clamp(new_fps, CLIENT_MIN_FPS, CLIENT_MAX_FPS)

var/mob/target_mob = preference_mob()
if(target_mob && target_mob.client)
target_mob.client.apply_fps(pref.clientfps)
pref.client?.apply_fps(pref.clientfps)
return TOPIC_REFRESH

else if(href_list["select_tooltip_style"])
Expand Down
2 changes: 1 addition & 1 deletion code/modules/mob/new_player/preferences_setup.dm
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@
mannequin.compile_overlays()

/datum/preferences/proc/update_preview_icon()
var/mob/living/carbon/human/dummy/mannequin/mannequin = get_mannequin(client_ckey)
var/mob/living/carbon/human/dummy/mannequin/mannequin = get_mannequin(client?.ckey)
if(mannequin)
mannequin.delete_inventory(TRUE)
dress_preview_mob(mannequin)
Expand Down

0 comments on commit 31ef145

Please sign in to comment.