From fcad08160e6227e96aedbbc2be10808f46dc6054 Mon Sep 17 00:00:00 2001 From: John Willard <53777086+JohnFulpWillard@users.noreply.github.com> Date: Sun, 13 Apr 2025 16:19:27 -0400 Subject: [PATCH] Adds a blood level hud for vamp & soulscythe (#90578) ## About The Pull Request Replaces the stat panel entries for soulscythes & vampires to show their blood level, with a HUD instead. The sprite was taken from Bloodsuckers which they use to also show their own blood level, which is what gave me the idea. Also makes soulscythe use the living level ``blood_volume`` instead of their own snowflake var meant to do the same thing. Vampire ![image](https://github.com/user-attachments/assets/4ec75929-ad58-44ec-a817-1fd1ec5a4f11) Soulscythe ![image](https://github.com/user-attachments/assets/5d04a8d5-0cfc-46a8-ab2c-c0a08f4e6d00) ## Why It's Good For The Game Helps move away reliance on the stat panel & makes this information more obvious to the player. The stat panel in general isn't a good place to put this stuff as it obfuscates it as a feature for players who either are on a different tab or simply don't know to look there. ## Changelog :cl: TheSwain, JohnFulpWillard qol: Soulscythes and Vampires now have a blood hud on the left side of their screen rather than a stat panel entry stating how much blood they have. /:cl: --- code/__DEFINES/hud.dm | 1 + code/_onclick/hud/screen_objects.dm | 30 ++++++++++++++++++ code/_onclick/hud/soulscythe.dm | 4 +++ .../mining_loot/megafauna/bubblegum.dm | 16 ++++------ .../carbon/human/species_types/vampire.dm | 27 +++++++++------- icons/hud/screen_gen.dmi | Bin 112185 -> 113366 bytes tgstation.dme | 1 + 7 files changed, 57 insertions(+), 22 deletions(-) create mode 100644 code/_onclick/hud/soulscythe.dm diff --git a/code/__DEFINES/hud.dm b/code/__DEFINES/hud.dm index bbf74d561da..f2ba8d1c8ca 100644 --- a/code/__DEFINES/hud.dm +++ b/code/__DEFINES/hud.dm @@ -43,6 +43,7 @@ //Middle left indicators #define ui_lingchemdisplay "WEST,CENTER-1:15" #define ui_lingstingdisplay "WEST:6,CENTER-3:11" +#define ui_blooddisplay "WEST:6,CENTER:-2" //Lower center, persistent menu #define ui_sstore1 "CENTER-5:10,SOUTH:5" diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm index fab8de1c55c..ba319de6dc3 100644 --- a/code/_onclick/hud/screen_objects.dm +++ b/code/_onclick/hud/screen_objects.dm @@ -1104,3 +1104,33 @@ INITIALIZE_IMMEDIATE(/atom/movable/screen/splash) #undef HUNGER_STATE_HUNGRY #undef HUNGER_STATE_STARVING #undef HUNGER_STATE_VERY_HUNGRY + +#define FORMAT_BLOOD_LEVEL_HUD_MAPTEXT(value) MAPTEXT("
[round(value,1)]
") + +/** + * Blood Level HUD + * + * Automatically registers to the mob's life and updates its maptext depending on the + * mob's blood. Used for mobs that + * 1- Should always know how much blood they have + * 2- Have their blood level changing every life tick (which is why we don't manually call updates). + */ +/atom/movable/screen/blood_level + name = "Blood Level" + icon_state = "blood_display" + screen_loc = ui_blooddisplay + +/atom/movable/screen/blood_level/Initialize(mapload, datum/hud/hud_owner) + . = ..() + if(isnull(hud_owner)) + return INITIALIZE_HINT_QDEL + RegisterSignal(hud_owner.mymob, COMSIG_LIVING_LIFE, PROC_REF(on_mob_life)) + +/atom/movable/screen/blood_level/proc/on_mob_life(mob/living/source, seconds_per_tick, times_fired) + SIGNAL_HANDLER + + if(!isliving(source)) + return + maptext = FORMAT_BLOOD_LEVEL_HUD_MAPTEXT(source.blood_volume) + +#undef FORMAT_BLOOD_LEVEL_HUD_MAPTEXT diff --git a/code/_onclick/hud/soulscythe.dm b/code/_onclick/hud/soulscythe.dm new file mode 100644 index 00000000000..7a98b416731 --- /dev/null +++ b/code/_onclick/hud/soulscythe.dm @@ -0,0 +1,4 @@ +/datum/hud/soulscythe/New(mob/living/simple_animal/soulscythe/owner) + . = ..() + var/atom/movable/screen/using = new /atom/movable/screen/blood_level(null, src) + static_inventory += using diff --git a/code/modules/mining/lavaland/mining_loot/megafauna/bubblegum.dm b/code/modules/mining/lavaland/mining_loot/megafauna/bubblegum.dm index 71ce1594305..62324089ccb 100644 --- a/code/modules/mining/lavaland/mining_loot/megafauna/bubblegum.dm +++ b/code/modules/mining/lavaland/mining_loot/megafauna/bubblegum.dm @@ -268,15 +268,15 @@ return TRUE /obj/item/soulscythe/proc/use_blood(amount = 0, message = TRUE) - if(amount > soul.blood_level) + if(amount > soul.blood_volume) if(message) to_chat(soul, span_warning("Not enough blood!")) return FALSE - soul.blood_level -= amount + soul.blood_volume -= amount return TRUE /obj/item/soulscythe/proc/give_blood(amount) - soul.blood_level = min(MAX_BLOOD_LEVEL, soul.blood_level + amount) + soul.blood_volume = min(MAX_BLOOD_LEVEL, soul.blood_volume + amount) /obj/item/soulscythe/proc/on_resist(mob/living/user) SIGNAL_HANDLER @@ -386,17 +386,13 @@ mob_biotypes = MOB_SPIRIT faction = list() weather_immunities = list(TRAIT_ASHSTORM_IMMUNE, TRAIT_SNOWSTORM_IMMUNE) - /// Blood level, used for movement and abilities in a soulscythe - var/blood_level = MAX_BLOOD_LEVEL - -/mob/living/simple_animal/soulscythe/get_status_tab_items() - . = ..() - . += "Blood: [blood_level]/[MAX_BLOOD_LEVEL]" + blood_volume = MAX_BLOOD_LEVEL + hud_type = /datum/hud/soulscythe /mob/living/simple_animal/soulscythe/Life(seconds_per_tick, times_fired) . = ..() if(!stat) - blood_level = min(MAX_BLOOD_LEVEL, blood_level + round(1 * seconds_per_tick)) + blood_volume = min(MAX_BLOOD_LEVEL, blood_volume + round(1 * seconds_per_tick)) /obj/projectile/soulscythe name = "soulslash" diff --git a/code/modules/mob/living/carbon/human/species_types/vampire.dm b/code/modules/mob/living/carbon/human/species_types/vampire.dm index 2c9bd61a401..e2ffbfccd3c 100644 --- a/code/modules/mob/living/carbon/human/species_types/vampire.dm +++ b/code/modules/mob/living/carbon/human/species_types/vampire.dm @@ -24,6 +24,8 @@ mutanttongue = /obj/item/organ/tongue/vampire ///some starter text sent to the vampire initially, because vampires have shit to do to stay alive var/info_text = "You are a Vampire. You will slowly but constantly lose blood if outside of a coffin. If inside a coffin, you will slowly heal. You may gain more blood by grabbing a live victim and using your drain ability." + /// UI displaying how much blood we have + var/atom/movable/screen/blood_level/blood_display /datum/species/human/vampire/check_roundstart_eligible() if(check_holidays(HALLOWEEN)) @@ -36,10 +38,15 @@ new_vampire.skin_tone = "albino" new_vampire.update_body(0) RegisterSignal(new_vampire, COMSIG_MOB_APPLY_DAMAGE_MODIFIERS, PROC_REF(damage_weakness)) + if(new_vampire.hud_used) + on_hud_created(new_vampire) + else + RegisterSignal(new_vampire, COMSIG_MOB_HUD_CREATED, PROC_REF(on_hud_created)) /datum/species/human/vampire/on_species_loss(mob/living/carbon/human/C, datum/species/new_species, pref_load) . = ..() UnregisterSignal(C, COMSIG_MOB_APPLY_DAMAGE_MODIFIERS) + QDEL_NULL(blood_display) /datum/species/human/vampire/spec_life(mob/living/carbon/human/vampire, seconds_per_tick, times_fired) . = ..() @@ -63,6 +70,14 @@ vampire.adjust_fire_stacks(3 * seconds_per_tick) vampire.ignite_mob() +///Gives the blood HUD to the vampire so they always know how much blood they have. +/datum/species/human/vampire/proc/on_hud_created(mob/source) + SIGNAL_HANDLER + var/datum/hud/blood_hud = source.hud_used + blood_display = new(null, blood_hud) + blood_hud.infodisplay += blood_display + blood_hud.show_hud(blood_hud.hud_version) + /datum/species/human/vampire/proc/damage_weakness(datum/source, list/damage_mods, damage_amount, damagetype, def_zone, sharpness, attack_direction, obj/item/attacking_item) SIGNAL_HANDLER @@ -203,17 +218,5 @@ name = "vampire heart" color = COLOR_CRAYON_BLACK -/obj/item/organ/heart/vampire/on_mob_insert(mob/living/carbon/receiver) - . = ..() - RegisterSignal(receiver, COMSIG_MOB_GET_STATUS_TAB_ITEMS, PROC_REF(get_status_tab_item)) - -/obj/item/organ/heart/vampire/on_mob_remove(mob/living/carbon/heartless) - . = ..() - UnregisterSignal(heartless, COMSIG_MOB_GET_STATUS_TAB_ITEMS) - -/obj/item/organ/heart/vampire/proc/get_status_tab_item(mob/living/carbon/source, list/items) - SIGNAL_HANDLER - items += "Blood Level: [source.blood_volume]/[BLOOD_VOLUME_MAXIMUM]" - #undef VAMPIRES_PER_HOUSE #undef VAMP_DRAIN_AMOUNT diff --git a/icons/hud/screen_gen.dmi b/icons/hud/screen_gen.dmi index f77266a28f167ff97f4e2acc1443cca04bc7e194..b0c3eeb9b1b4025d95a29761573fa96346b3449d 100644 GIT binary patch delta 24350 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 QAn<3q!_m6P()0ZP0K%|8o&W#< delta 23160 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

?rQ%FQFjSAx|5GHb_{Y$91=h$ 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