mirror of
https://github.com/vcmi/vcmi.git
synced 2025-11-06 09:09:40 +02:00
Bonus system: use updateBonuses in battleTurnPasseed
This commit is contained in:
@@ -769,12 +769,9 @@ void CBonusSystemNode::updateBonuses(const CSelector &s)
|
|||||||
exportedBonuses.getBonuses(bl, s);
|
exportedBonuses.getBonuses(bl, s);
|
||||||
for(Bonus *b : bl)
|
for(Bonus *b : bl)
|
||||||
{
|
{
|
||||||
if(b->duration & Bonus::N_DAYS)
|
b->turnsRemain--;
|
||||||
{
|
if(b->turnsRemain <= 0)
|
||||||
b->turnsRemain--;
|
removeBonus(b);
|
||||||
if(b->turnsRemain <= 0)
|
|
||||||
removeBonus(b);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for(CBonusSystemNode *child : children)
|
for(CBonusSystemNode *child : children)
|
||||||
@@ -968,18 +965,7 @@ void CBonusSystemNode::getRedDescendants(TNodes &out)
|
|||||||
|
|
||||||
void CBonusSystemNode::battleTurnPassed()
|
void CBonusSystemNode::battleTurnPassed()
|
||||||
{
|
{
|
||||||
BonusList bonusesCpy = exportedBonuses; //copy, because removing bonuses invalidates iters
|
updateBonuses(Bonus::NTurns);
|
||||||
for (auto & elem : bonusesCpy)
|
|
||||||
{
|
|
||||||
Bonus *b = elem;
|
|
||||||
|
|
||||||
if(b->duration & Bonus::N_TURNS)
|
|
||||||
{
|
|
||||||
b->turnsRemain--;
|
|
||||||
if(b->turnsRemain <= 0)
|
|
||||||
removeBonus(b);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void CBonusSystemNode::exportBonus(Bonus * b)
|
void CBonusSystemNode::exportBonus(Bonus * b)
|
||||||
|
|||||||
Reference in New Issue
Block a user