CleverRaven / Cataclysm-DDA

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

Car dissection leads to odd behavior #28966

Open Headjack opened 5 years ago

Headjack commented 5 years ago

Describe the bug
Extracting part of a vehicle through destroying connecting sections then dragging the remainder causes the larger(?)portion to vanish/ compress into a single tile and prevents dragging the smaller. Save/load fixes this, but leads to intersecting vehicle parts.

To Reproduce
Steps to reproduce the behavior: I wanted to have just a solar panel segment from an electric car with no motor. I manually removed the frames surrounding it and smashed the last one so it would be it's own vehicle, then dragged the two-tile solar panel sections. this caused the larger portion to vanish or compress into a single seat tile. dragging the panels rendered an error message about grabbed object. saving and loading resulted in the panels intersecting with the now present larger part, which i was able to pull away without issue.

Expected behavior
solar panels move away with no error

Versions and configuration(please complete the following information):

savegame is available.

int-ua commented 5 years ago

I think I had a similar experience when dragging an unfolded shopping cart through a place where missing parts of another vehicle would have been if they were not missing.

RogueYun commented 5 years ago

I just got a similar issue. After dissecting a vehicle I tried to siphon fuel into my new vehicle and got this error:

 DEBUG    : error in activity data: "could not find source vehicle for liquid transfer"

 FUNCTION : void activity_handlers::fill_liquid_do_turn(player_activity*, player*)
 FILE     : src/activity_handlers.cpp
 LINE     : 1388

Then walking by the partially dissected vehicle reduced itself to a single tile. Trying to interrract with it and repair it (just for the sake of breaking things) I get the following errors.

 DEBUG    : Activity ACT_VEHICLE: vehicle not found

 FUNCTION : static void veh_interact::complete_vehicle()
 FILE     : src/veh_interact.cpp
 LINE     : 2791

  DEBUG    : process_activity ACT_VEHICLE: vehicle not found

 FUNCTION : void activity_handlers::vehicle_finish(player_activity*, player*)
 FILE     : src/activity_handlers.cpp
 LINE     : 1966

Version: 0.D-3532-gbe5965a (tiles) Build: 9060