Empire.InfluenceManager : components.InfluenceManager::InfluenceManager { restricted local: int get_Influence(); double get_InfluenceIncome(); double get_InfluencePercentage(); double get_InfluenceEfficiency(); double get_InfluenceCap(); double get_InfluenceFactor(); uint getInfluenceCardCount(); InfluenceCard@[] getInfluenceCards(); int getInfluenceStock(); local: InfluenceCard@[] getInfluenceCard(int id); uint getInfluenceCardType(int id); int getInfluenceCardUses(int id); int getInfluenceCardQuality(int id); uint getEdictType(); Empire@ getEdictEmpire(); Object@ getEdictObject(); restricted remote: void clearEdict(); void conquerEdict(Empire@ onEmpire); server: void addInfluence(double amount); void modInfluence(int amount); void modInfluenceIncome(int amount); void modInfluenceFactor(double amount); void takeCardUse(int id, uint amount = 1); void copyCardTo(int id, Empire@ emp, int uses = 0, bool maxQuality = false, int addQuality = 0); void gainRandomLeverage(Empire@ towards, double qualityFactor = 1.0); bool gainIntelligence(Empire@ towards, uint amount = 1); async void gainCard(uint typeId, int uses = 1, int quality = 0); uint getUsesOfCardType(uint id); int getCostOfCard(int id); int reserveInfluence(double factor, double timer = -1.0); void removeInfluenceReservation(int id); void influenceTick(double time); bool consumeInfluence(int amount); void writeInfluenceManager(Message& msg, bool initial = false) const; shadow: void readInfluenceManager(Message& msg); }