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

Fix tooltip for spell scrolls on adventure map

This commit is contained in:
Ivan Savenko 2023-11-13 00:08:14 +02:00
parent 35ee8c1397
commit 9c9127be7d
2 changed files with 7 additions and 3 deletions

View File

@ -254,10 +254,13 @@ DLL_LINKAGE void ArtifactUtils::insertScrrollSpellName(std::string & description
// However other language versions don't have name placeholder at all, so we have to be careful
auto nameStart = description.find_first_of('[');
auto nameEnd = description.find_first_of(']', nameStart);
if(sid.getNum() >= 0)
if(nameStart != std::string::npos && nameEnd != std::string::npos)
{
if(nameStart != std::string::npos && nameEnd != std::string::npos)
if(sid.getNum() >= 0)
description = description.replace(nameStart, nameEnd - nameStart + 1, sid.toEntity(VLC->spells())->getNameTranslated());
else
description = description.erase(nameStart, nameEnd - nameStart + 2); // erase "[spell name] " - including space
}
}

View File

@ -779,7 +779,8 @@ std::string CGArtifact::getPopupText(PlayerColor player) const
if (settings["general"]["enableUiEnhancements"].Bool())
{
std::string description = VLC->artifacts()->getById(getArtifact())->getDescriptionTranslated();
ArtifactUtils::insertScrrollSpellName(description, SpellID::NONE); // erase text placeholder
if (getArtifact() == ArtifactID::SPELL_SCROLL)
ArtifactUtils::insertScrrollSpellName(description, SpellID::NONE); // erase text placeholder
return description;
}
else