Commit Graph

38 Commits

Author SHA1 Message Date
Cameron Lennox fb81ffbe83 Amputation Repair, Surgery adjustments, and amputation vision. (#19199)
* Fixes necrosis steps setting bone

Makes it so you the 'cut away' step doesn't set bones to open. This is entirely a non-internal fix (you're working on the flesh, not the organs inside) so you don't need the bone retracted.

* Update other.dm

* Crowbar Augment

* descriptors

* Update carbon.dm

* no typecasting

* removes unused proc

* Limb status

* Makes butchering take time

Gives a warning as well when starting it.

* Update organ.dm

* Update organ.dm

* Closing surgical stages and desc.

Opened organs have descriptions that they're opened.

Organs inform you that they have SPECIAL MECHANICS THAT'VE BEEN IN FOR 10 YEARS that you can do to them.

Allows fixing amputated organs

A BUNCH of stuff

* Update organ.dm

* Keep the washing

* Update external_repair.dm

* Update other.dm

* Organizes surgeries

* fix a typo

* Update surgery.dm

* More surgery

* Nerve Surgery

Adds template for nerve surgery

* Prevents pain from limbs that feel no pain

* Update external_repair.dm
2026-02-27 19:16:27 +01:00
Cameron Lennox ae94adba25 Various medical features and adjustments. Kiosk rework. (#17210)
* Various medical fixes. Kiosk Rework.

qol: Reworks the medical kiosk to have use. It now dispenses small amounts of painpills and medications to help stabilize you to get you to medical before you croak.
qol: Lungs no longer IMMEDIATELY risk popping if you forget internals for one second. You now have gradually accumulate damage over time. Get those internals on quick!
qol: Infections now give you a better alert that it's an INFECTION you have instead of just a random 'you feel itchy' so players are less blindsided by infections.
qol: Adjusts the text that you get when you suffer internal bleeding. Now it sticks out more during fights so you can know you have IB and get to medical quicker.
add: Makes the medical kiosk actually DETECT more issues than before. Now it actually does a full body scan on you to see what's wrong with you!
qol: Crayons and markers are no longer the strongest poison in the game. One crayon won't OD you anymore, but two will. One marker can still OD you with disaster effects if you eat it entirely. OORAH
fix: Crayons and markers get properly added to your stomach
fix: inaprovaline PROPERLY affects internal bleeding now.
qol: Putting pressure on an external wound will put some pressure on arterial bleeds as well, helping decrease (but not entirely stop) bloodloss.
code: Changes a few sections in the code to use REAGENTS_OVERDOSE instead of just a plain number.
code: Gets rid of a few //EDIT comments for better code quality.
code: Moved internal wound handling to handle_blood()

* Flavor adjustments

* words hard

* Fixes CPR as well

Fixes CPR bug

* Vox can be defibbed

Still can't be resleeved, but you can shock them back to life.

* cpr bug fix electric boogaloo
2025-03-06 13:17:24 -05:00
Cameron Lennox cdafe425a5 Adds Trait Genetics (#16921)
* Adds Trait Genetics from Outpost21

Adds trait genetics from Outpost 21
- Tried to update each file it touched to be equivalent to their Chomp specific variants in order to maintain functionality and make sure no oddities would happen due to code differences. (Some things like the eardeaf loop were left there but commented out)

* Morph trait

* Fixes a server crashing bug with flip

aa

* flip

* Makes morph superpower better

- Makes it use the appearance_changer instead of 1000 different  procs

- Makes cocoon weaver able to change eye and skin color.

I did NOT select you. BAD

* begone

* fix dna modifier

* Fixes massive memory leak

* Brain Runtime Fix

* There was no reason for this to be a spawn(0)

And no I didn't spawn with no blood - https://i.imgur.com/vPizqCD.png

* revert

revert the dna changes there

* Deconf

* gets rid of unused proc vars that did nothing

* expects enough free slots

* glob

* fixed and added two other tests

* another few tests

* this is a list

* fixed bad injector

* lets wrap these for sanity

* better feedback

* wrong name

* don't allow multiple occupants into the dna pod

* future traits will have activation levels instead of binary on/off

---------

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
Co-authored-by: Willburd <7099514+Willburd@users.noreply.github.com>
2025-02-11 02:01:27 -05:00
MarinaGryphon 385fa640af Linter diagnostics + bans non-var relative pathing 2021-06-20 18:16:45 -04:00
Neerti 47b463f4cb Makes Fire Burn Again
Being lit on fire barely did anything, for multiple reasons, all which should be fixed in this PR.
First, the code to do damage based on bodytemperature was literally bugged and only applied the lowest level of damage, no matter what.
Second, wounds made autohealed them fairly fast, sometimes even outhealing the incoming damage.
Third, being on fire raised your temperature rather slowly.
Fourth, the lowest level of 'overheating' damage was rather low.

Changes:
The bodytemperature part of Life() is now unbroken and I accidentally fixed freezing not hurting, so yay.
Added a ten minute delay to wounds being able to autoheal them away.  Applying bandage/salves will skip this.
Temperature climb is now based on fire stacks while on fire, so more stacks means more and longer pain.
Lowest level of overheating was tweaked.
Running into people while on fire will split your fire stacks with them and light them on fire.
Port's /tg/'s on fire sprite.
Different mobs can have different icons for being on fire.
Bonus: Rejuv now removes pain.
2017-09-13 06:26:08 -04:00
MagmaRam cfa6387f15 Reduces autoheal cutoff on all external wounds to 10. 2017-05-24 15:45:48 -05:00
MagmaRam 59d2608fbb Bruises now bleed at a much higher damage threshold. 2016-10-11 22:28:57 -05:00
Cameron653 995ae56dfe Makes pierce damage correctly heal when bandaged 2016-08-15 20:39:55 -04:00
Yoshax 24f7c0ca2c Fixes not being able to stop wounds from bleeding 2016-05-13 02:51:40 +01:00
Yoshax 5b747a98dc Fixes incorrect checks 2016-05-06 01:27:21 +01:00
Chinsky e12e9300fa Adds new type of wounds - piercing.
Unlike cuts they do not merge, so many small-damage stabs will create many small stab wounds instead of one megahole.
Also cleans up checks in wound code a bit with power of OOP
2016-04-22 19:00:17 +01:00
Hubblenaut c9df1c6985 Bruise packs are used per wound and take time to apply 2016-04-22 18:46:41 +01:00
Neerti 4f77afece1 Revert 58ef59734f 2015-11-08 10:09:14 -05:00
Hubblenaut cbd0972bfa Bruise packs are used per wound and take time to apply 2015-10-16 16:36:04 +02:00
HarpyEagle c29dd9063c More tweaks to cut wound stages.
Enforced "blood soaked" clots where the clot stage was also a bleeding
stage, adjusted the thresholds for gaping_big and massive wounds to be
more even.
2015-07-30 11:46:49 -04:00
HarpyEagle 171991faf8 Attempts to prevent future max_bleeding_stage confusion
max_bleeding_stage no longer switches itself around in New().
Instead, the value given refers directly to the index of the maximum
bleeding stage.

Should also make wound datums more friendly to initial(), if that's ever
needed.
2015-07-29 16:53:31 -04:00
HarpyEagle 3d10955ccb Adds missing clot stages to gaping_big and massive cuts.
Without the clot stages the jump between the next two stages was
abnormally large, and the values given for max_bleeding_stage did not make
much sense.
2015-07-29 16:46:50 -04:00
HarpyEagle d384150a48 Fixes wound max_bleeding_stage oddness
The max_bleeding_stage given to /datum/wound/cut/flesh led to
"Doctor places a bandaid on Patient's flesh wound." Also fixed the
bleeding stage for stumps, so that "bloody stump" counts as a bleeding
stage.
2015-07-29 16:40:09 -04:00
HarpyEagle f23c2d5e00 Fixes droplimb wound not handling damage type 2015-07-08 15:17:50 -04:00
Zuhayr b197cb69fa More organ fixes. Yay. 2015-04-03 21:47:37 -07:00
Zuhayr b47d91b612 Merge resolution, master into dev. 2014-08-21 12:01:38 +09:30
mwerezak 5b341bd810 IB initial damage now depends on damage taken
Also, autohealing IBs no longer stop bleeding, but do stop worsening.
2014-08-16 22:00:55 -04:00
mwerezak 0b0380ae14 Fixes burn description saying it is salved when not 2014-08-13 17:11:25 -04:00
mwerezak ca9fc4169d Fixes infection fever causing burn damage 2014-08-13 17:11:03 -04:00
Chinsky 573f49624e Added suggested new type of wounds for stumps 2014-08-12 19:48:17 +04:00
mwerezak 44cc7159c4 Fixes a few issues with get_wound_type()
Fixes damage causing "healing" wound types that can't bleed.
Fixes flesh wounds not bleeding the instant they heal any damage.
2014-08-11 21:37:34 -04:00
mwerezak 5764d95808 Makes minor wounds harder to infect 2014-07-07 17:19:13 -04:00
mwerezak 30dc2519e9 Makes bleeding logic a little clearer 2014-07-06 13:22:52 -04:00
mwerezak cf5ff7e992 Body temperature fixes and updates
Body temperature regulation is now based on species, and environmental
temperature now respects the air density when affecting living/humans.
This also fixes some bugs with heat/cold protection handling and
improves the way synthetic species body temperatures are handled to be
much more logical.

IPCs always gain temperature but cool down because of their environment.
When the heat transfer to the environment is reduced because of the lack
of air, this will cause IPCs to heat up.

As well, having an infection will increase your body temperature, and
body scanners now detect infections.
2014-06-20 18:18:02 -04:00
unknown c5e09980b9 Fixes bleeding checks not respecting merged wounds 2014-06-16 18:49:20 -04:00
unknown 7b59cbec5c Fixes large amounts of damage being carried by minor wound types 2014-06-16 18:42:17 -04:00
mwerezak 8461e5b01f Fixes bruises not having the right damage_type set 2014-06-16 12:15:31 -04:00
mwerezak e829f8a633 Fixes wound merging
Fixes wound merging completely ignoring things like bleed_timers,
bandaged and salved states, etc.
2014-06-16 12:15:11 -04:00
mwerezak 832fb31941 Fixes many small wounds protecting against...
...internal damage.

Also removed started_healing() proc because it doesn't actually report
whether the wound is healing and isn't really used for anything.
2014-06-16 01:04:30 -04:00
mwerezak cbec032ae3 Fixes wrong wound types being used
This fixes the autoheal bug, which was being caused by wound types such
as tiny bruises from being used even for large amounts of damage.

I imagine that relying on the order of the list returned by typesof() is
always a bad idea.
2014-06-15 19:08:29 -04:00
Zuhayr d89950487a Added a clot timer to wounds. If a wound is smaller than 30 damage, it will stop bleeding after <damage> seconds. More damage increases the counter. 2013-06-27 08:47:15 -07:00
Zuhayr 333e59190c Added minimum damage for cutting wounds to bleed visibly. 2013-06-27 02:09:36 -07:00
Chinsky 13b6b2f61b Moved organ and blood code to module folder.
Moved most organ and blood procs to that folder.
Refactored handle_organs a little.
Added comments in some places.
2013-03-14 11:52:53 +04:00