mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-12 16:44:43 +01:00
[MIRROR] Quirks are passed an incoming client when applied, allowing quirks to read preferences in add and add_unique. Renders visual quirks on the preference menu dummy. [MDB IGNORE] (#18311)
* Quirks are passed an incoming client when applied, allowing quirks to read preferences in `add` and `add_unique`. Renders visual quirks on the preference menu dummy. * fixes quirk order to match upstream * Modular quirk updates Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> Co-authored-by: tastyfish <crazychris32@gmail.com>
This commit is contained in:
@@ -76,19 +76,19 @@ PROCESSING_SUBSYSTEM_DEF(quirks)
|
||||
continue
|
||||
hardcore_quirks[quirk_type] += hardcore_value
|
||||
|
||||
/datum/controller/subsystem/processing/quirks/proc/AssignQuirks(mob/living/user, client/cli)
|
||||
/datum/controller/subsystem/processing/quirks/proc/AssignQuirks(mob/living/user, client/applied_client)
|
||||
var/badquirk = FALSE
|
||||
for(var/quirk_name in cli.prefs.all_quirks)
|
||||
var/datum/quirk/Q = quirks[quirk_name]
|
||||
if(Q)
|
||||
if(user.add_quirk(Q))
|
||||
for(var/quirk_name in applied_client.prefs.all_quirks)
|
||||
var/datum/quirk/quirk_type = quirks[quirk_name]
|
||||
if(ispath(quirk_type))
|
||||
if(user.add_quirk(quirk_type, override_client = applied_client))
|
||||
SSblackbox.record_feedback("nested tally", "quirks_taken", 1, list("[quirk_name]"))
|
||||
else
|
||||
stack_trace("Invalid quirk \"[quirk_name]\" in client [cli.ckey] preferences")
|
||||
cli.prefs.all_quirks -= quirk_name
|
||||
stack_trace("Invalid quirk \"[quirk_name]\" in client [applied_client.ckey] preferences")
|
||||
applied_client.prefs.all_quirks -= quirk_name
|
||||
badquirk = TRUE
|
||||
if(badquirk)
|
||||
cli.prefs.save_character()
|
||||
applied_client.prefs.save_character()
|
||||
|
||||
/*
|
||||
*Randomises the quirks for a specified mob
|
||||
@@ -169,7 +169,7 @@ PROCESSING_SUBSYSTEM_DEF(quirks)
|
||||
if (isnull(quirk))
|
||||
continue
|
||||
|
||||
if (initial(quirk.mood_quirk) && CONFIG_GET(flag/disable_human_mood))
|
||||
if ((initial(quirk.quirk_flags) & QUIRK_MOODLET_BASED) && CONFIG_GET(flag/disable_human_mood))
|
||||
continue
|
||||
|
||||
var/blacklisted = FALSE
|
||||
|
||||
Reference in New Issue
Block a user