1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-03-25 21:38:59 +02:00

Library of Enlightenment fix

Do not offer choice between multiple identical option if hero is qualified
to receive multiple of them due to diplomacy skill
This commit is contained in:
Ivan Savenko 2022-12-06 18:08:10 +02:00
parent 34cd856f53
commit 17f9c3af23

View File

@ -970,22 +970,22 @@ void CGVisitableOPH::initObj(CRandomGenerator & rand)
break;
case Obj::LIBRARY_OF_ENLIGHTENMENT:
{
selectMode = SELECT_FIRST;
onVisited.addTxt(MetaString::ADVOB_TXT, 67);
onEmpty.addTxt(MetaString::ADVOB_TXT, 68);
// Don't like this one but don't see any easier approach
CVisitInfo visit;
visit.reward.primary[PrimarySkill::ATTACK] = 2;
visit.reward.primary[PrimarySkill::DEFENSE] = 2;
visit.reward.primary[PrimarySkill::KNOWLEDGE] = 2;
visit.reward.primary[PrimarySkill::SPELL_POWER] = 2;
visit.message.addTxt(MetaString::ADVOB_TXT, 66);
static_assert(SecSkillLevel::LEVELS_SIZE == 4, "Behavior of Library of Enlignment may not be correct");
for (int i=0; i<SecSkillLevel::LEVELS_SIZE; i++)
{
visit.limiter.minLevel = 10 - i * 2;
visit.limiter.secondary[SecondarySkill::DIPLOMACY] = i;
visit.message.addTxt(MetaString::ADVOB_TXT, 66);
info.push_back(visit);
}
break;