* and are staying long enough.
* \todo add the stays part as a integrated part of each fleet.
*/
- std::vector<Fleet*> calculateSide(std::vector<Fleet*> fleets, int stays = 0, int tick = 0);
+ std::vector<Fleet*> calculateSide(std::vector<Fleet*> fleets, int tick = 0);
/** Kill some ships of the specified type in the current fleet.
* \param unittype the name of the unit to kill
* very similar stuff in both the take* functions.
* \sa takeShoot
*/
- void takeEMP(std::string unittype, int number);
+ void takeEMP(std::string unittype, int number, std::map<std::string, int>& hitunits);
void calculateLostStealships(std::string unittype, std::map<std::string, int> stolen, int tick = 1);
+ void distributeStolenShips(std::map<std::string, std::map<std::string, int> > stolen, std::vector<Fleet*> fleets, int tick = 0);
+
+ void calculateSalvage();
/** This function prints out all the ships in the fleet to stderr,
* mainly used for debugging.
*/
void printFleet();
+ void resetTicks();
+
+ int freePodGuns(int tick = 0);
+
+ int usedPodGuns(int tick = 0) const;
+
+ void usePodGuns(int tick = 0, int guns = 1);
+
+ std::map<std::string, int*> findTargets(std::string targetClass,int& total, int attackerType = 0);
+
//static functions
//
/** This function is used to set the different races used.
protected:
- std::string m_sName;
- std::string m_sRace;
- int m_iETA;
- FleetList m_Fleet;
- FleetList m_BlockedFleet;
- ResourceList m_Resources;
- ArmorList m_Armor;
- int m_iStays;
+ std::string m_sName;
+ std::string m_sRace;
+ int m_iETA;
+ FleetList m_Fleet;
+ FleetList m_BlockedFleet;
+ ResourceList m_Resources;
+ ArmorList m_Armor;
+ int m_iStays;
+ std::vector<int> m_UsedPodGuns;