mirror of
https://github.com/mangosfour/server.git
synced 2025-12-13 22:37:03 +00:00
[9707] Fixed typo added by Vladimir to patch in [9704].
Signed-off-by: VladimirMangos <vladimir@getmangos.com> Also add check to prevent have NONE gender with some other for same entry in `achievement_reward` and `locales_achievement_reward`.
This commit is contained in:
parent
f0af98568e
commit
77c930249d
3 changed files with 37 additions and 3 deletions
|
|
@ -2169,6 +2169,23 @@ void AchievementGlobalMgr::LoadRewards()
|
|||
if (reward.gender >= MAX_GENDER)
|
||||
sLog.outErrorDb( "Table `achievement_reward` (Entry: %u) has wrong gender %u.", entry, reward.gender);
|
||||
|
||||
// GENDER_NONE must be single (so or already in and none must be attempt added new data or just adding and none in)
|
||||
// other duplicate cases prevented by DB primary key
|
||||
bool dup = false;
|
||||
AchievementRewards::const_iterator iter_low = m_achievementRewards.lower_bound(entry);
|
||||
AchievementRewards::const_iterator iter_up = m_achievementRewards.upper_bound(entry);
|
||||
for (AchievementRewards::const_iterator iter = iter_low; iter != iter_up; ++iter)
|
||||
{
|
||||
if (iter->second.gender == GENDER_NONE || reward.gender == GENDER_NONE)
|
||||
{
|
||||
dup = true;
|
||||
sLog.outErrorDb( "Table `achievement_reward` must have single GENDER_NONE (%u) case (Entry: %u), ignore duplicate case", GENDER_NONE, entry);
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (dup)
|
||||
continue;
|
||||
|
||||
if ((reward.titleId[0]==0)!=(reward.titleId[1]==0))
|
||||
sLog.outErrorDb( "Table `achievement_reward` (Entry: %u) has title (A: %u H: %u) only for one from teams.", entry, reward.titleId[0], reward.titleId[1]);
|
||||
|
||||
|
|
@ -2279,6 +2296,23 @@ void AchievementGlobalMgr::LoadRewardLocales()
|
|||
if (data.gender >= MAX_GENDER)
|
||||
sLog.outErrorDb( "Table `locales_achievement_reward` (Entry: %u) has wrong gender %u.", entry, data.gender);
|
||||
|
||||
// GENDER_NONE must be single (so or already in and none must be attempt added new data or just adding and none in)
|
||||
// other duplicate cases prevented by DB primary key
|
||||
bool dup = false;
|
||||
AchievementRewardLocales::const_iterator iter_low = m_achievementRewardLocales.lower_bound(entry);
|
||||
AchievementRewardLocales::const_iterator iter_up = m_achievementRewardLocales.upper_bound(entry);
|
||||
for (AchievementRewardLocales::const_iterator iter = iter_low; iter != iter_up; ++iter)
|
||||
{
|
||||
if (iter->second.gender == GENDER_NONE || data.gender == GENDER_NONE)
|
||||
{
|
||||
dup = true;
|
||||
sLog.outErrorDb( "Table `locales_achievement_reward` must have single GENDER_NONE (%u) case (Entry: %u), ignore duplicate case", GENDER_NONE, entry);
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (dup)
|
||||
continue;
|
||||
|
||||
for(int i = 1; i < MAX_LOCALE; ++i)
|
||||
{
|
||||
std::string str = fields[2+2*(i-1)].GetCppString();
|
||||
|
|
|
|||
|
|
@ -290,7 +290,7 @@ class AchievementGlobalMgr
|
|||
{
|
||||
AchievementRewards::const_iterator iter_low = m_achievementRewards.lower_bound(achievement->ID);
|
||||
AchievementRewards::const_iterator iter_up = m_achievementRewards.upper_bound(achievement->ID);
|
||||
for (AchievementRewards::const_iterator iter = iter_low; iter != iter_low; ++iter)
|
||||
for (AchievementRewards::const_iterator iter = iter_low; iter != iter_up; ++iter)
|
||||
if(iter->second.gender == GENDER_NONE || uint8(iter->second.gender) == gender)
|
||||
return &iter->second;
|
||||
|
||||
|
|
@ -301,7 +301,7 @@ class AchievementGlobalMgr
|
|||
{
|
||||
AchievementRewardLocales::const_iterator iter_low = m_achievementRewardLocales.lower_bound(achievement->ID);
|
||||
AchievementRewardLocales::const_iterator iter_up = m_achievementRewardLocales.upper_bound(achievement->ID);
|
||||
for (AchievementRewardLocales::const_iterator iter = iter_low; iter != iter_low; ++iter)
|
||||
for (AchievementRewardLocales::const_iterator iter = iter_low; iter != iter_up; ++iter)
|
||||
if(iter->second.gender == GENDER_NONE || uint8(iter->second.gender) == gender)
|
||||
return &iter->second;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
#ifndef __REVISION_NR_H__
|
||||
#define __REVISION_NR_H__
|
||||
#define REVISION_NR "9706"
|
||||
#define REVISION_NR "9707"
|
||||
#endif // __REVISION_NR_H__
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue