Skip to content

Make Arterial Bleeds Disco Again #503

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged

Conversation

The32bitguy
Copy link
Contributor

@The32bitguy The32bitguy commented Oct 12, 2024

About the pull request

This PRs flavours adds an intial, more severe stage of IB/Internal Bleeding called Arterial Bleeding:

  • Arterial Bleeds are applied, and removed from limbs exactly as before.
  • They passively remove blood at 50% the rate of IB every tick.
  • They actively remove blood at a 10% chance every tick by making a blood spray.
  • The blood spray has an exception to bypass the 10% chance on the first tick after the bleeding effect is given to a limb.
  • This blood spray is a series of blood effects made across turfs at a distance proportional to the remaining blood volume of the human. It also makes a sound. Each time it happens, it removes a moderate amount of blood inversely proportional to the remaining blood volume of the human.
  • The chatlog states which limb has this bleeding effect.
  • The blood spray stops early and blurs vision if it hits a human.
  • The active part can be stopped by applying gauze or a trauma kit to the limb, which uses one stack and takes priority over the treatment of the wound on the limb, providing the limb has the bleeding effect. Otherwise the gauze/trauma kit is applied as normal.
  • There is a chance every time the applied gauze prevents the active part for it to expire, necessitating another application of gauze. When it expires it leaves a used bandage prop on the ground.
  • Once the active part is stopped the scanner display changes from [Arterial Bleeding!] to [Internal Bleeding], and effectively acts identical to old IB except at a 50% rate.
  • The chatlog information shown when examining your character on help intent now shows if a limb has this bleeding effect and rather or not it was mitigated with gauze/trauma kit.

Things to do:

Explain why it's good for the game

Internal bleeding is not very interactive in the game. There is no way to tell when your character has gotten one except for one exception which rarely occurs because of the prevalence of armour that characters wear. To check if a character has one requires a health analyser or waiting for the effects of blood loss to become apparent, and therefore crippling.

Giving a graphical, audible and chatlog indication will offset the slight additional mechanical complexity by making it relatively easy to understand what is occurring(big bleed, this needs fixing!). This also allows marines to gives meaningful first aid that isn't performing the job of the corpsman but with less reagents, and reduces the dependency on the health analyser.

Testing Photographs and Procedure

Screenshots & Videos

image

Changelog

🆑
add: Internal Bleeding now instead starts as Arterial Bleeding, that sprays blood with a visual, audible and chatlog indication
qol: Arterial Bleeds now show on help-intent self examine.
balance: Arterial Bleeds can have the spraying component mitigated by applying gauze or a trauma kit, turning them into a slower version of the old Internal Bleeding effect.
balance: Iron Pills have 7.5u of sugar in them.
balance: The IB treatment step now takes 7.5 seconds instead of 5 seconds.
soundadd: The sound for the above blood spray.
imageadd: The icons for each possible direction of the blood spray, to avoid overlays inheriting the turfs direction for their icon, due to blood optimization.
/:cl:

To do: Make separate proc for spraying blood. Let humans "pack" the IB to slow it eg first aid
@github-actions github-actions bot added Sprites Sound Feature Missing Changelog Maintainers always document their changes. labels Oct 12, 2024
@github-actions github-actions bot added Quality of Life Balance and removed Missing Changelog Maintainers always document their changes. labels Dec 10, 2024
@The32bitguy The32bitguy marked this pull request as ready for review December 22, 2024 03:36
@@ -290,6 +301,28 @@
var/message = SPAN_WARNING("[user == M ? "You don't" : "[M] doesn't"] have \a [limb]!")
to_chat(user, message)
return
//Tourniquet functionality
for(var/datum/effects/bleeding/internal/I in affecting.bleeding_effects_list)
Copy link
Contributor

Choose a reason for hiding this comment

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

this should be done by a different item (a proper tourniqet)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Changed to using gauze

//Packing Arterial Bleeding
var/time_to_take = 10 SECONDS
for(var/datum/effects/bleeding/internal/I in affecting.bleeding_effects_list)
if(!I.has_been_bandaged)

Changed to using trauma kit

//Packing Arterial Bleeding
var/time_to_take = 5 SECONDS
for(var/datum/effects/bleeding/internal/I in affecting.bleeding_effects_list)
if(!I.has_been_bandaged)

Copy link
Contributor

@AndroBetel AndroBetel left a comment

Choose a reason for hiding this comment

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

see above

Health Analyzer shows distinction between partially treated and untreated arterial bleeding.
Gauze and trauma kits are now used instead of splints.
@github-actions github-actions bot added the UI label Dec 23, 2024
Copy link

This PR has been inactive for long enough to be automatically marked as stale. This means it is at risk of being auto closed in ~ 7 days, please address any outstanding review items and ensure your PR is finished, if these are all true and you are auto-staled anyway, you need to actively ask maintainers if your PR will be merged. Once you have done any of the previous actions then you should request a maintainer remove the stale label on your PR, to reset the stale timer. If you feel no maintainer will respond in that time, you may wish to close this PR youself, while you seek maintainer comment, as you will then be able to reopen the PR yourself

@github-actions github-actions bot added the Stale label Jan 15, 2025
@The32bitguy The32bitguy marked this pull request as draft January 16, 2025 00:07
@DexterDude DexterDude added Stale Exempt YOU MUST CONSTRUCT ADDITIONAL MAINTAINERS and removed Stale labels Jan 18, 2025
@The32bitguy The32bitguy marked this pull request as ready for review March 31, 2025 11:56
@The32bitguy The32bitguy marked this pull request as ready for review May 23, 2025 17:38
@The32bitguy The32bitguy requested a review from AndroBetel May 23, 2025 17:38
Copy link
Contributor

@BonniePandora BonniePandora left a comment

Choose a reason for hiding this comment

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

Code lgtm, changes have been addressed & the PR's commonly used in test-merges

@BonniePandora BonniePandora enabled auto-merge (squash) May 23, 2025 19:01
@BonniePandora BonniePandora dismissed AndroBetel’s stale review May 23, 2025 20:52

Review from five months prior, all addressed from what I can see.

@BonniePandora BonniePandora merged commit c8ad65f into cmss13-devs:master May 23, 2025
79 of 80 checks passed
cmss13-ci bot added a commit that referenced this pull request May 23, 2025
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.

5 participants