1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-06-29 00:41:38 +02:00

* fixed crash on clicking on the map frame

* battle settings will be stored
* fixed calculating battle casualties
* fixed crash when clicking on enemy stack without moving mouse when we receive action
* fixed issue when splitting stack to the hero with only one creatures
This commit is contained in:
Michał W. Urbańczyk
2009-09-24 13:23:52 +00:00
parent 4677d3a338
commit 307c20e7dc
14 changed files with 225 additions and 176 deletions

View File

@ -2493,18 +2493,14 @@ ui32 BattleInfo::calculateDmg(const CStack* attacker, const CStack* defender, co
return range.first;
}
void BattleInfo::calculateCasualties( std::set<std::pair<ui32,si32> > *casualties ) const
void BattleInfo::calculateCasualties( std::map<ui32,si32> *casualties ) const
{
for(unsigned int i=0; i<stacks.size();i++)//setting casualties
{
if(!stacks[i]->alive())
{
casualties[!stacks[i]->attackerOwned].insert(std::pair<ui32,si32>(stacks[i]->creature->idNumber,stacks[i]->baseAmount));
}
else if(stacks[i]->amount != stacks[i]->baseAmount)
{
casualties[!stacks[i]->attackerOwned].insert(std::pair<ui32,si32>(stacks[i]->creature->idNumber,stacks[i]->baseAmount - stacks[i]->amount));
}
const CStack * const st = stacks[i];
si32 killed = (st->alive() ? st->baseAmount - st->amount : st->baseAmount);
amax(killed, 0);
casualties[!st->attackerOwned][st->creature->idNumber] += killed;
}
}