mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-12 16:44:43 +01:00
Ashwalkers are now desensetized to non-ashie deaths, and enjoy witnessing gibbings (#94961)
## About The Pull Request Closes #94785 Also apparently we never passed dusted and gibbed to update_effects, so more specific death moodlets didn't update their descriptions. Whoops. ## Changelog 🆑 qol: Ashwalkers are now desensetized to non-ashie deaths, and enjoy witnessing gibbings fix: Some specific death moodlets now properly register when their target has been dusted or gibbed in their description /🆑
This commit is contained in:
@@ -1641,4 +1641,7 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai
|
||||
/// Object is dangerous to mobs buckled to it
|
||||
#define TRAIT_DANGEROUS_BUCKLE "dangerous_buckle"
|
||||
|
||||
/// Makes the owner desensetized to death, but happy whenever someone gets blown to pieces (as a sacrifice to the necropolis) unless its another worshipper
|
||||
#define TRAIT_NECROPOLIS_WORSHIP "necropolis_worship"
|
||||
|
||||
// END TRAIT DEFINES
|
||||
|
||||
@@ -658,6 +658,7 @@ GLOBAL_LIST_INIT(traits_by_type, list(
|
||||
"TRAIT_FAT_IGNORE_SLOWDOWN" = TRAIT_FAT_IGNORE_SLOWDOWN,
|
||||
"TRAIT_SPACE_ANT_IMMUNITY" = TRAIT_SPACE_ANT_IMMUNITY,
|
||||
"TRAIT_BRAIN_TRAUMA_IMMUNITY" = TRAIT_BRAIN_TRAUMA_IMMUNITY,
|
||||
"TRAIT_NECROPOLIS_WORSHIP" = TRAIT_NECROPOLIS_WORSHIP,
|
||||
),
|
||||
/mob/living/carbon = list(
|
||||
"TRAIT_BRAINLESS_CARBON" = TRAIT_BRAINLESS_CARBON,
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
#define PET_PRIORITY 30
|
||||
#define XENO_PRIORITY 35
|
||||
#define DONTCARE_PRIORITY 40
|
||||
#define ASHWALKER_PRIORITY 50
|
||||
#define GAMER_PRIORITY 80
|
||||
#define REVOLUTIONARY_PRIORITY 85
|
||||
#define CULT_PRIORITY 90
|
||||
@@ -25,7 +26,7 @@
|
||||
return TRUE
|
||||
|
||||
/datum/mood_event/conditional/see_death/add_effects(mob/dead_mob, dusted, gibbed)
|
||||
update_effect(dead_mob)
|
||||
update_effect(dead_mob, dusted, gibbed)
|
||||
|
||||
if(HAS_TRAIT(dead_mob, TRAIT_SPAWNED_MOB))
|
||||
mood_change *= 0.25
|
||||
@@ -50,7 +51,7 @@
|
||||
description = capitalize(replacetext(description, "%DEAD_MOB%", get_descriptor(dead_mob)))
|
||||
|
||||
/// Blank proc which allows conditional effects to modify mood, timeout, or description before the main effect is applied
|
||||
/datum/mood_event/conditional/see_death/proc/update_effect(mob/dead_mob)
|
||||
/datum/mood_event/conditional/see_death/proc/update_effect(mob/dead_mob, dusted, gibbed)
|
||||
return
|
||||
|
||||
/// Checks if the dead mob is a pet
|
||||
@@ -94,7 +95,7 @@
|
||||
/datum/mood_event/conditional/see_death/naive/condition_fulfilled(mob/living/who, mob/dead_mob, dusted, gibbed)
|
||||
return HAS_MIND_TRAIT(who, TRAIT_NAIVE) && !dusted && !gibbed
|
||||
|
||||
/datum/mood_event/conditional/see_death/naive/update_effect(mob/dead_mob)
|
||||
/datum/mood_event/conditional/see_death/naive/update_effect(mob/dead_mob, dusted, gibbed)
|
||||
description = "Have a good nap, [get_descriptor(dead_mob)]."
|
||||
|
||||
/// Cultists are super brainwashed so they get buffs instead
|
||||
@@ -118,7 +119,7 @@
|
||||
/datum/mood_event/conditional/see_death/revolutionary/condition_fulfilled(mob/living/who, mob/dead_mob, dusted, gibbed)
|
||||
return IS_REVOLUTIONARY(who) && (dead_mob.mind?.assigned_role.job_flags & JOB_HEAD_OF_STAFF)
|
||||
|
||||
/datum/mood_event/conditional/see_death/revolutionary/update_effect(mob/dead_mob)
|
||||
/datum/mood_event/conditional/see_death/revolutionary/update_effect(mob/dead_mob, dusted, gibbed)
|
||||
var/datum/job/possible_head_job = dead_mob.mind?.assigned_role
|
||||
description = "[possible_head_job.title ? "The [LOWER_TEXT(possible_head_job.title)]" : "Another head of staff"] is dead! Long live the revolution!"
|
||||
|
||||
@@ -152,6 +153,23 @@
|
||||
else
|
||||
description = "Oh, %DEAD_MOB% died. Shame, I guess."
|
||||
|
||||
/// Ashwalkers get a small boost from sacrificing people to the necropolis spire, and don't care otherwise
|
||||
/datum/mood_event/conditional/see_death/ashwalker
|
||||
priority = ASHWALKER_PRIORITY
|
||||
mood_change = 0
|
||||
|
||||
/datum/mood_event/conditional/see_death/ashwalker/condition_fulfilled(mob/living/who, mob/dead_mob, dusted, gibbed)
|
||||
return HAS_TRAIT(who, TRAIT_NECROPOLIS_WORSHIP) && !HAS_TRAIT(dead_mob, TRAIT_NECROPOLIS_WORSHIP)
|
||||
|
||||
/datum/mood_event/conditional/see_death/ashwalker/update_effect(mob/dead_mob, dusted, gibbed)
|
||||
if(gibbed)
|
||||
description = "%DEAD_MOB% hasss been torn asssunder, glory to the Necropolisss!"
|
||||
mood_change = /datum/mood_event/conditional/see_death::mood_change * -0.5
|
||||
else if(dusted)
|
||||
description = "Oh, %DEAD_MOB% wasss vaporized."
|
||||
else
|
||||
description = "Oh, %DEAD_MOB% died. Ssshame, I guesss."
|
||||
|
||||
/// Pets take priority over normal death moodlets
|
||||
/datum/mood_event/conditional/see_death/pet
|
||||
priority = PET_PRIORITY
|
||||
@@ -276,6 +294,7 @@
|
||||
#undef PET_PRIORITY
|
||||
#undef XENO_PRIORITY
|
||||
#undef DONTCARE_PRIORITY
|
||||
#undef ASHWALKER_PRIORITY
|
||||
#undef GAMER_PRIORITY
|
||||
#undef REVOLUTIONARY_PRIORITY
|
||||
#undef CULT_PRIORITY
|
||||
|
||||
@@ -506,6 +506,7 @@
|
||||
TRAIT_EXPERT_FISHER, // live off land, fish from river
|
||||
TRAIT_ROUGHRIDER, // ride beast, chase down prey, flee from danger
|
||||
TRAIT_BEAST_EMPATHY, // know the way of beast, calm with food
|
||||
TRAIT_NECROPOLIS_WORSHIP,
|
||||
TRAIT_TACKLING_TAILED_DEFENDER,
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user