Skip to content

Assorted DARKPACK TODOs and code cleanup#600

Merged
FalloutFalcon merged 25 commits intoDarkPack13:masterfrom
FalloutFalcon:some-todos
Feb 10, 2026
Merged

Assorted DARKPACK TODOs and code cleanup#600
FalloutFalcon merged 25 commits intoDarkPack13:masterfrom
FalloutFalcon:some-todos

Conversation

@FalloutFalcon
Copy link
Copy Markdown
Member

@FalloutFalcon FalloutFalcon commented Jan 29, 2026

About The Pull Request

Would atomize into diff prs but Im doing all of this on my laptop rn.

just a whole lotta random bullshit, bulk of it was ensuring BP is only interacted with via adjust_bloodpool
and alot of the rest was item interaction cleanup. item interactions being in attack procs will mess with melberts eventual swing combat pr he had planned (which i still hope for)

Why It's Good For The Game

should fix #401

Changelog

🆑
qol: first key checked on a door has no delay
fix: abyss tentacles should be able to acctually make a sound as intended
fix: fixed tranforming BP dupe
fix: typhon brew is craftable
fix: humanity 10 vamps wont burn in the sun (IF ENABLED VIA CONFIG)
image: blood hunt skull uses its onfloor
code: more non-combat item interactions are no longer in attack-by
code: all changes in BP should update your hud
/:cl:

@github-actions github-actions Bot added the Fix label Jan 29, 2026
@github-actions github-actions Bot added the Tools label Jan 29, 2026
@FalloutFalcon FalloutFalcon marked this pull request as ready for review January 29, 2026 10:17
@FalloutFalcon FalloutFalcon requested review from a team and XeonMations as code owners January 29, 2026 10:17
Comment on lines 8 to 10
var/mob/living/carbon/human/kindred = src // This is stupid... Also TECHNICLY you can have a splat without being human now...
var/hunger_threshold = 7 - (kindred_splat.enlightenment ? st_get_stat(STAT_INSTINCT) : st_get_stat(STAT_SELF_CONTROL))
var/previous_hunger = HAS_TRAIT(kindred, TRAIT_NEEDS_BLOOD)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the var 'kindred' is only used once in line ten, cant it just be HAS_TRAIT(src, TRAIT_NEEDS_BLOOD) considering mob/living can have traits?


if(!previous_hunger && will_be_hungry) // enter hunger
ADD_TRAIT(src, TRAIT_NEEDS_BLOOD, SPECIES_TRAIT)
ADD_TRAIT(src, TRAIT_NEEDS_BLOOD, SPECIES_TRAIT) // That is not a species trait.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

splat trait then?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We dont have a splat trait lol. They go based of the splat ID since its all applied from init rn

Comment on lines +23 to +27
if(iskindred(pulling) || !iskindred(src))
if(!CAN_HAVE_BLOOD(bit_human) || (bit_human.blood_volume <= 50) || (bit_human.bloodpool <= 0))
SEND_SOUND(src, sound('modular_darkpack/modules/blood_drinking/sounds/need_blood.ogg', 0, 0, 75))
to_chat(src, span_warning("This vessel is empty. You'll have to find another."))
return
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

something doesnt seem right here. specifically regarding line 23 and the changed boolean logic, since (!iskindred(pulling)) -> (iskindred(pulling)).

also this entire proc needs to be looked over by one of us at some point. the mixed use of bit_human and pulling is really bugging me.

Copy link
Copy Markdown
Member Author

@FalloutFalcon FalloutFalcon Feb 4, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think i simply made a mistake. This is why single letter vars are bad lol

Comment on lines 19 to 22
if(bit_human.stat == DEAD && !HAS_TRAIT(src, TRAIT_GULLET))
SEND_SOUND(src, sound('modular_darkpack/modules/blood_drinking/sounds/need_blood.ogg', 0, 0, 75))
to_chat(src, span_warning("Your Beast requires life, not the tepid swill of corpses."))
return
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not even sure if the 'iron gullet' trait is lore accurate at all. makes no sense why they wouldnt be able to drink the blood of a dead body but would be able to drink the blood in a plastic bag. most likely slated for removal unless we get a lore check

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Iron Gullet is a V5 merit. In V5 it seems like they nerfed blood sources that aren't live humans based on reddit. From a quick skim it seems like V20 its equal to or worse then blood-bags or animals blood???

return
if(LV.stat == DEAD && !HAS_TRAIT(src, TRAIT_GULLET))
var/mob/living/bit_living = pulling
if(bit_living.stat == DEAD && !HAS_TRAIT(src, TRAIT_GULLET))
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ditto

Comment on lines +43 to +47
if(!iskindred(pulling) || !iskindred(src)) // We already ran these checks for humans, Why we we doing this again...
if(!CAN_HAVE_BLOOD(bit_living) || (bit_living.blood_volume <= 50) || (bit_living.bloodpool <= 0))
SEND_SOUND(src, sound('modular_darkpack/modules/blood_drinking/sounds/need_blood.ogg', 0, 0, 75))
to_chat(src, span_warning("This vessel is empty. You'll have to find another."))
return
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what...

thanks flav

gonna go out on a limb here and say that we likely only need checks on mob/living (since all mob/living have bloodpool) and we can handle special logic for things like diablerie by checking splats (which exist on the /living level)?

again not necessary in this pr... just... yknow...

Comment on lines 33 to +35
/obj/item/stocks_license/examine(mob/user)
. = ..()
. += "<b>Balance</b>: [balance] dollars"
. += "<b>Balance</b>: [balance] [MONEY_NAME]"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This object is deprecated and will probably be removed when stock market gets reworked to be fun and not terrible just FYI

Comment thread modular_darkpack/modules/npc/code/nonhuman/hostile/bear.dm Outdated
Comment thread modular_darkpack/modules/vitae/code/blood_pack.dm Outdated
Co-authored-by: chazzyjazzy <33268885+chazzyjazzy@users.noreply.github.com>
Comment thread modular_darkpack/modules/city_time/code/status_effects.dm
@github-actions github-actions Bot requested a review from XeonMations February 9, 2026 17:44
@FalloutFalcon FalloutFalcon added this pull request to the merge queue Feb 10, 2026
Merged via the queue into DarkPack13:master with commit a101b45 Feb 10, 2026
21 checks passed
@FalloutFalcon FalloutFalcon deleted the some-todos branch February 10, 2026 02:19
darkpack13-api Bot added a commit that referenced this pull request Feb 10, 2026
github-actions Bot added a commit that referenced this pull request Feb 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Shapeshifted Forms can provide unlimited BP

3 participants