Cataclysm-dda: Can't grab a bed

Created on 3 Jul 2018  路  17Comments  路  Source: CleverRaven/Cataclysm-DDA

Game version: 0.C-28739-g966bfea

Expected behavior

The player can grab a bed to drag it.

Actual behavior

The player cannot grab a bed, with a message in the log, literally: "You can not grab the bed" (without a period). Can grab a sofa, or a makeshift bed, or any other furniture I tried, though.

Fields / Furniture / Terrain / Traps stale

Most helpful comment

... anything to do with vehicle construction is definitely not "quick and easy"

All 17 comments

Is this because they are assumed to be multiple tile entities? Such as a large 4 tile bed? We could assume they are "Divan" type, but even those only split in two. Or could we spin them out as actual vehicle constructions (to drag around as large tiles... not because I want a driveable bed. Though now I think of it...).

Based on furniture.json in the source it's a deliberate choice to make them not movable - the required_str for them is -1, which means it can't be moved. Same for things like toilets, sinks, straw beds, etc.

I am curious as to why this was done, though. It seems like you should be able to move a bed, even if it would take significant strength to do so.

You can drag only one furniture tile at once. Beds consist of 4 tiles (2x2) or 9 tiles (3x3).

Sure, but for example things like counters are also multi-tile, and not meant to be imagined as separate pieces of furniture (at least, counters in restaurants and kitchens certainly aren't) but rather one long piece. Despite that, they can be moved tile-by-tile. While I'm not saying that this should automatically make beds movable, it _is_ inconsistent, so I think either beds should become movable or the other similar multi-tile things like counters should become immovable.

Sure it is inconsistent and SHOULD be fixed - noone bothered to fix it yet. I would prefer multitile furniture could be moved all together (like vehicles).

But for now think of Sims - counters are separate entities there which can be moved freely, but are glued together with other counters when put in place.

I assume coding wise it would be quick and easy (relatively)?

Define a new instance of the vehicle construction, name it "furniture construction" or similar.

It would load up the current vehicle construction system, but have the current furniture construction skill requirements, and only list beds/tables/chairs etc. It would allow multiple tile furniture that way, and also be draggable.

... anything to do with vehicle construction is definitely not "quick and easy"

Ok. But I can see the current system working. I'll give making some furniture in it a try later. [Bed frame item, mattress, sheet etc]

The coding would be if we wish to separate vehicle from furniture in the GUI... but I'd assume the actual code/gameplay would be identical:
https://images-na.ssl-images-amazon.com/images/I/81QZ946U-EL._SL1500_.jpg
vs
http://mickcoote.com/dev/wp-content/uploads/2012/11/L1000784.jpg

[edit]
Making a bet out of frames (or light frames) wooden or metal seems to work. Only problem is crafting currently requires (and disassembles) into a "seat". Which is strange in some respects.

However, if a seperate "mattress" or "padding" part was used, they could be made into sofa/bed and disassembled into that, instead of the current "rags".

Then you could have multiple tile long tables, sofas, beds, etc. And be able to move and push them accordingly, and have them break as expected (well, when vehicle tile separating becomes available).

If you start making furniture that is a vehicle "under the hood" (heh), please add a flag that we can attach to the furniture to mark it as not a vehicle for the purposes of the driving and vehicle construction menus.

I'm very in favor of doing it this way, but "furniture using the vehicle system" needs to be distinct from actual vehicles.

Also I'm not clear on why you need separate components per tile, unless you have a use case for creating a bedframe item with no mattress, just make the bedframe and mattress one thing. Basically keep it as simple as possible.

In the labs, there are beds that are 2x1 all over the place, and you can even disassemble one tile, leaving a single tile 'bed' that looks more like a divan or ottoman, which does seem weird.

As for separating bedframe and mattress: That's actually pretty smart compared to just using a single combined component, because you can throw a mattress down basically anywhere to sleep on (rollmats IRL are basically just custom-made to be thrown down in all sorts of situations without getting dirty easily and being easily cleanable), but serious bedframes just aren't really movable unless you take them apart. So you can make a "building" of "bedframe" (1st stage building which cannot be moved, only constructed/deconstructed) and a craft of a "mattress" that can be installed on a bedframe (2nd stage building), thrown on the ground to sleep, or tossed into an aisle tile in a vehicle to sleep in better than a vehicle seat (seriously, seats are uncomfortable as heck to sleep in compared to a proper bed, or even a solid car-length back seat).

@kevingranade Yes, that was exactly what I meant. :) I don't know how to make a single item cover multiple tiles that way. If a bed was 2x2, can the game engine install a single "mattress" item over all 4 tiles?

a 2x2 bed made out of frames works currently. My ability (jsons only :( ), would be to plan on editing items to test it. Then I'd look at map/item spawn, and see how to get it to spawn in the right places.

As an example, I'm not totally coming up with this idea myself, as the game already has this. Office chairs are "vehicles".

The only problem, from consistency, is as a player and/or code base, we would have furniture in two places. So I'd assume, one would be labeled "static" furniture, and one "small" furniture?

@Amariithynar You are correct that some beds cannot be moved. Others can be dragged, and yet more have some coasters (I would assume we could make a tolley version coaster wheel for each corner of the bed).

@TechyBen We already have 4" casters, so put them to good use! ;P

@Amariithynar When it comes to mechanics (and not art) I get a little OCD... (Who am I kidding, I do it for art too!)

So, 4" casters on a single tile trolly = 4 wheels. On a 2x2 bed it will either be uncentered, or 16 wheels. :O

TBF, most beds would really only be about a 1x1 tile and a bit, assuming the D&D 5' cube is the standard tile size (and seems roughly accurate for purposes of player size, reach, etc), but are graphically represented as more for a sense of scale; beds range in width from 3 feet to 6 feet, and in length from 6 foot 2 inches to 6 foot 8 inches; so a little spillover into other tiles that could be handwaved away. ;)

screenshot 6
screenshot 7
screenshot 8
screenshot 9

I don't knoooooow, with some clever ingenuity, I managed to make myself a grab-able bed in like 5 minutes

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. Please do not 'bump' or comment on this issue unless you are actively working on it. Stale issues, and stale issues that are closed are still considered.

This issue has been automatically closed due to lack of activity. This does not mean that we do not value the issue. Feel free to request that it be re-opened if you are going to actively work on it

Was this page helpful?
0 / 5 - 0 ratings

Related issues

2birdie picture 2birdie  路  3Comments

jeremyshannon picture jeremyshannon  路  3Comments

RogueYun picture RogueYun  路  3Comments

ituluwituluwzev picture ituluwituluwzev  路  3Comments

Taberone picture Taberone  路  3Comments