1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-06-15 00:05:02 +02:00

AI for neutral creatures and battles and player AIs can be different. StupidAI will handle neutrals by default.

Fixes for issues with deserialization and handling Tactics secondary skill.
This commit is contained in:
Michał W. Urbańczyk
2011-02-23 03:57:45 +00:00
parent 9d313d3d2c
commit cab8f9e11d
13 changed files with 64 additions and 32 deletions

View File

@ -386,10 +386,7 @@ void CBonusSystemNode::addNewBonus(Bonus *b)
{
assert(!vstd::contains(exportedBonuses,b));
exportedBonuses.push_back(b);
if(b->propagator)
propagateBonus(b);
else
bonuses.push_back(b);
exportBonus(b);
}
void CBonusSystemNode::removeBonus(Bonus *b)
@ -478,7 +475,8 @@ std::string CBonusSystemNode::nodeName() const
void CBonusSystemNode::deserializationFix()
{
tlog2 << "Deserialization fix called on bare CBSN? Shouldn't be...\n";
BOOST_FOREACH(Bonus *b, exportedBonuses)
exportBonus(b);
}
void CBonusSystemNode::getRedParents(TNodes &out)
@ -567,6 +565,14 @@ void CBonusSystemNode::battleTurnPassed()
}
}
void CBonusSystemNode::exportBonus(Bonus * b)
{
if(b->propagator)
propagateBonus(b);
else
bonuses.push_back(b);
}
int NBonus::valOf(const CBonusSystemNode *obj, Bonus::BonusType type, int subtype /*= -1*/)
{
if(obj)