mirror of
https://github.com/vcmi/vcmi.git
synced 2025-11-25 22:42:04 +02:00
vcmi: morale and luck now also IFactionMember
Not all bonus bearers have morale and luck, only faction members
This commit is contained in:
@@ -372,7 +372,7 @@ CTownTooltip::CTownTooltip(Point pos, const CGTownInstance * town)
|
||||
init(InfoAboutTown(town, true));
|
||||
}
|
||||
|
||||
void MoraleLuckBox::set(const IBonusBearer * node)
|
||||
void MoraleLuckBox::set(const IFactionMember * node)
|
||||
{
|
||||
OBJECT_CONSTRUCTION_CUSTOM_CAPTURING(255-DISPOSE);
|
||||
|
||||
@@ -393,21 +393,21 @@ void MoraleLuckBox::set(const IBonusBearer * node)
|
||||
text = CGI->generaltexth->arraytxt[textId[morale]];
|
||||
boost::algorithm::replace_first(text,"%s",CGI->generaltexth->arraytxt[neutralDescr[morale]-mrlt]);
|
||||
|
||||
if (morale && node && (node->hasBonusOfType(Bonus::UNDEAD)
|
||||
|| node->hasBonusOfType(Bonus::NON_LIVING)))
|
||||
if (morale && node && (node->getBonusBearer()->hasBonusOfType(Bonus::UNDEAD)
|
||||
|| node->getBonusBearer()->hasBonusOfType(Bonus::NON_LIVING)))
|
||||
{
|
||||
text += CGI->generaltexth->arraytxt[113]; //unaffected by morale
|
||||
bonusValue = 0;
|
||||
}
|
||||
else if(morale && node && node->hasBonusOfType(Bonus::NO_MORALE))
|
||||
else if(morale && node && node->getBonusBearer()->hasBonusOfType(Bonus::NO_MORALE))
|
||||
{
|
||||
auto noMorale = node->getBonus(Selector::type()(Bonus::NO_MORALE));
|
||||
auto noMorale = node->getBonusBearer()->getBonus(Selector::type()(Bonus::NO_MORALE));
|
||||
text += "\n" + noMorale->Description();
|
||||
bonusValue = 0;
|
||||
}
|
||||
else if (!morale && node && node->hasBonusOfType(Bonus::NO_LUCK))
|
||||
else if (!morale && node && node->getBonusBearer()->hasBonusOfType(Bonus::NO_LUCK))
|
||||
{
|
||||
auto noLuck = node->getBonus(Selector::type()(Bonus::NO_LUCK));
|
||||
auto noLuck = node->getBonusBearer()->getBonus(Selector::type()(Bonus::NO_LUCK));
|
||||
text += "\n" + noLuck->Description();
|
||||
bonusValue = 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user