Page MenuHomeSchine - Phabricator

Starmade | recall pickup area is used relative to mothership instead of the actual entity
Confirmed task for development, NormalPublic

Description

I have a ship with retracting drone bays (entity docked to mothership). Drones are stored in these bays for mining and combat (Drones dock to the bays). When the pickup point on the drone bay is registered as the pickup area for the drone, it stores the pickup area coordinates relative to the drone bay core instead of the mothership core.
When the Carrier Recall command is issued, the drones try to return to the coordinates that were stored, but the drone will navigate relative to the main ship core and not the drone bay core (where the coordinates were registered from). This causes the drone to "dock" in a completely wrong position.

My suggestion is: Whenever a pickup area is registered, to recursively look up the docked entity chain adding the core offsets (accounting for core orientation) until the fleet mothership is reached.

Details

Task Type
Bug
Testing Results
Affected Gamemode(s)
Single and Multi
Reproducible
Yes
Last tested (version)
0.200.334
Category
Fleets
First occurrence (version)
0.199.535a
Hardware/Software/System
OS-Specific
No
Hardware-Specific
No
Video Card Vendor
uncertain
Steps to reproduce

Create a fleet "mothership" and add a docked entity (bay) with a pickup point a sufficient distance away from the core. create a fleet drone and dock it to the pickup point. Send the drone off somewhere and then issue the carrier recall command.

Tester information (Internal use only)

Not a bug, but could be done better. Currently there's not enough information saved for the fleets to use the coordinate of a pickup area relative to the ship the drone is directly docked to. It still uses that coordinate though, but then relative to the mothership.
Instead it might be better to just use the coordinate relative to the main ship, which I think is also the suggestion of the OP. This has as downside that it would not work for pickup blocks on moving rails.

Best solution is to actually use the UID of the ship that currently is used for the pickup point coordinate, which is the entity with the used pickup block on it.

Serverconfig (server.cfg)
 <replace this block with the file content, 
but do not remove the first and last line. 
Before using the paste function, mark the area from the 
opening angle bracket to the closing angle bracket>
Clientconfig (settings.cfg)
 <replace this block with the file content, 
but do not remove the first and last line. 
Before using the paste function, mark the area from the 
opening angle bracket to the closing angle bracket>

Event Timeline

lancake added a subscriber: lancake.
lancake claimed this task.

-validated- & -confirmed-

Not a bug, but could be done better. Currently there's not enough information saved for the fleets to use the coordinate of a pickup area relative to the ship the drone is directly docked to. It still uses that coordinate though, but then relative to the mothership.
Instead it might be better to just use the coordinate relative to the main ship, which I think is also the suggestion of the OP. This has as downside that it would not work for pickup blocks on moving rails.

Best solution is to actually use the UID of the ship that currently is used for the pickup point coordinate, which is the entity with the used pickup block on it.

lancake shifted this object from the S1 Public space to the S3 Starmade space.Mar 18 2018, 7:57 PM
lancake changed the visibility from "Custom Policy" to "Public (No Login Required)".
lancake changed the edit policy from "Task Author" to "Starmade (Project)".
lancake edited Tester information (Internal use only). (Show Details)
lancake changed Affected Gamemode(s) from none/unspecified to Single and Multi.
lancake changed Last tested (version) from 0.199.535a to 0.200.334.
lancake changed Category from none/unspecified to Fleets.
lancake renamed this task from Fleets do not store proper pickup area with multiple levels of docked entities to recall pickup area is used relative to mothership instead of the actual entity.
lancake changed the task status from Open to In Queue.
Restricted Application edited projects, added Game Development, Fleets; removed Issue Navigation. · View Herald TranscriptMar 18 2018, 7:58 PM
33Cav added a subscriber: 33Cav.Mar 19 2018, 3:02 PM

Actually the problem extends much further than OP realises. If you dock the mothership to a station using a pickup point the drones will attempt to dock in the vicinity of the pickup point on the station instead of the drone bay of the mothership even when the mothership is undocked and in an adjacent sector.

JNC added a subscriber: JNC.Jan 21 2019, 6:23 PM

As far as I've noticed, "carrier recall" is broken because of this. Half the ships wont obey the command and the others may go to the wrong sector, and none actually dock.... it is terrible.