There are 3 separate types of dockers for 4 separate types of entities.
The distinction between static/greebly is for collision checks only.
Static could as well occupy blocks on the main ships, if they are not already occupied, but greebly needs a dynamic collision check (while moving).
- undocked entity
- flexible docked
- Separate entity attributes
- BUT weight diminishes if it can supplement it's own thrust, but else it's fully disabled (not logic, but weapons, shield-sharing, etc)
- Formula:
- thrust with 25e/s*reactors and no e-storage => shareableThrust
- Notes: use most efficient thrust-array first, only use base power regen.
- weight/total >= sharedThrust/total
- Note: (shared)thrust/total cannot be greater than weight/total.
- Reason:
- It should be neither "a weight to carry" nor "a supplement to shield-power or weapon-power or manoeuvrability" because this would exploit the limit on docked reactors which comes with the fuel-reactors. This formula matches the requirements with least effort.
- thrust with 25e/s*reactors and no e-storage => shareableThrust
- Separate entity attributes
- static/greebly docked
- Bobby-AI cannot control movement directly.
- Attributes are shared with the main ship - see them as moving thrust/weapon/shield/block arrays on the main ship.
- Undocking will never work automatically. NEVER. Docking only works by deleting/adding via shipyards or rebuilding/unbuilding or otherwise manually.
- turret docked
- Bobby-AI can control it fully.
- Bobby-AI can also control all static/greebly -docked barrels docked to a rotator on this entity.
- barrels and eventually turrets also never undock to reduce lag the remember the last docking-spot they were docked on.
The distinction between static/greebly is for collision checks only.
Static could as well occupy blocks on the main ships, if they are not already occupied, but greebly needs a dynamic collision check (while moving).