mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-23 13:10:02 +01:00
Adds hardcore random mode: Earn your way onto a score-board with difficult random characters (#50606)
* start * done * done * gold wheelchair * mats * icons * Update code/datums/achievements/hardcore_random.dm Co-Authored-By: ATH1909 <42606352+ATH1909@users.noreply.github.com> * fixes * Update code/controllers/subsystem/processing/quirks.dm Co-Authored-By: spookydonut <github@spooksoftware.com> * proc * Update code/__HELPERS/roundend.dm Co-Authored-By: spookydonut <github@spooksoftware.com> * Update code/__HELPERS/roundend.dm Co-Authored-By: spookydonut <github@spooksoftware.com> * playtime stuff * Update code/__HELPERS/roundend.dm Co-Authored-By: Rohesie <rohesie@gmail.com> * Update code/__HELPERS/roundend.dm Co-Authored-By: Rohesie <rohesie@gmail.com> * Update code/__HELPERS/roundend.dm Co-Authored-By: Rohesie <rohesie@gmail.com> * Update code/datums/traits/_quirk.dm Co-Authored-By: Rohesie <rohesie@gmail.com> * Update code/datums/traits/negative.dm Co-Authored-By: Rohesie <rohesie@gmail.com> * Update code/modules/client/preferences.dm Co-Authored-By: Rohesie <rohesie@gmail.com> * Update code/modules/client/preferences.dm Co-Authored-By: Rohesie <rohesie@gmail.com> * Update code/modules/client/preferences.dm Co-Authored-By: Rohesie <rohesie@gmail.com> * fixes * done * fix * removes u * Update code/modules/client/preferences_savefile.dm Co-Authored-By: Rohesie <rohesie@gmail.com> * overlay * Update code/modules/mob/dead/new_player/preferences_setup.dm Co-Authored-By: Rohesie <rohesie@gmail.com> * Update code/modules/mob/dead/new_player/preferences_setup.dm Co-Authored-By: Rohesie <rohesie@gmail.com> * less braindead code * woops * Update code/__HELPERS/roundend.dm Co-authored-by: Rohesie <rohesie@gmail.com> * Update code/__HELPERS/roundend.dm Co-authored-by: Rohesie <rohesie@gmail.com> * Update code/controllers/subsystem/ticker.dm Co-authored-by: Rohesie <rohesie@gmail.com> * done Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com> Co-authored-by: spookydonut <github@spooksoftware.com> Co-authored-by: Rohesie <rohesie@gmail.com>
This commit is contained in:
co-authored by
ATH1909
spookydonut
Rohesie
parent
529c75c564
commit
3803d6a817
@@ -12,7 +12,9 @@ PROCESSING_SUBSYSTEM_DEF(quirks)
|
||||
var/list/quirks = list() //Assoc. list of all roundstart quirk datum types; "name" = /path/
|
||||
var/list/quirk_points = list() //Assoc. list of quirk names and their "point cost"; positive numbers are good traits, and negative ones are bad
|
||||
var/list/quirk_objects = list() //A list of all quirk objects in the game, since some may process
|
||||
var/list/quirk_blacklist = list() //A list a list of quirks that can not be used with each other. Format: list(quirk1,quirk2),list(quirk3,quirk4)
|
||||
var/list/quirk_blacklist = list() //A list of quirks that can not be used with each other. Format: list(quirk1,quirk2),list(quirk3,quirk4)
|
||||
///An assoc list of quirks that can be obtained as a hardcore character, and their hardcore value.
|
||||
var/list/hardcore_quirks = list()
|
||||
|
||||
/datum/controller/subsystem/processing/quirks/Initialize(timeofday)
|
||||
if(!quirks.len)
|
||||
@@ -30,6 +32,12 @@ PROCESSING_SUBSYSTEM_DEF(quirks)
|
||||
quirks[initial(T.name)] = T
|
||||
quirk_points[initial(T.name)] = initial(T.value)
|
||||
|
||||
var/hardcore_value = initial(T.hardcore_value)
|
||||
|
||||
if(!hardcore_value)
|
||||
continue
|
||||
hardcore_quirks[T] += hardcore_value
|
||||
|
||||
/datum/controller/subsystem/processing/quirks/proc/AssignQuirks(mob/living/user, client/cli, spawn_effects)
|
||||
var/badquirk = FALSE
|
||||
for(var/V in cli.prefs.all_quirks)
|
||||
@@ -43,6 +51,10 @@ PROCESSING_SUBSYSTEM_DEF(quirks)
|
||||
if(badquirk)
|
||||
cli.prefs.save_character()
|
||||
|
||||
if(ishuman(user))
|
||||
var/mob/living/carbon/human/human = user
|
||||
human.hardcore_survival_score = cli.prefs.hardcore_survival_score //Only do this if we actually asign quirks, to prevent sillicons etc from getting the points.
|
||||
|
||||
// Assign wayfinding pinpointer granting quirk if they're new
|
||||
if(cli.get_exp_living(TRUE) < EXP_ASSIGN_WAYFINDER && !user.has_quirk(/datum/quirk/needswayfinder))
|
||||
user.add_quirk(/datum/quirk/needswayfinder, TRUE)
|
||||
|
||||
Reference in New Issue
Block a user