Merge pull request #15624 from timothyteakettle/better-quirk-menu
quirks are now organised into three tabs for positive, neutral and negative
This commit is contained in:
@@ -153,6 +153,9 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
//Quirk list
|
||||
var/list/all_quirks = list()
|
||||
|
||||
//Quirk category currently selected
|
||||
var/quirk_category = QUIRK_POSITIVE // defaults to positive, the first tab!
|
||||
|
||||
//Job preferences 2.0 - indexed by job title , no key or value implies never
|
||||
var/list/job_preferences = list()
|
||||
|
||||
@@ -1464,9 +1467,17 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
dat += "<hr>"
|
||||
dat += "<center><b>Current quirks:</b> [all_quirks.len ? all_quirks.Join(", ") : "None"]</center>"
|
||||
dat += "<center>[GetPositiveQuirkCount()] / [MAX_QUIRKS] max positive quirks<br>\
|
||||
<b>Quirk balance remaining:</b> [GetQuirkBalance()]</center><br>"
|
||||
<b>Quirk balance remaining:</b> [GetQuirkBalance()]<br>"
|
||||
dat += " <a href='?_src_=prefs;quirk_category=[QUIRK_POSITIVE]' [quirk_category == QUIRK_POSITIVE ? "class='linkOn'" : ""]>[QUIRK_POSITIVE]</a> "
|
||||
dat += " <a href='?_src_=prefs;quirk_category=[QUIRK_NEUTRAL]' [quirk_category == QUIRK_NEUTRAL ? "class='linkOn'" : ""]>[QUIRK_NEUTRAL]</a> "
|
||||
dat += " <a href='?_src_=prefs;quirk_category=[QUIRK_NEGATIVE]' [quirk_category == QUIRK_NEGATIVE ? "class='linkOn'" : ""]>[QUIRK_NEGATIVE]</a> "
|
||||
dat += "</center><br>"
|
||||
for(var/V in SSquirks.quirks)
|
||||
var/datum/quirk/T = SSquirks.quirks[V]
|
||||
var/value = initial(T.value)
|
||||
if((value > 0 && quirk_category != QUIRK_POSITIVE) || (value < 0 && quirk_category != QUIRK_NEGATIVE) || (value == 0 && quirk_category != QUIRK_NEUTRAL))
|
||||
continue
|
||||
|
||||
var/quirk_name = initial(T.name)
|
||||
var/has_quirk
|
||||
var/quirk_cost = initial(T.value) * -1
|
||||
@@ -1488,7 +1499,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
quirk_cost = "+[quirk_cost]"
|
||||
var/font_color = "#AAAAFF"
|
||||
if(initial(T.value) != 0)
|
||||
font_color = initial(T.value) > 0 ? "#AAFFAA" : "#FFAAAA"
|
||||
font_color = value > 0 ? "#AAFFAA" : "#FFAAAA"
|
||||
if(quirk_conflict)
|
||||
dat += "<font color='[font_color]'>[quirk_name]</font> - [initial(T.desc)] \
|
||||
<font color='red'><b>LOCKED: [lock_reason]</b></font><br>"
|
||||
@@ -1618,6 +1629,12 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
SetQuirks(user)
|
||||
return TRUE
|
||||
|
||||
else if(href_list["quirk_category"])
|
||||
var/temp_quirk_category = href_list["quirk_category"]
|
||||
if(temp_quirk_category == QUIRK_POSITIVE || temp_quirk_category == QUIRK_NEUTRAL || temp_quirk_category == QUIRK_NEGATIVE)
|
||||
quirk_category = temp_quirk_category
|
||||
SetQuirks(user)
|
||||
|
||||
switch(href_list["task"])
|
||||
if("random")
|
||||
switch(href_list["preference"])
|
||||
|
||||
Reference in New Issue
Block a user