CleverRaven / Cataclysm-DDA

Cataclysm - Dark Days Ahead. A turn-based survival game set in a post-apocalyptic world.
http://cataclysmdda.org
Other
10.63k stars 4.18k forks source link

Vehicle cotainers elligible for quests/trade #48704

Closed CountAlex closed 1 year ago

CountAlex commented 3 years ago

Is your feature request related to a problem? Please describe.

Sometimes quest or trade opportunity requires voluminous or heavy objects. Making a container in player's vehicle eligible for quest item/trade check might make those much easier in terms of running back and forth to a car deliver 10 60L tanks.

Describe the solution you'd like

A way to mark vehicle container to be usable for trade/quest checks and related code to check these containers if a vehicle is in a vincity.

Describe alternatives you've considered

Keep using current player inventory's only system.

Additional context

N/A

Anaglyphic commented 3 years ago

Hi @CountAlex. I see your content commits and comments and it's clear if you were motivated, you might just implement it. I want to talk you out of it. :smile_cat: While I love logistics conversations, I think this is a gameplay discussion more than a feature request.

Apologies for the wordiness for those bughunting who got emailed this. Ignore my rambling.

Going off the premise that, well, fitting with the CDDA narrative, it's not supposed to be easy, yes? Something like this is similar to implementing instant sleep <poof!> it went from 9p to 6a and all's well, or insta-recruit a whole army of 20 survivors to run your camps. It'd be a different game. Would you want to implement those?

I thought for immersion it's supposed to be annoying to shlep a ton o gear, either by plopping down all your must-carry stuff and loading up for the rummage sale run, or doing what I assume most do early-on, toggle backslash and drag that ton of crap, that entire trunk-full of garbage from the truck up the sidewalk and into Trader Bob's Mecha Merchant Emporium, getting exhausted every 20 tiles and having to rest until you catch your breath.

I do get what you are saying, to just want to be able to tag it like we do firewood source, "Hey Bob, I got some good gear in my truck, come out and take a look." and I'm sure with enough effort it could be crowbar'd into working out. It might even be reasonable if it's our trading post they're coming to, designate a "yard sale" zone - anything inside here is up for trade regardless where the person assigned to barter was.

I feel what you are contemplating will actually change CDDA game mechanics more than you are considering. You know it will be abused. Because what's the range? Oh you couldn't get your truck closer than 400 tiles due to dense forest, so you flagged the 6x3 cargo region of your delivery truck as tradeable then waltzed through the woods easily, unencumbered? No obviously hyperbole and not fair.

But what about from the road to the inside a secure building with a perimeter fence, or - let's go with something non-spoiler, the Merchant's at the evac center trader... if you drive like society still existed (you know, on the road, not pulling up to the window like a BK drivethru) that could still be 50 tiles or so. So it gets implemented but then some think it's too easy and others think it's too restrictive. back and forth, back and forth. Even as a mod, this would be argued over. Also, how do you make it so it's just for trade inventory? If you can't tighten the scope, people will use it to pull building materials, food, supplies, everything they'd ever need from constructing and crafting menus from who-knows-how-far.

No. It's probably not a complete idea. :thinking:

Describe alternatives you've considered

So, Devil's Advocate: What's wrong with doing it within the CDDA construct as it exists? Why is the "bike rack" method not enough? Many build and attach a row of bike racks onto a vehicle, on both sides and the rear even, then put any single-frame-wide vehicle next to each one, and examine the rack to load it on.

Case in point re: moving tons of crap for trading or solving a quest mission: A vehicle trunk on a standard frame is 200L, a 4-frame long one would hold 800L and would only cost as many turns as the weight displacement did to move the wheels. This is how we move our shopping carts with us, our welding rigs, etc. (If you had rope and the other assorted resources / knowledge / proficiencies needed to build cargo carriers, those are 500L each, the same size cart could hold 2000L with 2.5x capacity but only 1.8x increased drag.)

This way is both already implemented and is lore / immersion friendly... easier than backslash dragging, and you can deposit your loot into your cart's storage and drive around that way, no need to shuffle loot on and off the vehicle's storage.

And let's not forget being CDDA, the "how?" of it is up to the individual gamer. They want a minifreezer and storage battery and solar panel recharger so they can sell frozen treats like a helado cart? Go right ahead. They want to make it 6 tiles long and drive it into buildings like some airport terminal luggage trolley, with an electric motor and controls for the steerable wheels? All you, babe. Just have enough in-line bike rack slots to accommodate their single-frame-width whatever and off they drive.

Naming it "bike rack" probably hurts it's usage for those that won't experiment and want a step-by-step guide, but that defeats some of the intent of CDDA exploration - AKA "figure it out!" (maybe that component deserves a rename, "additional vehicle storage rack" or something.)

Thoughts? Did I convince you?

just a little neighbourhood night lootin' with a 2000L trolley! just a little night looting

CountAlex commented 3 years ago

@Anaglyphic Wow! What a thought-out answer, thanks! Sure, the game is about how hard it is to survive after complete collapse. However I believe that game difficulty should not come from thighs like fighting with interface or repititive and boring actions that don't add much to experience (like running back and forth and managing stuff you carry to trader). To set off some of possible abuse implementation can actually only allow taking from the vehicle in a reality bubble, as it's not that big. Also this feature probably should use some of the in-game time to display carrying things to questgiver/trader. Shopping carts and such stuff helps with this to a degree but again, for me it seems to be Quality-of-life thing more than anything. People already might use Zoning for similar actions with picking loot, sorting it and such. Besides game is usually focused on realism, so I think saying "Bob, that 200L thing you wanted is in my trunk, have it and pay up" is more sensible rather than making Frankenshoppingcartstein (it's cool though). I don't think I could implement this myself as dealing with inventory code is a piece too big for me.

Anaglyphic commented 3 years ago

"Besides game is usually focused on realism"

Ahh! That could be used to argue exactly what I was saying as well, though. Besides we know Bob, Bob doesn't care, unless - as you example - he's the one that requested said trade item(s) for a mission requirement; I can't imagine he's leaving his nice protected-by-guards/walls/fences/turrets shop to schlep out to a pile of things to make an offer on with untold evils about.

Really worried - well, you know, not worried but can sense the dire foreshadowing - about how it might be abused, but if you're not going to tackle it personally I guess it wasn't imperative to type all that out...lol. Considering the stack of the things people want for the 0.F freeze n fix, this will probably not be a priority.

Hmm. What about an implementation that satisfies that distance trade interaction for quests without adjusting the inventory management at all? To be lore friendly, couldn't we just give Bob's store a base station radio with exceptional range, and you can contact him via your trusty two-way? Radio in and get Bob to send a fetch team to or a vehidle with a crane, etc. to come get at for remote mission completion? This wouldn't require anything to do with inventory management, no weights encumbrance or volumetric capacity to deal with, just deletes it from your inventory/vicinity and gives you your reward and completed mission status. This way there's no possibility of exploiting it for general-purpose loot shifting.

Cheers for reading it, too! As I said, love logistics conversations! :+1:

actual-nh commented 3 years ago

An initial implementation could combine these - once quest-giver is in reality bubble, can satisfy quest by just telling them (and possibly waiting a bit for them to path to you). See how that does and adjust from there. EDIT: I am almost certainly not up to editing the code for this either - I've heard about the inventory code...

stale[bot] commented 3 years ago

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.

pjf commented 3 years ago

As a note, if you're adjacent to a vehicle, you can use the contents of that vehicle in trades.

So while you can't say "your gear is in my van parked outside", you can certainly load everything in a cart and trade from your cart that you've dragged inside.

stale[bot] commented 3 years ago

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.

Night-Pryanik commented 1 year ago

Closing as stale, since stalebot can't do this by itself.