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

Open
wants to merge 72 commits into
base: master
Choose a base branch
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
Contributor Author

Choose a reason for hiding this comment

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

To be honest, this probably the only file that needs any major revisions. Namely, adding back teratomas (in a sane manner)

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.

Copy link

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

1 similar comment
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.

Copy link
Contributor

@Rukofamicom Rukofamicom left a comment

Choose a reason for hiding this comment

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

Just a single line I noticed issue with. Easy fix

code/__HELPERS/mobs.dm Outdated Show resolved Hide resolved
Co-authored-by: Rukofamicom <oozelingcomplaints@gmail.com>
code/datums/dna.dm Outdated Show resolved Hide resolved
height_displacement_holder.appearance_flags = TILE_BOUND | PIXEL_SCALE | RESET_TRANSFORM
height_displacement_holder.plane = PLANE_SPACE
height_displacement_holder.layer = 0
height_displacement_holder.render_target = "[ref(height_displacement_holder)]"
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
height_displacement_holder.render_target = "[ref(height_displacement_holder)]"
height_displacement_holder.render_target = "*[REF(height_displacement_holder)]"
  • makes it not render to the screen and only draws to itself. Tested in game and this seems to works fine.

image


/datum/dna/New(mob/living/new_holder)
if(istype(new_holder))
holder = new_holder
height_displacement = icon('icons/effects/64x64.dmi', "height_displacement")
update_height_holder()
new_holder?.vis_contents += height_displacement_holder
Copy link
Member

Choose a reason for hiding this comment

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

To be honest, I'm not really a fan of this change since its a little bit janky and breaks the right click menu. Does the monkey height displacement really have to be directional?

I would like to note that displacement maps do not update the hitbox for a sprite.

The level of jankiness here kind of feels like it offsets the advantages of converting monkeys into a species in the first-place and is something I feel like definitely needs some action to be taken. The most optimal solution would be finding some kind of displacement map that can just work for all directions in a way thats good enough. Shrinking the sprite vertically is always going to make it look a bit ugly just because its quite a big restriction on how monkeys can look. If there is absolutely nothing that can be done then... I guess we kind of have to live with it a bit.

If absolutely nothing can be done, and we have to have a vis_contents displacement map that has to respond to directions then does the map have to be 64x64 instead of 32x32? If it could be 32x32 then the alpha could be set to 0 which would limit its effect on the right click menu.

Copy link
Contributor

@DrDuckedGoose DrDuckedGoose Oct 21, 2024

Choose a reason for hiding this comment

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

Does the monkey height displacement really have to be directional?

Yes, it also opens up future stuff for other species. I don't think it's that big of an issue tbh

then the alpha could be set to 0

Breh

@Tsar-Salat
Copy link
Contributor Author

Tsar-Salat commented Oct 22, 2024

fixed an examine since players were getting confused about the "This individual is catatonic" on every monkey now.

It was just a 10 yr old check for a ckey on examine()... which monkeys didnt have.

Whatever. Its fixed.

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