365 lines
9.1 KiB
Plaintext
365 lines
9.1 KiB
Plaintext
//Defines types of objects, their governing script class, their accessible script methods, their components, and native members
|
|
|
|
//Shared members for all object types (cannot define methods)
|
|
Object {
|
|
visible:
|
|
Region$ region
|
|
}
|
|
|
|
Ship : objects.Ship::ShipScript {
|
|
Mover mover
|
|
Orbit@ orbit = null
|
|
LeaderAI@ leaderAI = null
|
|
SupportAI@ supportAI = null
|
|
Abilities@ abilities = null
|
|
Statuses@ statuses = null
|
|
Construction@ construction = null
|
|
Cargo@ cargo = null
|
|
visible:
|
|
float MaxEnergy = 0
|
|
float Energy = 0
|
|
float DPS = 0
|
|
float MaxDPS = 0
|
|
float Supply = 0
|
|
float MaxSupply = 0
|
|
float Shield = 0
|
|
float MaxShield = 0
|
|
bool isFTLing = false
|
|
bool isFree = false
|
|
quaterniond formationDest
|
|
Blueprint blueprint
|
|
Object Leader
|
|
Object RetrofittingAt
|
|
bool delayFTL = false
|
|
double minEngagementRange = 0
|
|
double maxEngagementRange = 0
|
|
int lastHit = 0
|
|
|
|
local safe bool get_isStation();
|
|
|
|
remote restricted:
|
|
void scuttle();
|
|
|
|
server:
|
|
async void retrofit(const Design@ toDesign);
|
|
bool consumeEnergy(double amount);
|
|
void refundEnergy(double amount);
|
|
void consumeSupply(double amount);
|
|
void consumeSupplyPct(double pct);
|
|
bool consumeMinSupply(double amount);
|
|
void refundSupply(double amount);
|
|
void repairShip(double amount);
|
|
void makeNotFree();
|
|
void setHealthPct(float pct);
|
|
void modSupplyBonus(float amount);
|
|
void modMass(float amount);
|
|
safe float getMass();
|
|
safe float getBaseMass();
|
|
int get_maintenanceCost();
|
|
void startEffects();
|
|
void setHoldFire(bool value);
|
|
void setDisableRegionVision(bool value);
|
|
void restoreShield(double amount);
|
|
void modBonusShield(float amount);
|
|
void shieldDamage(double amount);
|
|
void damageAllHexes(double amount, Object@ source = null);
|
|
void modHPFactor(float pct);
|
|
void modSupplyConsumeFactor(float mod);
|
|
safe bool getDisableRegionVision();
|
|
safe bool getHoldFire();
|
|
Object@ getLastHitBy();
|
|
void addBonusEffectiveness(float mod);
|
|
void recordDamage(Object@ source);
|
|
|
|
void startRetrofit(Object@ from, const Design@ to);
|
|
void stopRetrofit(Object@ from);
|
|
void completeRetrofit(Object@ from);
|
|
|
|
void suppress(double amount);
|
|
void mangle(double amount);
|
|
void startFire();
|
|
|
|
void triggerLeaderChange(Object@ prevLeader, Object@ newLeader);
|
|
|
|
safe Empire@ getKillCredit();
|
|
}
|
|
|
|
Star : objects.Star::StarScript {
|
|
Orbit orbit
|
|
visible:
|
|
double temperature
|
|
double Health = 20000000000
|
|
double MaxHealth = 20000000000
|
|
|
|
server:
|
|
void dealStarDamage(double amount);
|
|
}
|
|
|
|
Planet : objects.Planet::PlanetScript {
|
|
Orbit orbit
|
|
Construction buildQueue
|
|
Resources resources
|
|
SurfaceComponent surface
|
|
Abilities@ abilities = null
|
|
int ResearchRate = 100
|
|
LeaderAI leaderAI
|
|
Statuses statuses
|
|
Mover@ mover = null
|
|
Cargo cargo
|
|
visible:
|
|
double OrbitSize = 100
|
|
double Population
|
|
int PlanetType
|
|
bool renamed = false
|
|
double Health = 1000000000
|
|
double MaxHealth = 1000000000
|
|
|
|
local safe uint get_moonCount() const;
|
|
|
|
server:
|
|
void giveHistoricMemory(Empire@ emp);
|
|
void dealPlanetDamage(double amount);
|
|
void setRing(uint ring);
|
|
void destroyQuiet();
|
|
void addMoon(float size = 0, uint style = 0);
|
|
}
|
|
|
|
ColonyShip : objects.ColonyShip::ColonyShipScript {
|
|
invisible:
|
|
Object$ Origin
|
|
Object$ Target
|
|
Mover mover
|
|
visible:
|
|
synced double CarriedPopulation = 0
|
|
synced double Health = 50
|
|
}
|
|
|
|
Orbital : objects.Orbital::OrbitalScript {
|
|
Orbit orbit
|
|
Mover mover
|
|
Construction@ construction = null
|
|
Abilities@ abilities = null
|
|
LeaderAI@ leader = null
|
|
Resources resources
|
|
Statuses statuses
|
|
Cargo@ cargo = null
|
|
bool usingLabor = false
|
|
local visible:
|
|
safe uint get_coreModule();
|
|
safe bool get_isStandalone();
|
|
safe bool get_isContested();
|
|
safe bool get_isDisabled();
|
|
OrbitalSection@[] getSections();
|
|
bool hasModule(uint typeId);
|
|
safe double get_health();
|
|
safe double get_maxHealth();
|
|
safe double get_armor();
|
|
safe double get_maxArmor();
|
|
safe double get_dps();
|
|
safe double get_efficiency();
|
|
safe vec3d get_strategicIconPosition() const;
|
|
double getValue(uint id);
|
|
const Design@ getDesign(uint id);
|
|
Object@ getObject(uint id);
|
|
safe bool hasMaster();
|
|
safe bool isMaster(Object@ obj);
|
|
Orbital@ getMaster();
|
|
restricted remote:
|
|
void buildModule(uint typeId);
|
|
void destroyModule(int id);
|
|
void scuttle();
|
|
void sendValue(uint id, double value = 1.0);
|
|
void sendObject(uint id, Object@ obj);
|
|
void sendDesign(uint id, const Design@ design);
|
|
server:
|
|
async relocking void checkOrbit();
|
|
vodi setMaster(Orbital@ orb);
|
|
void setBuildPct(double pct);
|
|
void modDPS(double mod);
|
|
void setDisabled(bool value)
|
|
void setContested(bool value);
|
|
void addSection(uint modId);
|
|
void modMaxArmor(double value);
|
|
void modMaxHealth(double value);
|
|
void modDR(double value);
|
|
void triggerDelta();
|
|
void makeFree();
|
|
void repairOrbital(double amount);
|
|
}
|
|
|
|
Region : regions.Region::RegionScript {
|
|
RegionObjects objects
|
|
|
|
visible:
|
|
locked_int SiegedMask = 0
|
|
locked_int SiegingMask = 0
|
|
locked_int ProtectedMask = 0
|
|
locked_int FreeFTLMask = 0
|
|
locked_int BlockFTLMask = 0
|
|
locked_int GateMask = 0
|
|
locked_int ScoutingMask = 0
|
|
int EngagedMask = 0
|
|
int CombatMask = 0
|
|
int CoreSystemMask = 0
|
|
int AngleOffset = 0
|
|
double InnerRadius = 100
|
|
double OuterRadius = 200
|
|
int SystemId = -1
|
|
int PrimaryEmpire = -1
|
|
uint ContestedMask = 0
|
|
uint TradeMask = 0
|
|
uint PlanetsMask = 0
|
|
uint VisionMask = 0
|
|
uint BasicVisionMask = 0
|
|
uint DonateVisionMask = 0
|
|
uint MemoryMask = 0
|
|
uint ShipyardMask = 0
|
|
int TargetCostMod = 0
|
|
uint AvailSupportMask = 0
|
|
locked_int ExploredMask = 0
|
|
|
|
local:
|
|
safe bool getSystemFlag(Empire@ emp, uint flagIndex) const;
|
|
safe bool getSystemFlagAny(uint flagIndex) const;
|
|
|
|
server:
|
|
uint SeenMask = 0
|
|
|
|
void setSystemFlag(Empire@ emp, uint flagIndex, bool value);
|
|
void modTargetCostMod(int mod);
|
|
}
|
|
|
|
Territory : objects.Territory::TerritoryScript {
|
|
local:
|
|
bool canTradeTo(Region@ region) const;
|
|
uint getRegionCount() const;
|
|
Region@ getRegion(uint i) const;
|
|
|
|
server:
|
|
void add(Region@ region);
|
|
void remove(Region@ region);
|
|
}
|
|
|
|
Pickup : objects.Pickup::PickupScript {
|
|
PickupControl control
|
|
visible:
|
|
int PickupType = -1
|
|
}
|
|
|
|
Asteroid : objects.Asteroid::AsteroidScript {
|
|
Orbit orbit
|
|
Cargo cargo
|
|
Resources resources
|
|
visible:
|
|
Object origin
|
|
double HasBase = 0
|
|
local:
|
|
vec3d get_strategicIconPosition();
|
|
safe uint getAvailableCount();
|
|
uint getAvailable(uint index);
|
|
double getAvailableCost(uint index);
|
|
double getAvailableCostFor(uint resId);
|
|
safe bool canDevelop(Empire@ emp);
|
|
safe bool canGainLimit(Empire@ emp);
|
|
server:
|
|
void initMesh();
|
|
void setup(Object@ origin, Empire@ emp, uint resource);
|
|
void addAvailable(uint resource, double cost);
|
|
void setResourceLimit(uint limit);
|
|
void modResourceLimitMod(int mod);
|
|
void morphTo(uint resource, double cost = 10.0);
|
|
}
|
|
|
|
Anomaly : objects.Anomaly::AnomalyScript {
|
|
local safe:
|
|
float get_progress() const;
|
|
string get_narrative() const;
|
|
string get_model() const;
|
|
string get_material() const;
|
|
uint get_anomalyType() const;
|
|
uint get_optionCount() const;
|
|
uint get_option(uint index) const;
|
|
|
|
remote:
|
|
relocking async void choose(uint option, Object@ target = null);
|
|
|
|
server:
|
|
relocking async void choose(Empire@ emp, uint option, Object@ target = null);
|
|
safe uint getOptionCount() const;
|
|
safe bool get_isOptionSafe(uint index) const;
|
|
safe float getEmpireProgress(Empire@ emp) const;
|
|
void setup(uint type);
|
|
void progressToState(uint state);
|
|
void addProgress(Empire@ emp, float progress);
|
|
void clearOptions();
|
|
void addOption(uint id);
|
|
}
|
|
|
|
Oddity : objects.Oddity::OddityScript {
|
|
local safe:
|
|
bool isGate();
|
|
Object@ getLink();
|
|
double getTimer();
|
|
vec3d getGateDest();
|
|
vec3d get_strategicIconPosition();
|
|
|
|
server:
|
|
void setGate(bool value);
|
|
void linkTo(Object@ obj);
|
|
void linkVision(bool value);
|
|
void setTimer(double timer);
|
|
void makeVisuals(uint type, bool fromCreation = true, uint color = 0xffffffff);
|
|
void setSuperior(bool value);
|
|
uint getVisualType();
|
|
uint getVisualColor();
|
|
}
|
|
|
|
Freighter : objects.Freighter::FreighterScript {
|
|
invisible:
|
|
Object$ Origin
|
|
Object$ Target
|
|
Mover mover
|
|
int StatusId = -1
|
|
double StatusDuration = 180.0
|
|
bool SetOrigin = False
|
|
int MinLevel = 0
|
|
bool VisitHostile = False
|
|
visible:
|
|
string skin
|
|
synced double Health = 50
|
|
}
|
|
|
|
Artifact : objects.Artifact::ArtifactScript {
|
|
Abilities abilities
|
|
Orbit orbit
|
|
visible:
|
|
int ArtifactType = -1
|
|
server:
|
|
void setExpire(double time);
|
|
};
|
|
|
|
Civilian : objects.Civilian::CivilianScript {
|
|
Mover@ mover = null
|
|
local visible:
|
|
safe uint getCargoType();
|
|
safe uint getCargoResource();
|
|
safe int getCargoWorth();
|
|
safe uint getCivilianType();
|
|
safe double get_health() const;
|
|
safe double get_maxHealth() const;
|
|
server:
|
|
void setOrigin(Object@ origin);
|
|
void pathTo(Object@ origin, Object@ target, Object@ intermediate = null);
|
|
void pathTo(Object@ target);
|
|
void gotoTradeStation(Civilian@ station);
|
|
void gotoTradePlanet(Planet@ planet);
|
|
void setCargoType(uint type);
|
|
void setCargoResource(uint id);
|
|
void modCargoWorth(int diff);
|
|
safe int getStepCount();
|
|
void resetStepCount();
|
|
void modStepCount(int mod);
|
|
void setCivilianType(uint type);
|
|
void modIncome(int mod);
|
|
};
|