X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=bs%2Ffleet.h;h=6946d3c5ae9521ae8c7da30662684705ce47d33c;hb=935b6de2d1428854d76acc20b1727eb4a30f9273;hp=448d4de66bbfdadbb2634f0e3c96e3c4a9fd7b3b;hpb=45577c33bdaab669fd787a0411996d506307708b;p=hbs.git diff --git a/bs/fleet.h b/bs/fleet.h index 448d4de..6946d3c 100644 --- a/bs/fleet.h +++ b/bs/fleet.h @@ -106,6 +106,11 @@ public: * other is hardly used other than inside the engine. */ void setFleet(std::string unittype, int number, int tick = 0); + + void addFleet(std::string unittype, int number, int tick = 0); + + void addFleet(std::map units, int tick = 0); + /**Returns the numbers of units fo a specific type at a specific tick. * \param unittype The shipname, as a std string * \param tick The tick you want to look at, tick 0 (before battle) is default @@ -164,8 +169,6 @@ public: */ void distributeCappedRoids(std::vector fleets, int tick = 0); - void addPodsForLostRoids(int tick = 1); - /** Checks through the vector with fleets to see who's in time for the * specified tick and staying long enough so they're not too early. * \param fleets a vector with Fleet pointers to use for the calculations @@ -176,7 +179,7 @@ public: * and are staying long enough. * \todo add the stays part as a integrated part of each fleet. */ - std::vector calculateSide(std::vector fleets, int stays = 0, int tick = 0); + std::vector calculateSide(std::vector fleets, int tick = 0); /** Kill some ships of the specified type in the current fleet. * \param unittype the name of the unit to kill @@ -223,6 +226,14 @@ public: */ int resource(std::string type, int tick = 0)const; + void resetResources(); + + /** This function tells how many ticks the fleet stays at it's target. + * \returns the number of ticks as an int. + */ + int stays() const; + void setStays(int ticks); + /** This is a little more advanced function. It makes a a number of units * of a specific unittype shoot at the current fleet and calculates the * losses. @@ -251,13 +262,26 @@ public: * 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& hitunits); + void calculateLostStealships(std::string unittype, std::map stolen, int tick = 1); + + void distributeStolenShips(std::map > stolen, std::vector 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); + //static functions // /** This function is used to set the different races used. @@ -284,13 +308,15 @@ public: protected: - std::string m_sName; - std::string m_sRace; - int m_iETA; - FleetList m_Fleet; - FleetList m_BlockedFleet; - ResourceList m_Resources; - ArmorList m_Armor; + 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 m_UsedPodGuns;