1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-11-24 08:32:34 +02:00

display owner of ownable objects in tooltip

also displays owner of towns (deviation from oh3)
This commit is contained in:
Andrey Filipenkov 2023-01-21 14:25:43 +03:00
parent a19c9eccc4
commit 2a43b7cfbc
3 changed files with 5 additions and 13 deletions

View File

@ -328,7 +328,10 @@ boost::optional<std::string> CGObjectInstance::getRemovalSound() const
std::string CGObjectInstance::getHoverText(PlayerColor player) const std::string CGObjectInstance::getHoverText(PlayerColor player) const
{ {
return getObjectName(); auto text = getObjectName();
if (tempOwner.isValidPlayer())
text += "\n" + VLC->generaltexth->arraytxt[23 + tempOwner.getNum()];
return text;
} }
std::string CGObjectInstance::getHoverText(const CGHeroInstance * hero) const std::string CGObjectInstance::getHoverText(const CGHeroInstance * hero) const

View File

@ -715,14 +715,10 @@ std::string CGMine::getObjectName() const
std::string CGMine::getHoverText(PlayerColor player) const std::string CGMine::getHoverText(PlayerColor player) const
{ {
std::string hoverName = getObjectName(); // Sawmill std::string hoverName = CArmedInstance::getHoverText(player);
if (tempOwner != PlayerColor::NEUTRAL) if (tempOwner != PlayerColor::NEUTRAL)
{
hoverName += "\n";
hoverName += VLC->generaltexth->arraytxt[23 + tempOwner.getNum()]; // owned by Red Player
hoverName += "\n(" + VLC->generaltexth->restypes[producedResource] + ")"; hoverName += "\n(" + VLC->generaltexth->restypes[producedResource] + ")";
}
if(stacksCount()) if(stacksCount())
{ {
@ -2200,12 +2196,6 @@ void CGLighthouse::initObj(CRandomGenerator & rand)
} }
} }
std::string CGLighthouse::getHoverText(PlayerColor player) const
{
//TODO: owned by %s player
return getObjectName();
}
void CGLighthouse::giveBonusTo(PlayerColor player, bool onInit) const void CGLighthouse::giveBonusTo(PlayerColor player, bool onInit) const
{ {
GiveBonus gb(GiveBonus::PLAYER); GiveBonus gb(GiveBonus::PLAYER);

View File

@ -523,7 +523,6 @@ class DLL_LINKAGE CGLighthouse : public CGObjectInstance
public: public:
void onHeroVisit(const CGHeroInstance * h) const override; void onHeroVisit(const CGHeroInstance * h) const override;
void initObj(CRandomGenerator & rand) override; void initObj(CRandomGenerator & rand) override;
std::string getHoverText(PlayerColor player) const override;
template <typename Handler> void serialize(Handler &h, const int version) template <typename Handler> void serialize(Handler &h, const int version)
{ {