1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-02-03 13:01:33 +02:00

Merged the 092c-compat branch.

This commit is contained in:
Michał W. Urbańczyk 2013-09-28 12:31:06 +00:00
parent 0abbe71b25
commit 30a0237fb8
3 changed files with 13 additions and 3 deletions

View File

@ -1020,6 +1020,14 @@ void VCAI::makeTurnInternal()
auto reservedHeroesCopy = reservedHeroesMap; //work on copy => the map may be changed while iterating (eg because hero died when attempting a goal)
for (auto hero : reservedHeroesCopy)
{
if(reservedHeroesMap.count(hero.first))
continue; //hero might have been removed while we were in this loop
if(!hero.first.validAndSet())
{
logAi->errorStream() << "Hero " << hero.first.name << " present on reserved map. Shouldn't be. ";
continue;
}
cb->setSelection(hero.first.get());
boost::sort (hero.second, isCloser);
for (auto obj : hero.second)

View File

@ -420,11 +420,13 @@ bool CCreatureSet::canBeMergedWith(const CCreatureSet &cs, bool allowMergingStac
else
{
CCreatureSet cres;
SlotID j;
//get types of creatures that need their own slot
for(auto & elem : cs.stacks)
cres.addToSlot(elem.first, elem.second->type->idNumber, 1, true);
SlotID j;
if ((j = cres.getSlotFor(elem.second->type)).validSlot())
cres.addToSlot(j, elem.second->type->idNumber, 1, true); //merge if possible
//cres.addToSlot(elem.first, elem.second->type->idNumber, 1, true);
for(auto & elem : stacks)
{
if ((j = cres.getSlotFor(elem.second->type)).validSlot())

View File

@ -1167,7 +1167,7 @@ void CGHeroInstance::initObj()
hs->addNewBonus(bonus);
break;
case 11://starting skill with mastery (Adrienne)
cb->changeSecSkill(this, SecondarySkill(spec.val), spec.additionalinfo); //simply give it and forget
setSecSkillLevel(SecondarySkill(spec.val), spec.additionalinfo, true);
break;
case 12://army speed
bonus->type = Bonus::STACKS_SPEED;