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

[MDB Ignore] Monkey to species, take 2 #10943

Closed
wants to merge 82 commits into from

Conversation

Tsar-Salat
Copy link
Contributor

@Tsar-Salat Tsar-Salat commented May 7, 2024

About The Pull Request

Title.

closes #8376
closes #9120

Recoup of #10156

Reverts #6694, #8962 as they are now obsolete.

Basically, monkeys are species, with all that entails. We are throwing the shitcode away that needed like 10 different refactors over 3 years to deal with, cause the code is fundamentally garbo.

Humans and Monkeys are already interconnected, no way out of it, so we might as well make the code sane.

Basically, we can make monkeys functionally identical to humans, but we need several explicit drawbacks.

  • Absolutely no consoles.
  • Probably cant understand most electronic tools
  • Some weapon restrictions or two.
  • Not roundstart race

Lmk if theres any others that tickle your noggin that you think would make this change make them "OP"

TODO

  • Either fix teratomas or just remove them. Terrible duplicated shitcode.
  • fix clothing layering offsets (its kinda annoying to work with, pursuing TG's filter system if Racc doesnt respond)
  • audit monkey dexterity
  • audit monkeyize() & humanize()

Ports:

Why It's Good For The Game

No more aheals when changing race

Hunger is persistent when changing between monkey and humans

All stat vars are not reset inbetween transformations

woaw, genetics dont SUCK

Monkey organs dont runtime the fuck out when they try and do species stuff (who put HUMAN organs inside CARBONS!!!?!)

Testing Photographs and Procedure

Screenshots&Videos

Roundstart monkey ---> human

dreamseeker_Tra1IvQGA8.mp4

Roundstart human ---> monkey

dreamseeker_4IPYBkJiVb.mp4

Monkeys can hold and use two handed weapons, but they do not have the upper core strength to use both arms as a human would.

dreamseeker_q0DYwJi9r9.mp4

Changelog

🆑 DrDuckedGoose(species design & appearance) rkz(balancing and mass conversions), qustinnus, coiax, IndieanaJones, itseasytosee
add: monkeys are now species
add: monkey tails are now handled like actual tail organs, rather than just being a sprite. They apply and are subtyped the exact same way catgirl tails are, minus a wag animation.
balance: Monkeys can do a lot more things
code: converted mob ventcrawling into flags/traits
/:cl:

Copy link

This pull request has conflicts, please resolve those before we can evaluate the pull request.

Copy link

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@Rukofamicom
Copy link
Contributor

I'm willing to merge with explicit approval from bacon regarding their prior concerns.

Copy link

github-actions bot commented Nov 6, 2024

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@Tsar-Salat
Copy link
Contributor Author

This pull request has conflicts, please resolve those before we can evaluate the pull request.

AAAAAAAAAAAAAAAAAAAAA

Copy link
Member

@PowerfulBacon PowerfulBacon left a comment

Choose a reason for hiding this comment

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

I want to put approval on this, but this height displacement solution is honestly just... bad. TG has a far better approach, instead of trying to have a single height map for squishing everything, they have a displacement filter for stretching/squishing legs and stretching/squishing the body. They don't need to do any janky code for direction displacement maps at all, which if possible I would much, much prefer if this could use that. It might need some changes to the monkey sprites to accomodate but if they are sprited like humans and squished afterwards (same way TG's are) then it shouldn't cause an issue.

Until byond gets support for directional heightmaps, we should avoid them where possible and TG has shown that it is possible to avoid them.

Worst comes to worst, how do monkeys look using the old method for displacement maps, or a displacement map that doesn't use directional states? I would rather have a single heightmap that looks good enough in most scenarios even if it is imperfect than have a complete mess trying to deal with the directional code.

@PowerfulBacon
Copy link
Member

See https://github.com/tgstation/tgstation/blob/58b15551a112be87a2442e8213956c5a12c34096/code/modules/mob/living/carbon/human/human_update_icons.dm#L947 for TG's solution

@DrDuckedGoose
Copy link
Contributor

DrDuckedGoose commented Nov 7, 2024

I don't really like TG's approach, actually. I understand we could expand ours to have a similar feature, but I believe for the most part, the basis of this approach is far better. If and when we get directional displacement maps, this will be easy to bring over. Overall, I believe this solution is far more flexible and capable than what TG has.
If you're putting your foot down, I don't think I'll have much more interest in contributing to this particular PR.

@Tsar-Salat
Copy link
Contributor Author

Tsar-Salat commented Nov 7, 2024

Bringing over TG's solution would be a complete overhaul of our mob filters and displacement.

The John Fulp code? Sure, that'd be workable, but this is planting a tree we really do not have any of the roots or ground for. Thats an additional 6 months of work on an already 6 month old pr. Going back to effectively square one for the actual mob handling.

I'd much rather see what has been done so far brought to its conclusion, rather than more months of dev time and waiting for reviews

Copy link

This PR has been marked as stale due to being in an unmergable state for 7 days. Please resolve any conflicts and add testing evidence, then contact a project maintainer to have the stale label removed.

@github-actions github-actions bot added the Stale label Nov 19, 2024
@DrDuckedGoose
Copy link
Contributor

image

@Tsar-Salat
Copy link
Contributor Author

Thats an additional 6 months of work on an already 6 month old pr. Going back to effectively square one for the actual mob handling.

Oh well. Guess that was months for nothing.

@Tsar-Salat Tsar-Salat closed this Nov 23, 2024
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.

Monkeys are immune to heart attacks. Converting someone into a monkey then human heals them
6 participants