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

Add Treetops even should Github bar the way #70669

Merged
merged 3 commits into from
Jan 6, 2024

Conversation

worm-girl
Copy link
Contributor

Summary

Features "Adds treetops and makes trees climbable"

Purpose of change

Our trees are big enough to block all movement through their tile, but weren't climbable.

Describe the solution

  • Adds a "roof" to every tree's json entry, either a treetop, a dead treetop, or an evergreen treetop. These are very basic UNSTABLE and TRANSPARENT floor tiles
  • Adds a flag, CLIMBABLE_ADJACENT, that lets you climb a tree if you're standing next to it
  • Adds a flag, SINGLE_SUPPORT, that always destroys a tile if the tile under it triggers a collapse, even if there are other adjacent SUPPORTS_ROOF or WALL tiles
  • Makes the tinymap created during faction camp tree-cutting jobs extend one Z level higher so it can get rid of treetops when you clear-cut or cut logs from a forest tile via the faction camp billboard
  • Makes BIRD_LEGS resist the unstable ground effect, 'cause birds perch in trees irl.

Describe alternatives you've considered

Out of scope for now, but it probably wouldn't be too hard to make trees have variable heights. Then you'd scale them with something like the WALL_CLING ability that would be available to anyone, so z+1 would be you clinging to the side of the trunk, and at z+2 you'd be on the treetop, etc.

Making it so that some types of trees aren't climbable, or are only climbable with special equipment or mutation flags would also be easy.

There are only 4 forms of treetops right now, and they're all identical except their colors. The base kind is for all deciduous trees, evergreen, dead, and mega_fern are obviously for trees fitting those descriptions. I'm assuming this will be enough for spriters. If not, it's trivial to add more types of treetops in future PRs.

Testing

  • Climbed a tree
  • Fell out of a tree
  • Cut down a few trees
  • Used the zone menu to cut down some more trees
  • Used the zone menu to make an NPC cut down some more trees
  • Started a faction camp and ordered a clear-cut
  • Ordered a log-cutting mission at the camp as well

Additional context

image

@github-actions github-actions bot added [JSON] Changes (can be) made in JSON Mutations / Traits / Professions/ Hobbies Mutations / Traits / Professions/ Hobbies [C++] Changes (can be) made in C++. Previously named `Code` Fields / Furniture / Terrain / Traps Objects that are part of the map or its features. Player Faction Base / Camp All about the player faction base/camp/site labels Jan 5, 2024
@worm-girl worm-girl mentioned this pull request Jan 5, 2024
@github-actions github-actions bot added the <Enhancement / Feature> New features, or enhancements on existing label Jan 5, 2024
@github-actions github-actions bot added the astyled astyled PR, label is assigned by github actions label Jan 5, 2024
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@github-actions github-actions bot added the json-styled JSON lint passed, label assigned by github actions label Jan 5, 2024
@worm-girl
Copy link
Contributor Author

@gkarfakis19 was worried about this being an unbalancing change. For reasons outlined in the comments below the old PR, I don't think it will be, however an idea struck me. Once #70479 is merged, it'll add a stagger effect that can make the player stumble in a random direction. I will roll in a check to make this happen randomly when you have the bouldering effect, pending the merge of that PR and a fix for #70644 . So if you're doing spear cheese on a roof or a treetop and you miss, you'll have a chance of falling off.

@harakka
Copy link
Member

harakka commented Jan 5, 2024

The ultimate solution to spear cheese is to remove ability to attack other z levels at least from normal reach attack. We assume 4 meter height difference between levels, you don't poke that distance usefully with those weapons. But that doesn't need to block this PR in any way.

@github-actions github-actions bot added the BasicBuildPassed This PR builds correctly, label assigned by github actions label Jan 5, 2024
@worm-girl
Copy link
Contributor Author

The ultimate solution to spear cheese is to remove ability to attack other z levels at least from normal reach attack. We assume 4 meter height difference between levels, you don't poke that distance usefully with those weapons. But that doesn't need to block this PR in any way.

It is very weird that we block monsters from grabbing up Z diagonals but allow players to stab down them.

@Maleclypse Maleclypse merged commit c50e0e2 into CleverRaven:master Jan 6, 2024
26 checks passed
@KHeket KHeket mentioned this pull request Mar 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
astyled astyled PR, label is assigned by github actions BasicBuildPassed This PR builds correctly, label assigned by github actions [C++] Changes (can be) made in C++. Previously named `Code` <Enhancement / Feature> New features, or enhancements on existing Fields / Furniture / Terrain / Traps Objects that are part of the map or its features. [JSON] Changes (can be) made in JSON json-styled JSON lint passed, label assigned by github actions Mutations / Traits / Professions/ Hobbies Mutations / Traits / Professions/ Hobbies Player Faction Base / Camp All about the player faction base/camp/site
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants