Object.Construction : construction.Construction::Construction { restricted local safe: bool get_canBuildShips(); bool get_canBuildOrbitals(); bool get_canBuildAsteroids(); bool get_canBuildSupports(); bool get_canTerraform(); uint get_constructionCount() const; bool get_constructingSupport() const; bool get_canExportLabor() const; bool get_canImportLabor() const; double get_laborIncome() const; double get_constructionCostMod() const; int get_shipBuildCost() const; int get_orbitalBuildCost() const; int get_supportBuildSpeed() const; double get_orbitalMaintenanceMod() const; double get_terraformCostMod() const; bool get_isRallying() const; vec3d get_rallyPosition() const; double get_laborStorageCapacity() const; double get_currentLaborStored() const; bool get_isRepeating() const; restricted local: float get_constructionProgress() const; string get_constructionName(uint num) const; const Design@ get_constructionDesign() const; Constructible@[] getConstructionQueue(); Constructible@[] getConstructionQueue(uint limit); Object@ get_rallyObject() const; restricted remote: void cancelConstruction(int id); void buildFlagship(const Design@ design, Object@ constructFrom = null); async relocking void buildOrbital(int OrbitalType, vec3d position, Object@ frame = null, Object@ constructFrom = null); async relocking void buildStation(const Design@ design, vec3d position, Object@ frame = null, Object@ constructFrom = null); async relocking void buildConstruction(uint constructionType, Object@ objTarg = null, vec3d pointTarg = vec3d()); void buildDryDock(const Design@ forDesign, float pct); void workDryDock(Orbital@ dryDock); async relocking void buildAsteroid(Asteroid@ asteroid, uint resourceId, Object@ constructFrom = null); async relocking void startTerraform(Planet@ planet, uint resourceId); void addSupportShipConstruction(int id, const Design@ dsg, uint amount); void removeSupportShipConstruction(int id, const Design@ dsg, uint amount); void exportLaborTo(Object@ other); void moveConstruction(int id, int beforeId = -1); void clearRally(); void rallyTo(Object@ dest); void rallyTo(vec3d position); void setRepeating(bool value); server: safe uint get_constructionType() const; int get_constructionID(uint num) const; double get_distributedLabor() const; safe bool get_isUsingLabor() const; safe double get_baseLaborIncome() const; safe double get_laborFactor() const; void destroyConstruction(); void modLaborIncome(double mod); void modLaborFactor(double mod); void setDistributedLabor(double val); safe bool flagUsingLabor(Object@ obj = null); void modLaborStorage(double mod); void modStoredLabor(double mod, bool obeyCap = false); void modSupportBuildSpeed(int amt); void modShipBuildCost(int amt); void modOrbitalBuildCost(int amt); void modOrbitalMaintenanceMod(double amt); void modTerraformCostMod(double amt); void multConstructionCostMod(double multFactor); uint queuePosition(int id); void modConstructionHPBonus(double mod); safe double get_constructionHPBonus(); void startBuildingConstruction(uint type, vec2i position); void cancelBuildingConstruction(uint type, vec2i position); void startRetrofitConstruction(Object@ fleet, int buildCost, double laborCost, int extraMaint, Object@ constructFrom = null); void retrofitDesignCost(Object@ fleet, const Design@ dsg); void retrofitDesignCostFinish(Object@ fleet); void buildSupport(uint id, const Design@ design, Object@ buildFor); void transferBuildSupport(uint id, Object@ buildFor); void cancelBuildSupport(uint id); void doRally(Object@ orderObj); void set_canBuildShips(bool value); void set_canBuildOrbitals(bool value); void set_canBuildAsteroids(bool value); void set_canBuildSupports(bool value); void set_canTerraform(bool value); void set_canExportLabor(bool value); void set_canImportLabor(bool value); relocking void constructionTick(double time); bool hasConstructionUnder(double eta); bool writeConstructionDelta(Message& msg) const; void writeConstruction(Message& msg) const; shadow: void readConstructionDelta(Message& msg); void readConstruction(Message& msg); }