mirror of
https://github.com/vcmi/vcmi.git
synced 2024-12-24 22:14:36 +02:00
Show Seer Hut quest icon on right click. Fix broken tooltip.
This commit is contained in:
parent
1ebb151b41
commit
c1c2119f3d
@ -513,6 +513,35 @@ std::string CGSeerHut::getHoverText(PlayerColor player) const
|
||||
return hoverName;
|
||||
}
|
||||
|
||||
std::string CGSeerHut::getHoverText(const CGHeroInstance * hero) const
|
||||
{
|
||||
return getHoverText(hero->getOwner());
|
||||
}
|
||||
|
||||
std::string CGSeerHut::getPopupText(PlayerColor player) const
|
||||
{
|
||||
return getHoverText(player);
|
||||
}
|
||||
|
||||
std::string CGSeerHut::getPopupText(const CGHeroInstance * hero) const
|
||||
{
|
||||
return getHoverText(hero->getOwner());
|
||||
}
|
||||
|
||||
std::vector<Component> CGSeerHut::getPopupComponents(PlayerColor player) const
|
||||
{
|
||||
std::vector<Component> result;
|
||||
quest->mission.loadComponents(result, nullptr);
|
||||
return result;
|
||||
}
|
||||
|
||||
std::vector<Component> CGSeerHut::getPopupComponents(const CGHeroInstance * hero) const
|
||||
{
|
||||
std::vector<Component> result;
|
||||
quest->mission.loadComponents(result, hero);
|
||||
return result;
|
||||
}
|
||||
|
||||
void CGSeerHut::setPropertyDer(ui8 what, ui32 val)
|
||||
{
|
||||
switch(what)
|
||||
|
@ -119,6 +119,11 @@ public:
|
||||
|
||||
void initObj(CRandomGenerator & rand) override;
|
||||
std::string getHoverText(PlayerColor player) const override;
|
||||
std::string getHoverText(const CGHeroInstance * hero) const override;
|
||||
std::string getPopupText(PlayerColor player) const override;
|
||||
std::string getPopupText(const CGHeroInstance * hero) const override;
|
||||
std::vector<Component> getPopupComponents(PlayerColor player) const override;
|
||||
std::vector<Component> getPopupComponents(const CGHeroInstance * hero) const override;
|
||||
void newTurn(CRandomGenerator & rand) const override;
|
||||
void onHeroVisit(const CGHeroInstance * h) const override;
|
||||
void blockingDialogAnswered(const CGHeroInstance *hero, ui32 answer) const override;
|
||||
|
@ -187,14 +187,14 @@ void Rewardable::Limiter::loadComponents(std::vector<Component> & comps,
|
||||
const CGHeroInstance * h) const
|
||||
{
|
||||
if (heroExperience)
|
||||
comps.emplace_back(ComponentType::EXPERIENCE, static_cast<si32>(h->calculateXp(heroExperience)));
|
||||
comps.emplace_back(ComponentType::EXPERIENCE, static_cast<si32>(h ? h->calculateXp(heroExperience) : heroExperience));
|
||||
|
||||
if (heroLevel > 0)
|
||||
comps.emplace_back(ComponentType::EXPERIENCE, heroLevel);
|
||||
|
||||
if (manaPoints || manaPercentage > 0)
|
||||
{
|
||||
int absoluteMana = h->manaLimit() ? (manaPercentage * h->mana / h->manaLimit() / 100) : 0;
|
||||
int absoluteMana = (h && h->manaLimit()) ? (manaPercentage * h->mana / h->manaLimit() / 100) : 0;
|
||||
comps.emplace_back(ComponentType::MANA, absoluteMana + manaPoints);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user