From 9b6112965cbf0b679a08bdd820dc08cfc3f60eb0 Mon Sep 17 00:00:00 2001 From: VladimirMangos Date: Sat, 24 Oct 2009 20:15:54 +0400 Subject: [PATCH] [8723] Rename table `achievement_criteria_data` => `achievement_criteria_requirement` And make related renames in code for types, variables and functions. To make more clear difference achievement createria type from old achievment criteria data type in DB and code. --- sql/mangos.sql | 16 +- ..._01_mangos_achievement_criteria_requirement.sql | 3 + sql/updates/Makefile.am | 2 + src/game/AchievementMgr.cpp | 203 +++++++++++---------- src/game/AchievementMgr.h | 104 +++++------ src/game/Chat.cpp | 2 +- src/game/Chat.h | 2 +- src/game/Level3.cpp | 10 +- src/game/World.cpp | 2 +- src/shared/revision_nr.h | 2 +- src/shared/revision_sql.h | 2 +- 11 files changed, 177 insertions(+), 171 deletions(-) create mode 100644 sql/updates/8723_01_mangos_achievement_criteria_requirement.sql diff --git a/sql/mangos.sql b/sql/mangos.sql index 07f85514e..11b7fa2ca 100644 --- a/sql/mangos.sql +++ b/sql/mangos.sql @@ -24,7 +24,7 @@ CREATE TABLE `db_version` ( `version` varchar(120) default NULL, `creature_ai_version` varchar(120) default NULL, `cache_id` int(10) default '0', - `required_8720_01_mangos_quest_template` bit(1) default NULL + `required_8723_01_mangos_achievement_criteria_requirement` bit(1) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Used DB version notes'; -- @@ -39,11 +39,11 @@ INSERT INTO `db_version` VALUES UNLOCK TABLES; -- --- Table structure for table `achievement_criteria_data` +-- Table structure for table `achievement_criteria_requirement` -- -DROP TABLE IF EXISTS `achievement_criteria_data`; -CREATE TABLE `achievement_criteria_data` ( +DROP TABLE IF EXISTS `achievement_criteria_requirement`; +CREATE TABLE `achievement_criteria_requirement` ( `criteria_id` mediumint(8) NOT NULL, `type` tinyint(3) unsigned NOT NULL DEFAULT '0', `value1` mediumint(8) unsigned NOT NULL DEFAULT '0', @@ -52,12 +52,12 @@ CREATE TABLE `achievement_criteria_data` ( ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Achievment system'; -- --- Dumping data for table `achievement_criteria_data` +-- Dumping data for table `achievement_criteria_requirement` -- -LOCK TABLES `achievement_criteria_data` WRITE; -/*!40000 ALTER TABLE `achievement_criteria_data` DISABLE KEYS */; -/*!40000 ALTER TABLE `achievement_criteria_data` ENABLE KEYS */; +LOCK TABLES `achievement_criteria_requirement` WRITE; +/*!40000 ALTER TABLE `achievement_criteria_requirement` DISABLE KEYS */; +/*!40000 ALTER TABLE `achievement_criteria_requirement` ENABLE KEYS */; UNLOCK TABLES; -- diff --git a/sql/updates/8723_01_mangos_achievement_criteria_requirement.sql b/sql/updates/8723_01_mangos_achievement_criteria_requirement.sql new file mode 100644 index 000000000..83d7a155a --- /dev/null +++ b/sql/updates/8723_01_mangos_achievement_criteria_requirement.sql @@ -0,0 +1,3 @@ +ALTER TABLE db_version CHANGE COLUMN required_8720_01_mangos_quest_template required_8723_01_mangos_achievement_criteria_requirement bit; + +RENAME TABLE achievement_criteria_data TO achievement_criteria_requirement; diff --git a/sql/updates/Makefile.am b/sql/updates/Makefile.am index bf439cca0..57d6f491f 100644 --- a/sql/updates/Makefile.am +++ b/sql/updates/Makefile.am @@ -141,6 +141,7 @@ pkgdata_DATA = \ 8702_01_characters_character_reputation.sql \ 8720_01_mangos_quest_template.sql \ 8721_01_characters_guild.sql \ + 8723_01_mangos_achievement_criteria_requirement.sql \ README ## Additional files to include when running 'make dist' @@ -262,4 +263,5 @@ EXTRA_DIST = \ 8702_01_characters_character_reputation.sql \ 8720_01_mangos_quest_template.sql \ 8721_01_characters_guild.sql \ + 8723_01_mangos_achievement_criteria_requirement.sql \ README diff --git a/src/game/AchievementMgr.cpp b/src/game/AchievementMgr.cpp index 3e8d99e61..efcec8b1f 100644 --- a/src/game/AchievementMgr.cpp +++ b/src/game/AchievementMgr.cpp @@ -71,11 +71,11 @@ namespace MaNGOS } // namespace MaNGOS -bool AchievementCriteriaData::IsValid(AchievementCriteriaEntry const* criteria) +bool AchievementCriteriaRequirement::IsValid(AchievementCriteriaEntry const* criteria) { - if(dataType >= MAX_ACHIEVEMENT_CRITERIA_DATA_TYPE) + if(requirementType >= MAX_ACHIEVEMENT_CRITERIA_REQUIREMENT_TYPE) { - sLog.outErrorDb( "Table `achievement_criteria_data` for criteria (Entry: %u) have wrong data type (%u), ignore.", criteria->ID,dataType); + sLog.outErrorDb( "Table `achievement_criteria_requirement` for criteria (Entry: %u) have wrong requirement type (%u), ignore.", criteria->ID,requirementType); return false; } @@ -93,168 +93,168 @@ bool AchievementCriteriaData::IsValid(AchievementCriteriaEntry const* criteria) case ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL2: break; default: - sLog.outErrorDb( "Table `achievement_criteria_data` have data for not supported criteria type (Entry: %u Type: %u), ignore.", criteria->ID, criteria->requiredType); + sLog.outErrorDb( "Table `achievement_criteria_requirement` have data for not supported criteria type (Entry: %u Type: %u), ignore.", criteria->ID, criteria->requiredType); return false; } - switch(dataType) + switch(requirementType) { - case ACHIEVEMENT_CRITERIA_DATA_TYPE_NONE: - case ACHIEVEMENT_CRITERIA_DATA_TYPE_VALUE: - case ACHIEVEMENT_CRITERIA_DATA_TYPE_DISABLED: + case ACHIEVEMENT_CRITERIA_REQUIRE_NONE: + case ACHIEVEMENT_CRITERIA_REQUIRE_VALUE: + case ACHIEVEMENT_CRITERIA_REQUIRE_DISABLED: return true; - case ACHIEVEMENT_CRITERIA_DATA_TYPE_T_CREATURE: + case ACHIEVEMENT_CRITERIA_REQUIRE_T_CREATURE: if (!creature.id || !objmgr.GetCreatureTemplate(creature.id)) { - sLog.outErrorDb( "Table `achievement_criteria_data` (Entry: %u Type: %u) for data type ACHIEVEMENT_CRITERIA_DATA_TYPE_CREATURE (%u) have not existed creature id in value1 (%u), ignore.", - criteria->ID, criteria->requiredType,dataType,creature.id); + sLog.outErrorDb( "Table `achievement_criteria_requirement` (Entry: %u Type: %u) for requirement ACHIEVEMENT_CRITERIA_REQUIRE_CREATURE (%u) have not existed creature id in value1 (%u), ignore.", + criteria->ID, criteria->requiredType,requirementType,creature.id); return false; } return true; - case ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_CLASS_RACE: + case ACHIEVEMENT_CRITERIA_REQUIRE_T_PLAYER_CLASS_RACE: if (!classRace.class_id && !classRace.race_id) { - sLog.outErrorDb( "Table `achievement_criteria_data` (Entry: %u Type: %u) for data type ACHIEVEMENT_CRITERIA_DATA_TYPE_PLAYER_CLASS_RACE (%u) must have not 0 in one from value fields, ignore.", - criteria->ID, criteria->requiredType,dataType); + sLog.outErrorDb( "Table `achievement_criteria_requirement` (Entry: %u Type: %u) for requirement ACHIEVEMENT_CRITERIA_REQUIRE_PLAYER_CLASS_RACE (%u) must have not 0 in one from value fields, ignore.", + criteria->ID, criteria->requiredType,requirementType); return false; } if (classRace.class_id && ((1 << (classRace.class_id-1)) & CLASSMASK_ALL_PLAYABLE)==0) { - sLog.outErrorDb( "Table `achievement_criteria_data` (Entry: %u Type: %u) for data type ACHIEVEMENT_CRITERIA_DATA_TYPE_CREATURE (%u) have not existed class in value1 (%u), ignore.", - criteria->ID, criteria->requiredType,dataType,classRace.class_id); + sLog.outErrorDb( "Table `achievement_criteria_requirement` (Entry: %u Type: %u) for requirement ACHIEVEMENT_CRITERIA_REQUIRE_CREATURE (%u) have not existed class in value1 (%u), ignore.", + criteria->ID, criteria->requiredType,requirementType,classRace.class_id); return false; } if (classRace.race_id && ((1 << (classRace.race_id-1)) & RACEMASK_ALL_PLAYABLE)==0) { - sLog.outErrorDb( "Table `achievement_criteria_data` (Entry: %u Type: %u) for data type ACHIEVEMENT_CRITERIA_DATA_TYPE_CREATURE (%u) have not existed race in value2 (%u), ignore.", - criteria->ID, criteria->requiredType,dataType,classRace.race_id); + sLog.outErrorDb( "Table `achievement_criteria_requirement` (Entry: %u Type: %u) for requirement ACHIEVEMENT_CRITERIA_REQUIRE_CREATURE (%u) have not existed race in value2 (%u), ignore.", + criteria->ID, criteria->requiredType,requirementType,classRace.race_id); return false; } return true; - case ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_LESS_HEALTH: + case ACHIEVEMENT_CRITERIA_REQUIRE_T_PLAYER_LESS_HEALTH: if (health.percent < 1 || health.percent > 100) { - sLog.outErrorDb( "Table `achievement_criteria_data` (Entry: %u Type: %u) for data type ACHIEVEMENT_CRITERIA_DATA_TYPE_PLAYER_LESS_HEALTH (%u) have wrong percent value in value1 (%u), ignore.", - criteria->ID, criteria->requiredType,dataType,health.percent); + sLog.outErrorDb( "Table `achievement_criteria_requirement` (Entry: %u Type: %u) for requirement ACHIEVEMENT_CRITERIA_REQUIRE_PLAYER_LESS_HEALTH (%u) have wrong percent value in value1 (%u), ignore.", + criteria->ID, criteria->requiredType,requirementType,health.percent); return false; } return true; - case ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_DEAD: + case ACHIEVEMENT_CRITERIA_REQUIRE_T_PLAYER_DEAD: if (player_dead.own_team_flag > 1) { - sLog.outErrorDb( "Table `achievement_criteria_data` (Entry: %u Type: %u) for data type ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_DEAD (%u) have wrong boolean value1 (%u).", - criteria->ID, criteria->requiredType,dataType,player_dead.own_team_flag); + sLog.outErrorDb( "Table `achievement_criteria_requirement` (Entry: %u Type: %u) for requirement ACHIEVEMENT_CRITERIA_REQUIRE_T_PLAYER_DEAD (%u) have wrong boolean value1 (%u).", + criteria->ID, criteria->requiredType,requirementType,player_dead.own_team_flag); return false; } return true; - case ACHIEVEMENT_CRITERIA_DATA_TYPE_S_AURA: - case ACHIEVEMENT_CRITERIA_DATA_TYPE_T_AURA: + case ACHIEVEMENT_CRITERIA_REQUIRE_S_AURA: + case ACHIEVEMENT_CRITERIA_REQUIRE_T_AURA: { SpellEntry const* spellEntry = sSpellStore.LookupEntry(aura.spell_id); if (!spellEntry) { - sLog.outErrorDb( "Table `achievement_criteria_data` (Entry: %u Type: %u) for data type %s (%u) have wrong spell id in value1 (%u), ignore.", - criteria->ID, criteria->requiredType,(dataType==ACHIEVEMENT_CRITERIA_DATA_TYPE_S_AURA?"ACHIEVEMENT_CRITERIA_DATA_TYPE_S_AURA":"ACHIEVEMENT_CRITERIA_DATA_TYPE_T_AURA"),dataType,aura.spell_id); + sLog.outErrorDb( "Table `achievement_criteria_requirement` (Entry: %u Type: %u) for requirement %s (%u) have wrong spell id in value1 (%u), ignore.", + criteria->ID, criteria->requiredType,(requirementType==ACHIEVEMENT_CRITERIA_REQUIRE_S_AURA?"ACHIEVEMENT_CRITERIA_REQUIRE_S_AURA":"ACHIEVEMENT_CRITERIA_REQUIRE_T_AURA"),requirementType,aura.spell_id); return false; } if (aura.effect_idx >= 3) { - sLog.outErrorDb( "Table `achievement_criteria_data` (Entry: %u Type: %u) for data type %s (%u) have wrong spell effect index in value2 (%u), ignore.", - criteria->ID, criteria->requiredType,(dataType==ACHIEVEMENT_CRITERIA_DATA_TYPE_S_AURA?"ACHIEVEMENT_CRITERIA_DATA_TYPE_S_AURA":"ACHIEVEMENT_CRITERIA_DATA_TYPE_T_AURA"),dataType,aura.effect_idx); + sLog.outErrorDb( "Table `achievement_criteria_requirement` (Entry: %u Type: %u) for requirement %s (%u) have wrong spell effect index in value2 (%u), ignore.", + criteria->ID, criteria->requiredType,(requirementType==ACHIEVEMENT_CRITERIA_REQUIRE_S_AURA?"ACHIEVEMENT_CRITERIA_REQUIRE_S_AURA":"ACHIEVEMENT_CRITERIA_REQUIRE_T_AURA"),requirementType,aura.effect_idx); return false; } if (!spellEntry->EffectApplyAuraName[aura.effect_idx]) { - sLog.outErrorDb( "Table `achievement_criteria_data` (Entry: %u Type: %u) for data type %s (%u) have non-aura spell effect (ID: %u Effect: %u), ignore.", - criteria->ID, criteria->requiredType,(dataType==ACHIEVEMENT_CRITERIA_DATA_TYPE_S_AURA?"ACHIEVEMENT_CRITERIA_DATA_TYPE_S_AURA":"ACHIEVEMENT_CRITERIA_DATA_TYPE_T_AURA"),dataType,aura.spell_id,aura.effect_idx); + sLog.outErrorDb( "Table `achievement_criteria_requirement` (Entry: %u Type: %u) for requirement %s (%u) have non-aura spell effect (ID: %u Effect: %u), ignore.", + criteria->ID, criteria->requiredType,(requirementType==ACHIEVEMENT_CRITERIA_REQUIRE_S_AURA?"ACHIEVEMENT_CRITERIA_REQUIRE_S_AURA":"ACHIEVEMENT_CRITERIA_REQUIRE_T_AURA"),requirementType,aura.spell_id,aura.effect_idx); return false; } return true; } - case ACHIEVEMENT_CRITERIA_DATA_TYPE_S_AREA: + case ACHIEVEMENT_CRITERIA_REQUIRE_S_AREA: if (!GetAreaEntryByAreaID(area.id)) { - sLog.outErrorDb( "Table `achievement_criteria_data` (Entry: %u Type: %u) for data type ACHIEVEMENT_CRITERIA_DATA_TYPE_S_AREA (%u) have wrong area id in value1 (%u), ignore.", - criteria->ID, criteria->requiredType,dataType,area.id); + sLog.outErrorDb( "Table `achievement_criteria_requirement` (Entry: %u Type: %u) for requirement ACHIEVEMENT_CRITERIA_REQUIRE_S_AREA (%u) have wrong area id in value1 (%u), ignore.", + criteria->ID, criteria->requiredType,requirementType,area.id); return false; } return true; - case ACHIEVEMENT_CRITERIA_DATA_TYPE_T_LEVEL: + case ACHIEVEMENT_CRITERIA_REQUIRE_T_LEVEL: if (level.minlevel < 0 || level.minlevel > STRONG_MAX_LEVEL) { - sLog.outErrorDb( "Table `achievement_criteria_data` (Entry: %u Type: %u) for data type ACHIEVEMENT_CRITERIA_DATA_TYPE_T_LEVEL (%u) have wrong minlevel in value1 (%u), ignore.", - criteria->ID, criteria->requiredType,dataType,level.minlevel); + sLog.outErrorDb( "Table `achievement_criteria_requirement` (Entry: %u Type: %u) for requirement ACHIEVEMENT_CRITERIA_REQUIRE_T_LEVEL (%u) have wrong minlevel in value1 (%u), ignore.", + criteria->ID, criteria->requiredType,requirementType,level.minlevel); return false; } return true; - case ACHIEVEMENT_CRITERIA_DATA_TYPE_T_GENDER: + case ACHIEVEMENT_CRITERIA_REQUIRE_T_GENDER: if (gender.gender > GENDER_NONE) { - sLog.outErrorDb( "Table `achievement_criteria_data` (Entry: %u Type: %u) for data type ACHIEVEMENT_CRITERIA_DATA_TYPE_T_GENDER (%u) have wrong gender in value1 (%u), ignore.", - criteria->ID, criteria->requiredType,dataType,gender.gender); + sLog.outErrorDb( "Table `achievement_criteria_requirement` (Entry: %u Type: %u) for requirement ACHIEVEMENT_CRITERIA_REQUIRE_T_GENDER (%u) have wrong gender in value1 (%u), ignore.", + criteria->ID, criteria->requiredType,requirementType,gender.gender); return false; } return true; - case ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_DIFFICULTY: + case ACHIEVEMENT_CRITERIA_REQUIRE_MAP_DIFFICULTY: if (difficulty.difficulty >= MAX_DIFFICULTY) { - sLog.outErrorDb( "Table `achievement_criteria_data` (Entry: %u Type: %u) for data type ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_DIFFICULTY (%u) have wrong difficulty in value1 (%u), ignore.", - criteria->ID, criteria->requiredType,dataType,difficulty.difficulty); + sLog.outErrorDb( "Table `achievement_criteria_requirement` (Entry: %u Type: %u) for requirement ACHIEVEMENT_CRITERIA_REQUIRE_MAP_DIFFICULTY (%u) have wrong difficulty in value1 (%u), ignore.", + criteria->ID, criteria->requiredType,requirementType,difficulty.difficulty); return false; } return true; - case ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_PLAYER_COUNT: + case ACHIEVEMENT_CRITERIA_REQUIRE_MAP_PLAYER_COUNT: if (map_players.maxcount <= 0) { - sLog.outErrorDb( "Table `achievement_criteria_data` (Entry: %u Type: %u) for data type ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_PLAYER_COUNT (%u) have wrong max players count in value1 (%u), ignore.", - criteria->ID, criteria->requiredType,dataType,map_players.maxcount); + sLog.outErrorDb( "Table `achievement_criteria_requirement` (Entry: %u Type: %u) for requirement ACHIEVEMENT_CRITERIA_REQUIRE_MAP_PLAYER_COUNT (%u) have wrong max players count in value1 (%u), ignore.", + criteria->ID, criteria->requiredType,requirementType,map_players.maxcount); return false; } return true; - case ACHIEVEMENT_CRITERIA_DATA_TYPE_T_TEAM: + case ACHIEVEMENT_CRITERIA_REQUIRE_T_TEAM: if (team.team != ALLIANCE && team.team != HORDE) { - sLog.outErrorDb( "Table `achievement_criteria_data` (Entry: %u Type: %u) for data type ACHIEVEMENT_CRITERIA_DATA_TYPE_T_TEAM (%u) have unknown team in value1 (%u), ignore.", - criteria->ID, criteria->requiredType,dataType,team.team); + sLog.outErrorDb( "Table `achievement_criteria_requirement` (Entry: %u Type: %u) for requirement ACHIEVEMENT_CRITERIA_REQUIRE_T_TEAM (%u) have unknown team in value1 (%u), ignore.", + criteria->ID, criteria->requiredType,requirementType,team.team); return false; } return true; - case ACHIEVEMENT_CRITERIA_DATA_TYPE_S_DRUNK: + case ACHIEVEMENT_CRITERIA_REQUIRE_S_DRUNK: if(drunk.state >= MAX_DRUNKEN) { - sLog.outErrorDb( "Table `achievement_criteria_data` (Entry: %u Type: %u) for data type ACHIEVEMENT_CRITERIA_DATA_TYPE_S_DRUNK (%u) have unknown drunken state in value1 (%u), ignore.", - criteria->ID, criteria->requiredType,dataType,drunk.state); + sLog.outErrorDb( "Table `achievement_criteria_requirement` (Entry: %u Type: %u) for requirement ACHIEVEMENT_CRITERIA_REQUIRE_S_DRUNK (%u) have unknown drunken state in value1 (%u), ignore.", + criteria->ID, criteria->requiredType,requirementType,drunk.state); return false; } return true; - case ACHIEVEMENT_CRITERIA_DATA_TYPE_HOLIDAY: + case ACHIEVEMENT_CRITERIA_REQUIRE_HOLIDAY: if (!sHolidaysStore.LookupEntry(holiday.id)) { - sLog.outErrorDb( "Table `achievement_criteria_data` (Entry: %u Type: %u) for data type ACHIEVEMENT_CRITERIA_DATA_TYPE_HOLIDAY (%u) have unknown holiday in value1 (%u), ignore.", - criteria->ID, criteria->requiredType,dataType,holiday.id); + sLog.outErrorDb( "Table `achievement_criteria_requirement` (Entry: %u Type: %u) for requirement ACHIEVEMENT_CRITERIA_REQUIRE_HOLIDAY (%u) have unknown holiday in value1 (%u), ignore.", + criteria->ID, criteria->requiredType,requirementType,holiday.id); return false; } return true; - case ACHIEVEMENT_CRITERIA_DATA_TYPE_BG_LOSS_TEAM_SCORE: + case ACHIEVEMENT_CRITERIA_REQUIRE_BG_LOSS_TEAM_SCORE: return true; // not check correctness node indexes default: - sLog.outErrorDb( "Table `achievement_criteria_data` (Entry: %u Type: %u) have data for not supported data type (%u), ignore.", criteria->ID, criteria->requiredType,dataType); + sLog.outErrorDb( "Table `achievement_criteria_requirement` (Entry: %u Type: %u) have data for not supported data type (%u), ignore.", criteria->ID, criteria->requiredType,requirementType); return false; } return false; } -bool AchievementCriteriaData::Meets(Player const* source, Unit const* target, uint32 miscvalue1 /*= 0*/) const +bool AchievementCriteriaRequirement::Meets(Player const* source, Unit const* target, uint32 miscvalue1 /*= 0*/) const { - switch(dataType) + switch(requirementType) { - case ACHIEVEMENT_CRITERIA_DATA_TYPE_NONE: + case ACHIEVEMENT_CRITERIA_REQUIRE_NONE: return true; - case ACHIEVEMENT_CRITERIA_DATA_TYPE_T_CREATURE: + case ACHIEVEMENT_CRITERIA_REQUIRE_T_CREATURE: if (!target || target->GetTypeId()!=TYPEID_UNIT) return false; return target->GetEntry() == creature.id; - case ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_CLASS_RACE: + case ACHIEVEMENT_CRITERIA_REQUIRE_T_PLAYER_CLASS_RACE: if (!target || target->GetTypeId()!=TYPEID_PLAYER) return false; if(classRace.class_id && classRace.class_id != ((Player*)target)->getClass()) @@ -262,50 +262,50 @@ bool AchievementCriteriaData::Meets(Player const* source, Unit const* target, ui if(classRace.race_id && classRace.race_id != ((Player*)target)->getRace()) return false; return true; - case ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_LESS_HEALTH: + case ACHIEVEMENT_CRITERIA_REQUIRE_T_PLAYER_LESS_HEALTH: if (!target || target->GetTypeId()!=TYPEID_PLAYER) return false; return target->GetHealth()*100 <= health.percent*target->GetMaxHealth(); - case ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_DEAD: + case ACHIEVEMENT_CRITERIA_REQUIRE_T_PLAYER_DEAD: if (!target || target->GetTypeId() != TYPEID_PLAYER || target->isAlive() || ((Player*)target)->GetDeathTimer() == 0) return false; // flag set == must be same team, not set == different team return (((Player*)target)->GetTeam() == source->GetTeam()) == (player_dead.own_team_flag != 0); - case ACHIEVEMENT_CRITERIA_DATA_TYPE_S_AURA: + case ACHIEVEMENT_CRITERIA_REQUIRE_S_AURA: return source->HasAura(aura.spell_id,aura.effect_idx); - case ACHIEVEMENT_CRITERIA_DATA_TYPE_S_AREA: + case ACHIEVEMENT_CRITERIA_REQUIRE_S_AREA: { uint32 zone_id,area_id; source->GetZoneAndAreaId(zone_id,area_id); return area.id==zone_id || area.id==area_id; } - case ACHIEVEMENT_CRITERIA_DATA_TYPE_T_AURA: + case ACHIEVEMENT_CRITERIA_REQUIRE_T_AURA: return target && target->HasAura(aura.spell_id,aura.effect_idx); - case ACHIEVEMENT_CRITERIA_DATA_TYPE_VALUE: + case ACHIEVEMENT_CRITERIA_REQUIRE_VALUE: return miscvalue1 >= value.minvalue; - case ACHIEVEMENT_CRITERIA_DATA_TYPE_T_LEVEL: + case ACHIEVEMENT_CRITERIA_REQUIRE_T_LEVEL: if (!target) return false; return target->getLevel() >= level.minlevel; - case ACHIEVEMENT_CRITERIA_DATA_TYPE_T_GENDER: + case ACHIEVEMENT_CRITERIA_REQUIRE_T_GENDER: if (!target) return false; return target->getGender() == gender.gender; - case ACHIEVEMENT_CRITERIA_DATA_TYPE_DISABLED: + case ACHIEVEMENT_CRITERIA_REQUIRE_DISABLED: return false; // always fail - case ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_DIFFICULTY: + case ACHIEVEMENT_CRITERIA_REQUIRE_MAP_DIFFICULTY: return source->GetMap()->GetSpawnMode()==difficulty.difficulty; - case ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_PLAYER_COUNT: + case ACHIEVEMENT_CRITERIA_REQUIRE_MAP_PLAYER_COUNT: return source->GetMap()->GetPlayersCountExceptGMs() <= map_players.maxcount; - case ACHIEVEMENT_CRITERIA_DATA_TYPE_T_TEAM: + case ACHIEVEMENT_CRITERIA_REQUIRE_T_TEAM: if (!target || target->GetTypeId() != TYPEID_PLAYER) return false; return ((Player*)target)->GetTeam() == team.team; - case ACHIEVEMENT_CRITERIA_DATA_TYPE_S_DRUNK: + case ACHIEVEMENT_CRITERIA_REQUIRE_S_DRUNK: return Player::GetDrunkenstateByValue(source->GetDrunkValue()) >= drunk.state; - case ACHIEVEMENT_CRITERIA_DATA_TYPE_HOLIDAY: + case ACHIEVEMENT_CRITERIA_REQUIRE_HOLIDAY: return IsHolidayActive(HolidayIds(holiday.id)); - case ACHIEVEMENT_CRITERIA_DATA_TYPE_BG_LOSS_TEAM_SCORE: + case ACHIEVEMENT_CRITERIA_REQUIRE_BG_LOSS_TEAM_SCORE: { BattleGround* bg = source->GetBattleGround(); if(!bg) @@ -316,7 +316,7 @@ bool AchievementCriteriaData::Meets(Player const* source, Unit const* target, ui return false; } -bool AchievementCriteriaDataSet::Meets(Player const* source, Unit const* target, uint32 miscvalue /*= 0*/) const +bool AchievementCriteriaRequirementSet::Meets(Player const* source, Unit const* target, uint32 miscvalue /*= 0*/) const { for(Storage::const_iterator itr = storage.begin(); itr != storage.end(); ++itr) if(!itr->Meets(source,target,miscvalue)) @@ -741,7 +741,7 @@ void AchievementMgr::UpdateAchievementCriteria(AchievementCriteriaTypes type, ui if (achievementCriteria->win_bg.additionalRequirement1_type) { // those requirements couldn't be found in the dbc - AchievementCriteriaDataSet const* data = achievementmgr.GetCriteriaDataSet(achievementCriteria); + AchievementCriteriaRequirementSet const* data = achievementmgr.GetCriteriaRequirementSet(achievementCriteria); if (!data || !data->Meets(GetPlayer(),unit)) continue; } @@ -787,7 +787,7 @@ void AchievementMgr::UpdateAchievementCriteria(AchievementCriteriaTypes type, ui continue; // those requirements couldn't be found in the dbc - AchievementCriteriaDataSet const* data = achievementmgr.GetCriteriaDataSet(achievementCriteria); + AchievementCriteriaRequirementSet const* data = achievementmgr.GetCriteriaRequirementSet(achievementCriteria); if(!data || !data->Meets(GetPlayer(),unit)) continue; @@ -955,7 +955,7 @@ void AchievementMgr::UpdateAchievementCriteria(AchievementCriteriaTypes type, ui continue; // those requirements couldn't be found in the dbc - AchievementCriteriaDataSet const* data = achievementmgr.GetCriteriaDataSet(achievementCriteria); + AchievementCriteriaRequirementSet const* data = achievementmgr.GetCriteriaRequirementSet(achievementCriteria); if(!data || !data->Meets(GetPlayer(),unit)) continue; @@ -997,7 +997,7 @@ void AchievementMgr::UpdateAchievementCriteria(AchievementCriteriaTypes type, ui case 1789: { // those requirements couldn't be found in the dbc - AchievementCriteriaDataSet const* data = achievementmgr.GetCriteriaDataSet(achievementCriteria); + AchievementCriteriaRequirementSet const* data = achievementmgr.GetCriteriaRequirementSet(achievementCriteria); if(!data || !data->Meets(GetPlayer(),unit)) continue; break; @@ -1023,7 +1023,7 @@ void AchievementMgr::UpdateAchievementCriteria(AchievementCriteriaTypes type, ui continue; // those requirements couldn't be found in the dbc - AchievementCriteriaDataSet const* data = achievementmgr.GetCriteriaDataSet(achievementCriteria); + AchievementCriteriaRequirementSet const* data = achievementmgr.GetCriteriaRequirementSet(achievementCriteria); if(!data) continue; @@ -1053,7 +1053,7 @@ void AchievementMgr::UpdateAchievementCriteria(AchievementCriteriaTypes type, ui if(achievementCriteria->loot_type.lootTypeCount==1) { // those requirements couldn't be found in the dbc - AchievementCriteriaDataSet const* data = achievementmgr.GetCriteriaDataSet(achievementCriteria); + AchievementCriteriaRequirementSet const* data = achievementmgr.GetCriteriaRequirementSet(achievementCriteria); if(!data || !data->Meets(GetPlayer(),unit)) continue; } @@ -1076,7 +1076,7 @@ void AchievementMgr::UpdateAchievementCriteria(AchievementCriteriaTypes type, ui if(achievementCriteria->win_rated_arena.flag==ACHIEVEMENT_CRITERIA_CONDITION_NO_LOOSE) { // those requirements couldn't be found in the dbc - AchievementCriteriaDataSet const* data = achievementmgr.GetCriteriaDataSet(achievementCriteria); + AchievementCriteriaRequirementSet const* data = achievementmgr.GetCriteriaRequirementSet(achievementCriteria); if(!data || !data->Meets(GetPlayer(),unit,miscvalue1)) { // reset the progress as we have a win without the requirement. @@ -1191,7 +1191,7 @@ void AchievementMgr::UpdateAchievementCriteria(AchievementCriteriaTypes type, ui if(achievementCriteria->do_emote.count) { // those requirements couldn't be found in the dbc - AchievementCriteriaDataSet const* data = achievementmgr.GetCriteriaDataSet(achievementCriteria); + AchievementCriteriaRequirementSet const* data = achievementmgr.GetCriteriaRequirementSet(achievementCriteria); if(!data || !data->Meets(GetPlayer(),unit)) continue; } @@ -1272,7 +1272,7 @@ void AchievementMgr::UpdateAchievementCriteria(AchievementCriteriaTypes type, ui if (achievementCriteria->win_duel.duelCount) { // those requirements couldn't be found in the dbc - AchievementCriteriaDataSet const* data = achievementmgr.GetCriteriaDataSet(achievementCriteria); + AchievementCriteriaRequirementSet const* data = achievementmgr.GetCriteriaRequirementSet(achievementCriteria); if (!data) continue; @@ -1848,11 +1848,11 @@ void AchievementGlobalMgr::LoadAchievementReferenceList() sLog.outString(">> Loaded %u achievement references.",count); } -void AchievementGlobalMgr::LoadAchievementCriteriaData() +void AchievementGlobalMgr::LoadAchievementCriteriaRequirements() { - m_criteriaDataMap.clear(); // need for reload case + m_criteriaRequirementMap.clear(); // need for reload case - QueryResult *result = WorldDatabase.Query("SELECT criteria_id, type, value1, value2 FROM achievement_criteria_data"); + QueryResult *result = WorldDatabase.Query("SELECT criteria_id, type, value1, value2 FROM achievement_criteria_requirement"); if(!result) { @@ -1860,7 +1860,7 @@ void AchievementGlobalMgr::LoadAchievementCriteriaData() bar.step(); sLog.outString(); - sLog.outString(">> Loaded 0 additional achievement criteria data. DB table `achievement_criteria_data` is empty."); + sLog.outString(">> Loaded 0 additional achievement criteria data. DB table `achievement_criteria_requirement` is empty."); return; } @@ -1877,11 +1877,11 @@ void AchievementGlobalMgr::LoadAchievementCriteriaData() if (!criteria) { - sLog.outErrorDb( "Table `achievement_criteria_data` have data for not existed criteria (Entry: %u), ignore.", criteria_id); + sLog.outErrorDb( "Table `achievement_criteria_requirement` have data for not existed criteria (Entry: %u), ignore.", criteria_id); continue; } - AchievementCriteriaData data(fields[1].GetUInt32(),fields[2].GetUInt32(),fields[3].GetUInt32()); + AchievementCriteriaRequirement data(fields[1].GetUInt32(),fields[2].GetUInt32(),fields[3].GetUInt32()); if (!data.IsValid(criteria)) { @@ -1889,16 +1889,17 @@ void AchievementGlobalMgr::LoadAchievementCriteriaData() } // this will allocate empty data set storage - AchievementCriteriaDataSet& dataSet = m_criteriaDataMap[criteria_id]; + AchievementCriteriaRequirementSet& dataSet = m_criteriaRequirementMap[criteria_id]; - if (data.dataType == ACHIEVEMENT_CRITERIA_DATA_TYPE_DISABLED) + // counting disable criteria requirements + if (data.requirementType == ACHIEVEMENT_CRITERIA_REQUIRE_DISABLED) ++disabled_count; - // add real data only for not NONE data types - if (data.dataType != ACHIEVEMENT_CRITERIA_DATA_TYPE_NONE) + // add real data only for not NONE requirements + if (data.requirementType != ACHIEVEMENT_CRITERIA_REQUIRE_NONE) dataSet.Add(data); - // counting data by and data types + // counting requirements ++count; } while(result->NextRow()); @@ -1965,8 +1966,8 @@ void AchievementGlobalMgr::LoadAchievementCriteriaData() continue; } - if(!GetCriteriaDataSet(criteria)) - sLog.outErrorDb( "Table `achievement_criteria_data` not have expected data for criteria (Entry: %u Type: %u) for achievement %u.", criteria->ID, criteria->requiredType, criteria->referredAchievement); + if(!GetCriteriaRequirementSet(criteria)) + sLog.outErrorDb( "Table `achievement_criteria_requirement` not have expected data for criteria (Entry: %u Type: %u) for achievement %u.", criteria->ID, criteria->requiredType, criteria->referredAchievement); } sLog.outString(); diff --git a/src/game/AchievementMgr.h b/src/game/AchievementMgr.h index eedd74700..caaf16659 100644 --- a/src/game/AchievementMgr.h +++ b/src/game/AchievementMgr.h @@ -40,114 +40,114 @@ struct CriteriaProgress bool changed; }; -enum AchievementCriteriaDataType +enum AchievementCriteriaRequirementType { // value1 value2 comment - ACHIEVEMENT_CRITERIA_DATA_TYPE_NONE = 0, // 0 0 - ACHIEVEMENT_CRITERIA_DATA_TYPE_T_CREATURE = 1, // creature_id 0 - ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_CLASS_RACE = 2, // class_id race_id - ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_LESS_HEALTH= 3, // health_percent 0 - ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_DEAD = 4, // own_team 0 not corpse (not released body), own_team==false if enemy team expected - ACHIEVEMENT_CRITERIA_DATA_TYPE_S_AURA = 5, // spell_id effect_idx - ACHIEVEMENT_CRITERIA_DATA_TYPE_S_AREA = 6, // area id 0 - ACHIEVEMENT_CRITERIA_DATA_TYPE_T_AURA = 7, // spell_id effect_idx - ACHIEVEMENT_CRITERIA_DATA_TYPE_VALUE = 8, // minvalue value provided with achievement update must be not less that limit - ACHIEVEMENT_CRITERIA_DATA_TYPE_T_LEVEL = 9, // minlevel minlevel of target - ACHIEVEMENT_CRITERIA_DATA_TYPE_T_GENDER = 10,// gender 0=male; 1=female - ACHIEVEMENT_CRITERIA_DATA_TYPE_DISABLED = 11,// used to prevent achievement creteria complete if not all requirement implemented and listed in table - ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_DIFFICULTY = 12,// difficulty normal/heroic difficulty for current event map - ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_PLAYER_COUNT = 13,// count "with less than %u people in the zone" - ACHIEVEMENT_CRITERIA_DATA_TYPE_T_TEAM = 14,// team HORDE(67), ALLIANCE(469) - ACHIEVEMENT_CRITERIA_DATA_TYPE_S_DRUNK = 15,// drunken_state 0 (enum DrunkenState) of player - ACHIEVEMENT_CRITERIA_DATA_TYPE_HOLIDAY = 16,// holiday_id 0 event in holiday time - ACHIEVEMENT_CRITERIA_DATA_TYPE_BG_LOSS_TEAM_SCORE = 17,// min_score max_score player's team win bg and opposition team have team score in range + ACHIEVEMENT_CRITERIA_REQUIRE_NONE = 0, // 0 0 + ACHIEVEMENT_CRITERIA_REQUIRE_T_CREATURE = 1, // creature_id 0 + ACHIEVEMENT_CRITERIA_REQUIRE_T_PLAYER_CLASS_RACE = 2, // class_id race_id + ACHIEVEMENT_CRITERIA_REQUIRE_T_PLAYER_LESS_HEALTH= 3, // health_percent 0 + ACHIEVEMENT_CRITERIA_REQUIRE_T_PLAYER_DEAD = 4, // own_team 0 not corpse (not released body), own_team==false if enemy team expected + ACHIEVEMENT_CRITERIA_REQUIRE_S_AURA = 5, // spell_id effect_idx + ACHIEVEMENT_CRITERIA_REQUIRE_S_AREA = 6, // area id 0 + ACHIEVEMENT_CRITERIA_REQUIRE_T_AURA = 7, // spell_id effect_idx + ACHIEVEMENT_CRITERIA_REQUIRE_VALUE = 8, // minvalue value provided with achievement update must be not less that limit + ACHIEVEMENT_CRITERIA_REQUIRE_T_LEVEL = 9, // minlevel minlevel of target + ACHIEVEMENT_CRITERIA_REQUIRE_T_GENDER = 10, // gender 0=male; 1=female + ACHIEVEMENT_CRITERIA_REQUIRE_DISABLED = 11, // used to prevent achievement creteria complete if not all requirement implemented and listed in table + ACHIEVEMENT_CRITERIA_REQUIRE_MAP_DIFFICULTY = 12, // difficulty normal/heroic difficulty for current event map + ACHIEVEMENT_CRITERIA_REQUIRE_MAP_PLAYER_COUNT = 13, // count "with less than %u people in the zone" + ACHIEVEMENT_CRITERIA_REQUIRE_T_TEAM = 14, // team HORDE(67), ALLIANCE(469) + ACHIEVEMENT_CRITERIA_REQUIRE_S_DRUNK = 15, // drunken_state 0 (enum DrunkenState) of player + ACHIEVEMENT_CRITERIA_REQUIRE_HOLIDAY = 16, // holiday_id 0 event in holiday time + ACHIEVEMENT_CRITERIA_REQUIRE_BG_LOSS_TEAM_SCORE = 17, // min_score max_score player's team win bg and opposition team have team score in range }; -#define MAX_ACHIEVEMENT_CRITERIA_DATA_TYPE 18 // maximum value in AchievementCriteriaDataType enum +#define MAX_ACHIEVEMENT_CRITERIA_REQUIREMENT_TYPE 18 // maximum value in AchievementCriteriaRequirementType enum class Player; class Unit; -struct AchievementCriteriaData +struct AchievementCriteriaRequirement { - AchievementCriteriaDataType dataType; + AchievementCriteriaRequirementType requirementType; union { - // ACHIEVEMENT_CRITERIA_DATA_TYPE_NONE = 0 (no data) - // ACHIEVEMENT_CRITERIA_DATA_TYPE_T_CREATURE = 1 + // ACHIEVEMENT_CRITERIA_REQUIRE_NONE = 0 (no data) + // ACHIEVEMENT_CRITERIA_REQUIRE_T_CREATURE = 1 struct { uint32 id; } creature; - // ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_CLASS_RACE = 2 + // ACHIEVEMENT_CRITERIA_REQUIRE_T_PLAYER_CLASS_RACE = 2 struct { uint32 class_id; uint32 race_id; } classRace; - // ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_LESS_HEALTH = 3 + // ACHIEVEMENT_CRITERIA_REQUIRE_T_PLAYER_LESS_HEALTH = 3 struct { uint32 percent; } health; - // ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_DEAD = 4 + // ACHIEVEMENT_CRITERIA_REQUIRE_T_PLAYER_DEAD = 4 struct { uint32 own_team_flag; } player_dead; - // ACHIEVEMENT_CRITERIA_DATA_TYPE_S_AURA = 5 - // ACHIEVEMENT_CRITERIA_DATA_TYPE_T_AURA = 7 + // ACHIEVEMENT_CRITERIA_REQUIRE_S_AURA = 5 + // ACHIEVEMENT_CRITERIA_REQUIRE_T_AURA = 7 struct { uint32 spell_id; uint32 effect_idx; } aura; - // ACHIEVEMENT_CRITERIA_DATA_TYPE_S_AREA = 6 + // ACHIEVEMENT_CRITERIA_REQUIRE_S_AREA = 6 struct { uint32 id; } area; - // ACHIEVEMENT_CRITERIA_DATA_TYPE_VALUE = 8 + // ACHIEVEMENT_CRITERIA_REQUIRE_VALUE = 8 struct { uint32 minvalue; } value; - // ACHIEVEMENT_CRITERIA_DATA_TYPE_T_LEVEL = 9 + // ACHIEVEMENT_CRITERIA_REQUIRE_T_LEVEL = 9 struct { uint32 minlevel; } level; - // ACHIEVEMENT_CRITERIA_DATA_TYPE_T_GENDER = 10 + // ACHIEVEMENT_CRITERIA_REQUIRE_T_GENDER = 10 struct { uint32 gender; } gender; - // ACHIEVEMENT_CRITERIA_DATA_TYPE_DISABLED = 11 (no data) - // ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_DIFFICULTY = 12 + // ACHIEVEMENT_CRITERIA_REQUIRE_DISABLED = 11 (no data) + // ACHIEVEMENT_CRITERIA_REQUIRE_MAP_DIFFICULTY = 12 struct { uint32 difficulty; } difficulty; - // ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_PLAYER_COUNT = 13 + // ACHIEVEMENT_CRITERIA_REQUIRE_MAP_PLAYER_COUNT = 13 struct { uint32 maxcount; } map_players; - // ACHIEVEMENT_CRITERIA_DATA_TYPE_T_TEAM = 14 + // ACHIEVEMENT_CRITERIA_REQUIRE_T_TEAM = 14 struct { uint32 team; } team; - // ACHIEVEMENT_CRITERIA_DATA_TYPE_S_DRUNK = 15 + // ACHIEVEMENT_CRITERIA_REQUIRE_S_DRUNK = 15 struct { uint32 state; } drunk; - // ACHIEVEMENT_CRITERIA_DATA_TYPE_HOLIDAY = 16 + // ACHIEVEMENT_CRITERIA_REQUIRE_HOLIDAY = 16 struct { uint32 id; } holiday; - // ACHIEVEMENT_CRITERIA_DATA_TYPE_BG_LOSS_TEAM_SCORE= 17 + // ACHIEVEMENT_CRITERIA_REQUIRE_BG_LOSS_TEAM_SCORE= 17 struct { uint32 min_score; @@ -161,13 +161,14 @@ struct AchievementCriteriaData } raw; }; - AchievementCriteriaData() : dataType(ACHIEVEMENT_CRITERIA_DATA_TYPE_NONE) + AchievementCriteriaRequirement() : requirementType(ACHIEVEMENT_CRITERIA_REQUIRE_NONE) { raw.value1 = 0; raw.value2 = 0; } - AchievementCriteriaData(uint32 _dataType, uint32 _value1, uint32 _value2) : dataType(AchievementCriteriaDataType(_dataType)) + AchievementCriteriaRequirement(uint32 reqType, uint32 _value1, uint32 _value2) + : requirementType(AchievementCriteriaRequirementType(reqType)) { raw.value1 = _value1; raw.value2 = _value2; @@ -177,17 +178,16 @@ struct AchievementCriteriaData bool Meets(Player const* source, Unit const* target, uint32 miscvalue1 = 0) const; }; -struct AchievementCriteriaDataSet +struct AchievementCriteriaRequirementSet { - typedef std::vector Storage; - void Add(AchievementCriteriaData const& data) { storage.push_back(data); } + typedef std::vector Storage; + void Add(AchievementCriteriaRequirement const& data) { storage.push_back(data); } bool Meets(Player const* source, Unit const* target, uint32 miscvalue = 0) const; private: Storage storage; }; - -typedef std::map AchievementCriteriaDataMap; +typedef std::map AchievementCriteriaRequirementMap; struct AchievementReward { @@ -284,10 +284,10 @@ class AchievementGlobalMgr return iter!=m_achievementRewardLocales.end() ? &iter->second : NULL; } - AchievementCriteriaDataSet const* GetCriteriaDataSet(AchievementCriteriaEntry const *achievementCriteria) + AchievementCriteriaRequirementSet const* GetCriteriaRequirementSet(AchievementCriteriaEntry const *achievementCriteria) { - AchievementCriteriaDataMap::const_iterator iter = m_criteriaDataMap.find(achievementCriteria->ID); - return iter!=m_criteriaDataMap.end() ? &iter->second : NULL; + AchievementCriteriaRequirementMap::const_iterator iter = m_criteriaRequirementMap.find(achievementCriteria->ID); + return iter!=m_criteriaRequirementMap.end() ? &iter->second : NULL; } bool IsRealmCompleted(AchievementEntry const* achievement) const @@ -301,13 +301,13 @@ class AchievementGlobalMgr } void LoadAchievementCriteriaList(); - void LoadAchievementCriteriaData(); + void LoadAchievementCriteriaRequirements(); void LoadAchievementReferenceList(); void LoadCompletedAchievements(); void LoadRewards(); void LoadRewardLocales(); private: - AchievementCriteriaDataMap m_criteriaDataMap; + AchievementCriteriaRequirementMap m_criteriaRequirementMap; // store achievement criterias by type to speed up lookup AchievementCriteriaEntryList m_AchievementCriteriasByType[ACHIEVEMENT_CRITERIA_TYPE_TOTAL]; diff --git a/src/game/Chat.cpp b/src/game/Chat.cpp index 5c8afa6c5..17f586ad4 100644 --- a/src/game/Chat.cpp +++ b/src/game/Chat.cpp @@ -396,7 +396,7 @@ ChatCommand * ChatHandler::getCommandTable() { "config", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadConfigCommand, "", NULL }, - { "achievement_criteria_data", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadAchievementCriteriaDataCommand, "", NULL }, + { "achievement_criteria_requirement",SEC_ADMINISTRATOR,true,&ChatHandler::HandleReloadAchievementCriteriaRequirementCommand,"",NULL }, { "achievement_reward", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadAchievementRewardCommand, "", NULL }, { "areatrigger_involvedrelation",SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadQuestAreaTriggersCommand, "", NULL }, { "areatrigger_tavern", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadAreaTriggerTavernCommand, "", NULL }, diff --git a/src/game/Chat.h b/src/game/Chat.h index 6e7ee3e89..271640e6c 100644 --- a/src/game/Chat.h +++ b/src/game/Chat.h @@ -318,7 +318,7 @@ class ChatHandler bool HandleReloadConfigCommand(const char* args); - bool HandleReloadAchievementCriteriaDataCommand(const char* args); + bool HandleReloadAchievementCriteriaRequirementCommand(const char* args); bool HandleReloadAchievementRewardCommand(const char* args); bool HandleReloadAreaTriggerTavernCommand(const char* args); bool HandleReloadAreaTriggerTeleportCommand(const char* args); diff --git a/src/game/Level3.cpp b/src/game/Level3.cpp index 1e09d4b61..7f55102bb 100644 --- a/src/game/Level3.cpp +++ b/src/game/Level3.cpp @@ -76,7 +76,7 @@ bool ChatHandler::HandleReloadAllCommand(const char*) bool ChatHandler::HandleReloadAllAchievementCommand(const char*) { - HandleReloadAchievementCriteriaDataCommand(""); + HandleReloadAchievementCriteriaRequirementCommand(""); HandleReloadAchievementRewardCommand(""); return true; } @@ -196,11 +196,11 @@ bool ChatHandler::HandleReloadConfigCommand(const char* /*args*/) return true; } -bool ChatHandler::HandleReloadAchievementCriteriaDataCommand(const char*) +bool ChatHandler::HandleReloadAchievementCriteriaRequirementCommand(const char*) { - sLog.outString( "Re-Loading Additional Achievement Criteria Data..." ); - achievementmgr.LoadAchievementCriteriaData(); - SendGlobalSysMessage("DB table `achievement_criteria_data` reloaded."); + sLog.outString( "Re-Loading Additional Achievement Criteria Requirements Data..." ); + achievementmgr.LoadAchievementCriteriaRequirements(); + SendGlobalSysMessage("DB table `achievement_criteria_requirement` reloaded."); return true; } diff --git a/src/game/World.cpp b/src/game/World.cpp index 6f19225e1..a2931c63b 100644 --- a/src/game/World.cpp +++ b/src/game/World.cpp @@ -1354,7 +1354,7 @@ void World::SetInitialWorldSettings() sLog.outString(); achievementmgr.LoadAchievementReferenceList(); achievementmgr.LoadAchievementCriteriaList(); - achievementmgr.LoadAchievementCriteriaData(); + achievementmgr.LoadAchievementCriteriaRequirements(); achievementmgr.LoadRewards(); achievementmgr.LoadRewardLocales(); achievementmgr.LoadCompletedAchievements(); diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index fcf402369..e67264209 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "8722" + #define REVISION_NR "8723" #endif // __REVISION_NR_H__ diff --git a/src/shared/revision_sql.h b/src/shared/revision_sql.h index 9f2da9b59..c9cf3950a 100644 --- a/src/shared/revision_sql.h +++ b/src/shared/revision_sql.h @@ -1,6 +1,6 @@ #ifndef __REVISION_SQL_H__ #define __REVISION_SQL_H__ #define REVISION_DB_CHARACTERS "required_8721_01_characters_guild" - #define REVISION_DB_MANGOS "required_8720_01_mangos_quest_template" + #define REVISION_DB_MANGOS "required_8723_01_mangos_achievement_criteria_requirement" #define REVISION_DB_REALMD "required_8332_01_realmd_realmcharacters" #endif // __REVISION_SQL_H__ -- 2.11.4.GIT