Benevolent27
Join the Dark Side
Thanks!Brilliant. So essentially an extension of an earlier idea to programmatically store the design somewhere within the ship: "update repair design" enables players to now deconstruct, and automatically save, an updated copy without releasing access of the protected to a non-spawning player. Support for this could be limited to shipyards - another way of encouraging shipyard usage.
Only real hitch to this, would be when saving a ship that has unprotected turrets on it; I suppose its not really a big deal to now integrate those turrets into the repair design. You do still retain full control and access over your own turret design, the "update repair design" function simply makes it easy for you bundle everything into one easily-repaired, package.
Agreed on the rest of what you said - very nicely illustrated.
[doublepost=1475502369,1475501683][/doublepost]
Fair enough. In addition, if shipyards are required to activate the AllowCopy attribute, then smaller things such as turrets are less likely to be assigned the attribute, as players would probably just spawn those entities from a blueprint, sans-shipyard.
The second quote you have here brings an important question to mind though. How to deal with attached entities? That is a rather tough question. I think it would have to be that all entities have their own permissions and repair designs stored in their own respective "ship-core computers." The shipyard would need to check all the permissions first before continuing and would need to only allow conservative operations.
Example 1: If a person attempts to create a new design on an unprotected ship, but which has a protected turret on it, the shipyard would give a warning, "Ship has an attached entity (name of entity) which will not be included in design due to lack of permission access. Do you wish to continue? yes/no" The design created would NOT have the turret on it.
Example 2: When repairing, it would work fine so long as all attached entities have the permission to repair allowed.
Example 3: If a person attempts to update the repair schematic for a ship, but one of the attached entities is set to NOT allow repair schematic updates, then the shipyard will return the error, "Unable to update repair design. You do not currently have adequate permission on the following entity(s): Turret1, turret2, etc." The reason it cannot allow the update (even for the unprotected entities) is because if entities have their repair design updated independently, it might result in a design with overlapping blocks.
Example 4: Let's say a person has an unprotected carrier ship (which they have faction access set to personal) but which has a protected fighter ship on it. The player could undock the small fighter ship and dock it to a shipyard and then repair the ship, if they have permission to do so. It would not spawn in a whole new carrier ship, because the repair design would be taken from the ship core of the fighter docked to the shipyard.
Example 5: Let's say the same unprotected carrier ship the above example is used in an attack. It takes some damage and all the protected fighters it has on board are lost. When taking the carrier back to the shipyard, a repair is ran. Only the carrier ship is repaired. None of the fighters lost will reappear, because their ship cores were not in the docking chain. The shipyard could not obtain their individual repair schematics. However, if only 2 fighters were lost out of 4, then when the carrier ship is repaired, those 2 fighters would, in fact, be rebuilt with the carrier ship.
Last edited: