Skip to content
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

Oozling Gibbing Patch #4736

Merged
merged 43 commits into from
Jan 7, 2025
Merged

Oozling Gibbing Patch #4736

merged 43 commits into from
Jan 7, 2025

Conversation

Coll6
Copy link
Contributor

@Coll6 Coll6 commented Dec 29, 2024

About The Pull Request

All this does is remove the gibbing check to delete Oozling cores if their body was gibbed. It remains the DNA check so most occurrences of Oozling cores without souls are now gone. This also makes it so cores when destroyed properly eject their items or delete. Throw a core at a SM watch it pop like a loot pinata! Finally just adds in some GC that was left out.

Why It's Good For The Game

I had assumed the code was consistent and reliable enough to count on the gibbed = true flag to reflect what it meant. Turns out this is not the case. This ends up causing Oozlings to be RR'd from more unintended sources than other species. I am working on a proper fix so there are some things that won't gib an Oozling. However, for things like explosions, and other body destroying situations you should see the expected core removal. If the core doesn't get removed you can still just destroy it and get everything inside. Still a proper fix is being worked on, in the meantime this should handle most situations.

GC is always a good thing.

Changelog

🆑
del: Hard gibbed flag check
code: Removes cores from bodies that do not save DNA.
add: Core deletions will properly drop items in most cases. If core is in nullspace they will be qdel instead.
/:cl:

Coll6 added 30 commits November 18, 2024 10:20
-Restores dormant Oozling wetness system
-Makes wetness affect unconscious Oozlings.
-Removes flat bloodloss from getting wet.
-Fixes bug where core still broadcasting after crushing
-Fixes bug being unable to crush a core with a off gps
-Adds a bit of flavor text for crushing cores with off gps
- Ensures items are properly transferred to the core to prevent conflicts between overlapping movement mechanics. e.g. Chasms
-If the limb has an implant it will drop them to the floor instead of voiding it.
-Implants that go into the chest now drop unpon revival
-Cavity implant objects now drop unpon revival
-Fixes visual bugs caused by reviving a oozling core
-Minor grammar fixes
-Restores oozlings healing ability from plasma
-Heals 2.5 shared between heal and brute
-Healing is disabled by hydrophobia or if Oozlings skin reaches cold limit
-General refactoring
-Added filters for banned items and allowed implants and organs
-Fixes bug with Nuclear Authentation Disk. Resolve other protected items with the banned items list.
-External features (Not Anime Traits) such as tails wings antenna will be removed and stored in the core
-Oozling cores now recase injector implants before storing
-Minor fixes
@Coll6 Coll6 closed this Dec 29, 2024
@Coll6 Coll6 reopened this Dec 29, 2024
@F-e-r-n
Copy link
Collaborator

F-e-r-n commented Dec 29, 2024

HOW MANY COMMITS? Looking into this though

@F-e-r-n
Copy link
Collaborator

F-e-r-n commented Dec 29, 2024

Looking for a better way to do this, as we still want gibbing to remove brains when prompted.

@Coll6
Copy link
Contributor Author

Coll6 commented Dec 30, 2024

Looking for a better way to do this, as we still want gibbing to remove brains when prompted.

Oh sorry only one commit in this. I didn't understand how my PR being merged would work if I was on the same branch, Mistake on my part I can clean it up but since it removes a change I made in that PR ya know. I am working on a solution. I would like to know if anyone can tell me why we add a timer for core ejection instead of just calling it immediately on stat change. I have ideas but it's hard to know why some things are the way they are and it makes mistakes like this.

I do have an idea of causes but I need a consistent pattern of what causes gibbing and what that does to both the core and brain. Last part I have handled but I can't even imagine the list of ways to gib someone.

@F-e-r-n
Copy link
Collaborator

F-e-r-n commented Dec 30, 2024

Oh sorry only one commit in this. I didn't understand how my PR being merged would work if I was on the same branch, Mistake on my part I can clean it up but since it removes a change I made in that PR ya know. I am working on a solution. I would like to know if anyone can tell me why we add a timer for core ejection instead of just calling it immediately on stat change. I have ideas but it's hard to know why some things are the way they are and it makes mistakes like this.

I do have an idea of causes but I need a consistent pattern of what causes gibbing and what that does to both the core and brain. Last part I have handled but I can't even imagine the list of ways to gib someone.

Now that I think about it, the easiest way to handle this might be just to leave gibbing as it is normally, as I believe your core counts as your brain anyways unless there's a proc in there that "activates" the core so to speak. I'll look into it.

@Coll6
Copy link
Contributor Author

Coll6 commented Dec 30, 2024

Oh sorry only one commit in this. I didn't understand how my PR being merged would work if I was on the same branch, Mistake on my part I can clean it up but since it removes a change I made in that PR ya know. I am working on a solution. I would like to know if anyone can tell me why we add a timer for core ejection instead of just calling it immediately on stat change. I have ideas but it's hard to know why some things are the way they are and it makes mistakes like this.
I do have an idea of causes but I need a consistent pattern of what causes gibbing and what that does to both the core and brain. Last part I have handled but I can't even imagine the list of ways to gib someone.

Now that I think about it, the easiest way to handle this might be just to leave gibbing as it is normally, as I believe your core counts as your brain anyways unless there's a proc in there that "activates" the core so to speak. I'll look into it.

Thing is you cant rely on this. At the moment this RR oozlings because the chasm death proc is death(1) which means the death was caused by gibbing. I am sure there may me more cases like this. Like everything else in #4343 it was just attempting to add checks to bring behavior closer to what we expect to humans. The whole core ejection needs something a little similar.

@F-e-r-n
Copy link
Collaborator

F-e-r-n commented Dec 30, 2024

Oh sorry only one commit in this. I didn't understand how my PR being merged would work if I was on the same branch, Mistake on my part I can clean it up but since it removes a change I made in that PR ya know. I am working on a solution. I would like to know if anyone can tell me why we add a timer for core ejection instead of just calling it immediately on stat change. I have ideas but it's hard to know why some things are the way they are and it makes mistakes like this.
I do have an idea of causes but I need a consistent pattern of what causes gibbing and what that does to both the core and brain. Last part I have handled but I can't even imagine the list of ways to gib someone.

Now that I think about it, the easiest way to handle this might be just to leave gibbing as it is normally, as I believe your core counts as your brain anyways unless there's a proc in there that "activates" the core so to speak. I'll look into it.

Thing is you cant rely on this. At the moment this RR oozlings because the chasm death proc is death(1) which means the death was caused by gibbing. I am sure there may me more cases like this. Like everything else in #4343 it was just attempting to add checks to bring behavior closer to what we expect to humans. The whole core ejection needs something a little similar.

Hmm, good point. Honestly chasm deaths should probably be their own death type, but that's a whole other topic. I'll bring this pr up with pooba and talk about it with them.

@Kitsunemitsu Kitsunemitsu added the Fix fix da bug label Dec 30, 2024
@Coll6 Coll6 changed the title Oozling Gibbing fix removal Oozling Gibbing Patch Jan 3, 2025
@ThePooba ThePooba merged commit bb95bf3 into Monkestation:master Jan 7, 2025
27 checks passed
github-actions bot added a commit that referenced this pull request Jan 7, 2025
@Coll6 Coll6 deleted the Oozling-QOL-Fixes branch January 7, 2025 19:04
Gw0sty pushed a commit to Gw0sty/Monkestation2.0 that referenced this pull request Jan 9, 2025
* Restores Oozling wetness system. Bring a Towel.
-Restores dormant Oozling wetness system
-Makes wetness affect unconscious Oozlings.
-Removes flat bloodloss from getting wet.

* Oozling core gps Fix
-Fixes bug where core still broadcasting after crushing
-Fixes bug being unable to crush a core with a off gps
-Adds a bit of flavor text for crushing cores with off gps

* fix: Dup/Del Bug with chasms.
- Ensures items are properly transferred to the core to prevent conflicts between overlapping movement mechanics. e.g. Chasms

* fix: Limb implants being voided when dismemebered
-If the limb has an implant it will drop them to the floor instead of voiding it.

* Readds oozling melting from touch water sources.

* fix: Chest and Cavity implants. Revive visual bug
-Implants that go into the chest now drop unpon revival
-Cavity implant objects now drop unpon revival
-Fixes visual bugs caused by reviving a oozling core
-Minor grammar fixes

* Restores Oozling healing and tones it down
-Restores oozlings healing ability from plasma
-Heals 2.5 shared between heal and brute
-Healing is disabled by hydrophobia or if Oozlings skin reaches cold limit

* Refactor item core storage system
-General refactoring
-Added filters for banned items and allowed implants and organs
-Fixes bug with Nuclear Authentation Disk. Resolve other protected items with the banned items list.

* Allows external organs to be stored and saved
-External features (Not Anime Traits) such as tails wings antenna will be removed and stored in the core

* fix: Core can now case and store injector implants
-Oozling cores now recase injector implants before storing
-Minor fixes

* add: Oozlings scream and jitter upon revive

* fix: Resolves (Monkestation#4219)

* Minor text fix

* Removes hyno plasma remineder when souless.

* fix:Legions absorb oozling core and drops on death

* Should make gibbing deaths delete the core

* Fix Oozling ability status effects remaining

* Refix eyesight repair clean up from Monkestation#4584

* For code testing

* Refactored core item proccessing. Deep item filter

* Fixes quirk item duplications and rerolls

* Fixes hydrophobia blocking touch water

* bal moves revival effects to nugget revivals

* Properly removes and fixes blindess.

* Revival limb removal refeactor.
	-Moves the slime blood drop from drop_limb to dismemberment
	-nugget revival now uses drop_limb allowing for the body and UI to update properly.
	-head decapitations now drop contents except normal eyes
	-makes revival compatable with bright eyes. No more duping eyes.

* Various small fixes picked 09cc588 from PR Monkestation#4269

* Quick compat fix for TM Monkestation#4642

* Undoes gibbing core deletion fix.

* Restores DNA gib removal check. GC changes.
Gw0sty pushed a commit to Gw0sty/Monkestation2.0 that referenced this pull request Jan 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Fix fix da bug
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants