]> ruin.nu Git - hbs.git/blobdiff - bs/fleet.cpp
changed the capping functionallity..
[hbs.git] / bs / fleet.cpp
index 4072788a4af0d142607e8302e2dffb89b4010d83..bab852f0bf704b941a00b464771ac7d4fd37960d 100644 (file)
@@ -119,28 +119,27 @@ void Fleet::setUnits(UnitList& units)
        s_Units = units;
 
 
-       /*
+       
           for (UnitList::iterator i = s_Units.begin(); i != s_Units.end(); i++)
           {
-          cerr << s_Units[(*i).first].Name() << "\t\t"
-          << s_Units[(*i).first].race() <<"\t"
-          << s_Units[(*i).first].unitClass() << "\t"
-          << s_Units[(*i).first].target(0) << "\t"
-          << s_Units[(*i).first].target(1) << "\t"
-          << s_Units[(*i).first].target(2) << "\t"
-          << s_Units[(*i).first].initiative() << "\t"
-          << s_Units[(*i).first].agility() << "\t"
-          << s_Units[(*i).first].weaponSpeed() << "\t"
-          << s_Units[(*i).first].guns() << "\t"
-          << s_Units[(*i).first].power() << "\t"
-          << s_Units[(*i).first].armor() << "\t"
-          << s_Units[(*i).first].EMP() << "\t"
-          << s_Units[(*i).first].totRes() << "\t"
-          << s_Units[(*i).first].fuel() << "\t"
-          << s_Units[(*i).first].ETA() << "\t"
-          << s_Units[(*i).first].type() << endl;
+                  cerr << s_Units[(*i).first].Name() << "\t\t"
+/*                << s_Units[(*i).first].race() <<"\t"
+                  << s_Units[(*i).first].unitClass() << "\t"
+                  << s_Units[(*i).first].target(0) << "\t"
+                  << s_Units[(*i).first].target(1) << "\t"
+                  << s_Units[(*i).first].target(2) << "\t"
+                  << s_Units[(*i).first].initiative() << "\t"
+                  << s_Units[(*i).first].agility() << "\t"
+                  << s_Units[(*i).first].weaponSpeed() << "\t"
+                  << s_Units[(*i).first].guns() << "\t"
+                  << s_Units[(*i).first].power() << "\t"
+                  << s_Units[(*i).first].armor() << "\t"
+                  << s_Units[(*i).first].EMP() << "\t"
+                  << s_Units[(*i).first].totRes() << "\t"
+                  << s_Units[(*i).first].fuel() << "\t"
+                  << s_Units[(*i).first].ETA() << "\t"*/
+                  << s_Units[(*i).first].type() << endl;
           }
-        */     
 }
 
 //////////////////////////////////////////////////////////////////////////
@@ -817,3 +816,53 @@ void Fleet::resetTicks()
        }
        resetResources();
 }
+
+//////////////////////////////////////////////////////////////////////////
+//
+int Fleet::freePodGuns(int tick) 
+{
+       int guns = 0;
+       for (FleetList::const_iterator i = m_Fleet.begin(); i != m_Fleet.end(); ++i)
+       {
+               if (s_Units[i->first].type() == "Pod")
+               {
+                       guns += freeFleet(i->first, tick) * s_Units[i->first].guns();
+               }
+       }
+       guns -= usedPodGuns(tick);
+       return guns;
+}
+
+//////////////////////////////////////////////////////////////////////////
+//
+int Fleet::usedPodGuns(int tick) const
+{
+       int ticks = m_UsedPodGuns.size();
+
+       if (ticks == 0)
+               return 0;
+
+       if (tick < 0)
+               return m_UsedPodGuns[0];
+
+       --ticks;
+
+       if (ticks < tick)
+               return m_UsedPodGuns[ticks];
+
+       return m_UsedPodGuns[tick];
+
+}
+
+//////////////////////////////////////////////////////////////////////////
+//
+void Fleet::usePodGuns(int tick, int guns)
+{
+       int ticks = m_UsedPodGuns.size();
+
+       for (int i = ticks; i <= tick; ++i)
+       {
+               m_UsedPodGuns.push_back(0);
+       }
+       m_UsedPodGuns[tick] += guns;
+}