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

48 lines
1.6 KiB
Plaintext

Object.Abilities : components.Abilities::Abilities {
local:
safe uint get_abilityCount() const;
Ability@[] getAbilities() const;
uint get_abilityTypes(int id) const;
int findAbilityOfType(int type) const;
remote:
async relocking void activateAbility(int id);
async relocking void activateAbility(int id, vec3d point);
async relocking void activateAbility(int id, Object@ target);
server:
async relocking void activateAbilityFor(Empire& emp, int id);
async relocking void activateAbilityFor(Empire& emp, int id, Object@ target);
async relocking void activateAbilityFor(Empire& emp, int id, vec3d point);
async relocking void activateAbilityTypeFor(Empire& emp, int type);
async relocking void activateAbilityTypeFor(Empire& emp, int type, Object@ target);
async relocking void activateAbilityTypeFor(Empire& emp, int type, vec3d point);
void initAbilities(const Design@ fromDesign);
void destroyAbilities();
void abilityTick(double time);
void abilityOwnerChange(Empire@ prevOwner, Empire@ newOwner)
void setNeutralAbilities(bool value);
void setAbilityDestroy(bool value);
void setCooldownForType(int typeId, double cooldown);
int addAbility(uint id);
void createAbility(uint id);
void removeAbility(int id);
void disableAbility(int id);
void enableAbility(int id);
bool isChanneling(int id);
bool isAbilityOnCooldown(int id);
double getAbilityRange(int id, Object@ target);
double getAbilityRange(int id, vec3d target);
//Networking
void writeAbilities(Message& msg) const;
bool writeAbilityDelta(Message& msg) const;
shadow:
void readAbilities(Message& msg);
void readAbilityDelta(Message& msg);
}