Add Work Hard, Party Harder quirk (#32290)

* Add Work Hard, Party Harder quirk

* Update conflicts and whitespace.

* Run Prettier.

* Build TGUI.

* Actually prevent selecting conflicting quirks.

* Apply fixes from @warriorstar-orion. Thanks!

* Run Prettier.

* app

Co-authored-by: CRUNCH <143041327+CRUNCH-Borg@users.noreply.github.com>
Signed-off-by: Alan <alfalfascout@users.noreply.github.com>

---------

Signed-off-by: Alan <alfalfascout@users.noreply.github.com>
Co-authored-by: CRUNCH <143041327+CRUNCH-Borg@users.noreply.github.com>
This commit is contained in:
Alan
2026-08-28 23:40:38 +00:00
committed by GitHub
co-authored by CRUNCH
parent c8dfcdac13
commit 4045c8177d
9 changed files with 42 additions and 7 deletions
@@ -151,3 +151,10 @@
cost = -1
trait_to_apply = TRAIT_NEARSIGHT
species_flags = QUIRK_SLIME_INCOMPATIBLE
/datum/quirk/work_hard_party_harder
name = "Work Hard, Party Harder"
desc = "You party like there's no tomorrow every day, the consequences are a problem for future you! When the shift starts, you will always wake up in a random part of the station, drunk."
cost = -1
trait_to_apply = TRAIT_WORK_HARD_PARTY_HARDER
conflicting_quirks = list(/datum/quirk/temperate_partier)
@@ -202,3 +202,4 @@
desc = "You never wake up drunk in an unrelated department. You know better than to drink like that on a work night."
cost = 1
trait_to_apply = TRAIT_TEMPERATE_PARTIER
conflicting_quirks = list(/datum/quirk/work_hard_party_harder)
@@ -26,6 +26,8 @@ GLOBAL_LIST_EMPTY(quirk_paths)
var/organ_slot_to_remove
/// If the quirk should spawn a mob with the player.
var/mob_to_spawn
/// What quirks cannot be taken with this quirk.
var/list/conflicting_quirks
/datum/quirk/Destroy(force, ...)
remove_quirk_effects()
@@ -115,6 +117,11 @@ GLOBAL_LIST_EMPTY(quirk_paths)
if((to_add.species_flags & QUIRK_PLASMAMAN_INCOMPATIBLE) && (active_character.species == "Plasmaman")) //If someone can figure out how to only let plasmaman with a secondary language take this feel free to do that
to_chat(src.client, SPAN_WARNING("You can't put that quirk on a plasmaman, you have no species language!"))
return FALSE
if(to_add.conflicting_quirks)
for(var/datum/quirk/existing_quirk in active_character.quirks)
if(existing_quirk.type in to_add.conflicting_quirks)
to_chat(src.client, SPAN_WARNING("You can't take that quirk at the same time as [existing_quirk::name]!"))
return FALSE
active_character.quirks += to_add
return TRUE