X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=bs%2Fplanet.cpp;h=3c4404f800d4dee61ae9a968b6015f8eb27dde4a;hb=45577c33bdaab669fd787a0411996d506307708b;hp=01b2125f5c9d428e5f9fb196887e6235dd448403;hpb=e058e65a4a9f0c47b170413c0a085e90b172a3ec;p=hbs.git diff --git a/bs/planet.cpp b/bs/planet.cpp index 01b2125..3c4404f 100644 --- a/bs/planet.cpp +++ b/bs/planet.cpp @@ -131,6 +131,9 @@ void Planet::takeRoids(std::string type, int number, int tick = 0) for (int i = ticks; i <= tick; ++i ) m_Roids[type].push_back(roids); m_Roids[type][tick] -= number; + + if (type != "uninit") + addPlanetScore(-3000*number, tick); } @@ -175,6 +178,8 @@ void Planet::runBattle(std::vector friendly, std::vector hostile //Reset roids for (RoidList::iterator roid = m_Roids.begin(); roid != m_Roids.end(); ++roid) setRoids(roid->first, roids(roid->first, tick-1), tick); + + setPlanetScore(planetScore(tick - 1), tick); calcOneTick(&allFriends, &allHostiles, stealfriendly, stealhostile, tick ); @@ -182,6 +187,8 @@ void Planet::runBattle(std::vector friendly, std::vector hostile //allFriends.printFleet(); allFriends.distributeLossesGains(friends, tick); + + allHostiles.addPodsForLostRoids(); allHostiles.distributeLossesGains(hostiles, tick); allHostiles.distributeCappedRoids(hostiles, tick); @@ -200,7 +207,7 @@ void Planet::runBattle(std::vector friendly, std::vector hostile ////////////////////////////////////////////////////////////////////////// // -void Planet::calcOneTick(Planet* friendly, Fleet* hostile, std::map >& stealfriendly, std::map >& stealhostile, int tick = 0) +void Planet::calcOneTick(Planet* friendly, Fleet* hostile, std::map >& stealfriendly, std::map >& stealhostile, int tick = 1) { map unitsinit; // order units after their ininitiative for (UnitList::iterator i = s_Units.begin(); i != s_Units.end(); ++i) @@ -278,6 +285,8 @@ void Planet::calcOneTick(Planet* friendly, Fleet* hostile, std::map friendly, int tick = 1) { for (vector::iterator i = friendly.begin(); i != friendly.end(); ++i)