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)
|
if (reward.gender >= MAX_GENDER)
|
||||||
sLog.outErrorDb( "Table `achievement_reward` (Entry: %u) has wrong gender %u.", entry, reward.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))
|
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]);
|
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)
|
if (data.gender >= MAX_GENDER)
|
||||||
sLog.outErrorDb( "Table `locales_achievement_reward` (Entry: %u) has wrong gender %u.", entry, data.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)
|
for(int i = 1; i < MAX_LOCALE; ++i)
|
||||||
{
|
{
|
||||||
std::string str = fields[2+2*(i-1)].GetCppString();
|
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_low = m_achievementRewards.lower_bound(achievement->ID);
|
||||||
AchievementRewards::const_iterator iter_up = m_achievementRewards.upper_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)
|
if(iter->second.gender == GENDER_NONE || uint8(iter->second.gender) == gender)
|
||||||
return &iter->second;
|
return &iter->second;
|
||||||
|
|
||||||
|
|
@ -301,7 +301,7 @@ class AchievementGlobalMgr
|
||||||
{
|
{
|
||||||
AchievementRewardLocales::const_iterator iter_low = m_achievementRewardLocales.lower_bound(achievement->ID);
|
AchievementRewardLocales::const_iterator iter_low = m_achievementRewardLocales.lower_bound(achievement->ID);
|
||||||
AchievementRewardLocales::const_iterator iter_up = m_achievementRewardLocales.upper_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)
|
if(iter->second.gender == GENDER_NONE || uint8(iter->second.gender) == gender)
|
||||||
return &iter->second;
|
return &iter->second;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
#ifndef __REVISION_NR_H__
|
#ifndef __REVISION_NR_H__
|
||||||
#define __REVISION_NR_H__
|
#define __REVISION_NR_H__
|
||||||
#define REVISION_NR "9706"
|
#define REVISION_NR "9707"
|
||||||
#endif // __REVISION_NR_H__
|
#endif // __REVISION_NR_H__
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue