diff --git a/lib/CGameState.cpp b/lib/CGameState.cpp index f3bff4d28..c1594686b 100644 --- a/lib/CGameState.cpp +++ b/lib/CGameState.cpp @@ -328,8 +328,9 @@ DLL_LINKAGE std::string MetaString::buildList () const void MetaString::addCreReplacement(TCreature id, TQuantity count) //adds sing or plural name; { - assert(count); - if (count == 1) + if (!count) + addReplacement (CRE_PL_NAMES, id); //no creatures - just empty name (eg. defeat Angels) + else if (count == 1) addReplacement (CRE_SING_NAMES, id); else addReplacement (CRE_PL_NAMES, id); @@ -337,7 +338,6 @@ void MetaString::addCreReplacement(TCreature id, TQuantity count) //adds sing o void MetaString::addReplacement(const CStackBasicDescriptor &stack) { - assert(stack.count); //valid count assert(stack.type); //valid type addCreReplacement(stack.type->idNumber, stack.count); } diff --git a/lib/CObjectHandler.cpp b/lib/CObjectHandler.cpp index 91b58f7d9..8c6d282dc 100644 --- a/lib/CObjectHandler.cpp +++ b/lib/CObjectHandler.cpp @@ -4404,7 +4404,7 @@ void CGSeerHut::setObjToKill() if (missionType == MISSION_KILL_CREATURE) { stackToKill = getCreatureToKill(false)->getStack(0); //FIXME: stacks tend to dissapear (desync?) on server :? - assert (stackToKill.count > 0); //seemingly creatures are uninitialized + stackToKill.count = 0; //no count in info window stackDirection = checkDirection(); } else if (missionType == MISSION_KILL_HERO) @@ -4445,8 +4445,13 @@ const std::string & CGSeerHut::getHoverText() const switch (ID) { case 83: - hoverName = VLC->generaltexth->allTexts[347]; - boost::algorithm::replace_first(hoverName,"%s", seerName); + if (progress) + { + hoverName = VLC->generaltexth->allTexts[347]; + boost::algorithm::replace_first(hoverName,"%s", seerName); + } + else //just seer hut + hoverName = VLC->generaltexth->names[ID]; break; case 215: hoverName = VLC->generaltexth->names[ID]; @@ -4522,7 +4527,7 @@ void CGSeerHut::setPropertyDer (ui8 what, ui32 val) } void CGSeerHut::newTurn() const { - if (lastDay >= 0 && lastDay <= cb->getDate(0)) //time is up + if (lastDay >= 0 && lastDay < cb->getDate(0)) //time is up { cb->setObjProperty (id, 11, 0); cb->setObjProperty (id, 10, 0);