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

Dost thou even lift: Add makeshift rope and chain lifts #59485

Merged
merged 21 commits into from
Jul 23, 2022

Conversation

I-am-Erk
Copy link
Member

@I-am-Erk I-am-Erk commented Jul 21, 2022

Summary

Content "Adds some common makeshift lifting tools"

Purpose of change

Closes #23094
Closes #13562

Describe the solution

image

Creates three new furnitures and a new 'block and tackle' item. Constructing the furniture is contingent on the terrain present in the tile.

  1. Rope hoist: Hang a rope from a tree branch, or bang a couple 2x4s up to the ceiling and dangle it from there. This is a pretty efficient way to lift even fairly heavy things.
  2. Rope and tackle hoist: As above, but you've looped the rope through a tackle and have a lot more capacity to lift. Can be firmly attached to a tree branch, or to a ceiling. Fits on any ceiling because it's still not ultra strong.
  3. Chain hoist: Must be attached to a ceiling and only allows concrete, reinforced concrete, or metal floor/ceilings. As strong as any crane. Requires some fabrication knowledge to mount safely.

The new block and tackle item is required for making existing rope and pulley systems and included in their deconstruction recipes. While I was in there, I changed the terrain names to fix #13562. The block and tackle also spawns in common hardware groups and garages, and most of the time spawns with a piece of rope or chain attached. I did not add a crafting or uncrafting recipe for it, someone else could look into what that would entail. It could probably be done with sheet metal and small sturdy wheels.

Since I used nuts and bolts here, I made them spawn in more places as they were quite rare (or not spawning at all? Idk) and I've wanted to start requiring specific fasteners a bit more anyway

Describe alternatives you've considered

I am not currently extremely happy with the pre-terrain checks for ceilings. I don't know if you should be able to spike a rope and tackle into a dirt cave ceiling or a crumbling wooden barn and get enough stick. Chain hoists are a bit jank and overly specific. However to improve the pre-terrain check here would either require some new pre-tests for the durability of the underlying terrain, or a new terrain flag representing stronger types of supports. Both of these are things we could use in the future but I really don't wanna do them.

The lift numbers here are somewhat arbitrary. We could consider having more advanced lifting furniture/terrain that has higher lifting numbers.

Testing

image
Simple rope hoist on a tree

image
chain hoist in a concrete floor

image
Lifting quality is granted by the furniture

ed: dang, the game won't acknowledge the nearby lifting furniture for vehicles

Additional context

Just removing two of our oldest issues with an hour or so of work in my breaks. nbd.

@I-am-Erk I-am-Erk marked this pull request as draft July 21, 2022 22:45
@github-actions github-actions bot added [JSON] Changes (can be) made in JSON Crafting / Construction / Recipes Includes: Uncrafting / Disassembling Fields / Furniture / Terrain / Traps Objects that are part of the map or its features. labels Jul 21, 2022
I-am-Erk added 2 commits July 21, 2022 15:47
Until such time as we can better check the stability of the underlying terrain, the 2x4s can represent mounting a reinforced beam between the roof supports.

Adds the option to mount the rope-pulley hoist to a sufficiently sturdy wall (check_support)
@github-actions github-actions bot added the astyled astyled PR, label is assigned by github actions label Jul 21, 2022
@github-actions

This comment was marked as resolved.

@github-actions github-actions bot added the json-styled JSON lint passed, label assigned by github actions label Jul 21, 2022
@github-actions github-actions bot removed the json-styled JSON lint passed, label assigned by github actions label Jul 21, 2022
@github-actions github-actions bot added the Spawn Creatures, items, vehicles, locations appearing on map label Jul 21, 2022
@github-actions github-actions bot added the json-styled JSON lint passed, label assigned by github actions label Jul 21, 2022
@github-actions github-actions bot added the BasicBuildPassed This PR builds correctly, label assigned by github actions label Jul 21, 2022
@I-am-Erk
Copy link
Member Author

This adds everything and is theoretically functional. However, it appears vehicle installation may not be correctly looking at crafting pseudo tools granted by furniture. This is a bug we should probably fix. I have no clue how to fix it.

@I-am-Erk
Copy link
Member Author

Thanks to @mqrause and #59536 this should be good to go, functionality was tested in that pr

@dseguin dseguin merged commit 2b95739 into CleverRaven:master Jul 23, 2022
@I-am-Erk I-am-Erk deleted the dost-thou-even-lift branch July 23, 2022 22:42
@Zireael07
Copy link
Contributor

Closing 4,5 years old issue, congrats! I think it's gotta be some sort of a record?

@I-am-Erk
Copy link
Member Author

Not a record but it is pretty good.

@Night-Pryanik
Copy link
Contributor

#56143 closed 8,5 years issue.

@descan
Copy link
Contributor

descan commented Jul 26, 2022

Normally wouldn't comment on a closed/merged commit like this, but I did have to go looking for this one to figure out how to place the constructions in-game, as it doesn't actually say what terrain/tiles are kosher except for a vague "horizontal beam" or something akin to that? Making the idea of a tree or the 2x4s you mentioned more explicit in-game might help other folks, and prevent bug-reports in the future of "I can't place this construction!"

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 Crafting / Construction / Recipes Includes: Uncrafting / Disassembling 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 Spawn Creatures, items, vehicles, locations appearing on map
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Do you even LIFT? We need makeshift lifts for vehicle maintenance. Constructions: pulley & rope system
5 participants