Bugfixes: Dronesay and Underwear/Socks in Character Setup (#2992)

This PR contains bugfixes for:

Drones being able to transmit empty messages when talking in local drone chat ("dronesay")
A possible runtime in dronesay, caused by a null-reference in player_list, or a mob not having a client
Underwear and Socks selection in Character Setup breaking when switching genders.
Character loadout is now sanitized each time before it gets displayed. Invalid selections will be reset to "None", when changing the character's gender.
This commit is contained in:
inselc
2017-07-10 19:13:02 +02:00
committed by skull132
parent a2717c11c5
commit 3e184c4eaf
4 changed files with 19 additions and 5 deletions

View File

@@ -118,6 +118,9 @@
else if(href_list["gender"])
pref.gender = next_in_list(pref.gender, valid_player_genders)
var/datum/category_item/player_setup_item/general/equipment/equipment_item = category.items[4]
equipment_item.sanitize_character() // sanitize equipment
return TOPIC_REFRESH
else if(href_list["age"])

View File

@@ -35,12 +35,11 @@
var/undies = get_undies()
var/gender_socks = get_gender_socks()
if(!get_key_by_value(undies, pref.underwear))
pref.underwear = undies[undies[1]]
pref.underwear = null
if(!get_key_by_value(undershirt_t, pref.undershirt))
pref.undershirt = undershirt_t[undershirt_t[1]]
if(!get_key_by_value(gender_socks, pref.socks))
pref.socks = gender_socks[gender_socks[1]]
pref.socks = null
/datum/category_item/player_setup_item/general/equipment/content()
. += "<b>Equipment:</b><br>"
@@ -49,7 +48,6 @@
. += "Socks: <a href='?src=\ref[src];change_socks=1'><b>[get_key_by_value(get_gender_socks(),pref.socks)]</b></a><br>"
. += "Backpack Type: <a href='?src=\ref[src];change_backpack=1'><b>[backbaglist[pref.backbag]]</b></a><br>"
/datum/category_item/player_setup_item/general/equipment/proc/get_undies()
return pref.gender == MALE ? underwear_m : underwear_f