Files
2018-07-17 14:15:37 +02:00

42 lines
1.5 KiB
Plaintext

Object.Statuses : components.Statuses::Statuses {
local:
Status@[] getStatusEffects();
bool hasStatusEffect(uint typeId);
safe uint get_statusEffectCount();
uint get_statusEffectType(uint index);
uint get_statusEffectStacks(uint index);
Object@ get_statusEffectOriginObject(uint index);
Empire@ get_statusEffectOriginEmpire(uint index);
uint getStatusStackCount(uint typeId, Object@ originObject = null, Empire@ originEmpire = null);
uint getStatusStackCountAny(uint typeId);
server:
int addStatus(double timer, uint typeId, Empire@ boundEmpire = null, Region@ boundRegion = null, Empire@ originEmpire = null, Object@ originObject = null);
void addStatus(uint typeId, double timer = -1.0, Empire@ boundEmpire = null, Region@ boundRegion = null, Empire@ originEmpire = null, Object@ originObject = null);
void removeStatus(int id);
bool isStatusInstanceActive(int id);
void removeStatusType(uint typeId);
void removeStatusInstanceOfType(uint typeId);
void removeRegionBoundStatus(Region@ region, uint typeId, double timer = -1.0);
uint get_statusInstanceCount();
uint get_statusInstanceType(uint index);
int get_statusInstanceId(uint index);
void addRandomCondition();
void changeStatusOwner(Empire@ prevOwner, Empire@ newOwner);
void changeStatusRegion(Region@ prevRegion, Region@ newRegion);
void statusTick(double time);
void destroyStatus();
void writeStatuses(Message& msg) const;
bool writeStatusDelta(Message& msg) const;
shadow:
void readStatuses(Message& msg);
void readStatusDelta(Message& msg);
}