diff --git a/client/windows/CHeroWindow.cpp b/client/windows/CHeroWindow.cpp index 331962d7a..023abaf8d 100644 --- a/client/windows/CHeroWindow.cpp +++ b/client/windows/CHeroWindow.cpp @@ -114,8 +114,7 @@ CHeroSwitcher::CHeroSwitcher(CHeroWindow * owner_, Point pos_, const CGHeroInsta } CHeroWindow::CHeroWindow(const CGHeroInstance * hero) - : CStatusbarWindow(PLAYER_COLORED, "HeroScr4"), - heroWArt(this, hero) + : CStatusbarWindow(PLAYER_COLORED, "HeroScr4") { auto & heroscrn = CGI->generaltexth->heroscrn; @@ -268,7 +267,7 @@ void CHeroWindow::update(const CGHeroInstance * hero, bool redrawNeeded) //primary skills support for(size_t g=0; gbonusValue = heroWArt.getPrimSkillLevel(static_cast(g)); + primSkillAreas[g]->bonusValue = curHero->getPrimSkillLevel(static_cast(g)); primSkillValues[g]->setText(std::to_string(primSkillAreas[g]->bonusValue)); } @@ -294,7 +293,7 @@ void CHeroWindow::update(const CGHeroInstance * hero, bool redrawNeeded) expValue->setText(expstr.str()); std::ostringstream manastr; - manastr << curHero->mana << '/' << heroWArt.manaLimit(); + manastr << curHero->mana << '/' << curHero->manaLimit(); manaValue->setText(manastr.str()); //printing experience - original format does not support ui64 @@ -307,7 +306,7 @@ void CHeroWindow::update(const CGHeroInstance * hero, bool redrawNeeded) spellPointsArea->text = CGI->generaltexth->allTexts[205]; boost::replace_first(spellPointsArea->text, "%s", curHero->getNameTranslated()); boost::replace_first(spellPointsArea->text, "%d", std::to_string(curHero->mana)); - boost::replace_first(spellPointsArea->text, "%d", std::to_string(heroWArt.manaLimit())); + boost::replace_first(spellPointsArea->text, "%d", std::to_string(curHero->manaLimit())); //if we have exchange window with this curHero open bool noDismiss=false; @@ -343,8 +342,8 @@ void CHeroWindow::update(const CGHeroInstance * hero, bool redrawNeeded) formations->setSelected(curHero->formation == EArmyFormation::TIGHT ? 1 : 0); formations->addCallback([=](int value){ LOCPLINT->cb->setFormation(curHero, value);}); - morale->set(&heroWArt); - luck->set(&heroWArt); + morale->set(curHero); + luck->set(curHero); if(redrawNeeded) redraw(); @@ -390,5 +389,5 @@ void CHeroWindow::commanderWindow() void CHeroWindow::updateGarrisons() { garr->recreateSlots(); - morale->set(&heroWArt); + morale->set(curHero); } diff --git a/client/windows/CHeroWindow.h b/client/windows/CHeroWindow.h index 487d881b6..5f790d680 100644 --- a/client/windows/CHeroWindow.h +++ b/client/windows/CHeroWindow.h @@ -97,8 +97,6 @@ class CHeroWindow : public CStatusbarWindow, public CGarrisonHolder, public CWin std::vector> secSkillNames; std::vector> secSkillValues; - CHeroWithMaybePickedArtifact heroWArt; - std::shared_ptr quitButton; std::shared_ptr dismissLabel; std::shared_ptr dismissButton; diff --git a/client/windows/GUIClasses.cpp b/client/windows/GUIClasses.cpp index 0929ae724..46d6d7c42 100644 --- a/client/windows/GUIClasses.cpp +++ b/client/windows/GUIClasses.cpp @@ -912,8 +912,6 @@ CExchangeWindow::CExchangeWindow(ObjectInstanceID hero1, ObjectInstanceID hero2, { const CGHeroInstance * hero = heroInst.at(leftRight); - herosWArt[leftRight] = std::make_shared(this, hero); - for(int m=0; m(352 + (qeLayout ? 96 : 93) * leftRight, (qeLayout ? 22 : 35) + (qeLayout ? 26 : 36) * m, FONT_SMALL, ETextAlignment::CENTER, Colors::WHITE)); @@ -1079,7 +1077,7 @@ void CExchangeWindow::updateWidgets() for(int m=0; mgetPrimSkillLevel(static_cast(m)); + auto value = heroInst[leftRight]->getPrimSkillLevel(static_cast(m)); primSkillValues[leftRight][m]->setText(std::to_string(value)); } diff --git a/client/windows/GUIClasses.h b/client/windows/GUIClasses.h index 815f2976b..9c7f9a533 100644 --- a/client/windows/GUIClasses.h +++ b/client/windows/GUIClasses.h @@ -38,7 +38,6 @@ class CToggleButton; class CGStatusBar; class CTextBox; class CResDataBar; -class CHeroWithMaybePickedArtifact; enum class EUserEvent; @@ -288,8 +287,6 @@ private: class CExchangeWindow : public CStatusbarWindow, public CGarrisonHolder, public CWindowWithArtifacts { - std::array, 2> herosWArt; - std::array, 2> titles; std::vector> primSkillImages;//shared for both heroes std::array>, 2> primSkillValues;