aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/game/AchievementMgr.cpp163
-rw-r--r--src/game/AchievementMgr.h36
-rw-r--r--src/game/AuctionHouseMgr.cpp12
-rw-r--r--src/game/BattleGroundMgr.cpp8
-rw-r--r--src/game/CreatureGroups.cpp4
-rw-r--r--src/game/DBCStores.cpp2
-rw-r--r--src/game/DBCStructure.h4
-rw-r--r--src/game/DBCfmt.h2
-rw-r--r--src/game/GameEventMgr.cpp66
-rw-r--r--src/game/InstanceSaveMgr.cpp4
-rw-r--r--src/game/ItemEnchantmentMgr.cpp4
-rw-r--r--src/game/Level3.cpp2
-rw-r--r--src/game/LootMgr.cpp4
-rw-r--r--src/game/Map.h2
-rw-r--r--src/game/Object.cpp2
-rw-r--r--src/game/ObjectMgr.cpp238
-rw-r--r--src/game/PetHandler.cpp2
-rw-r--r--src/game/PoolHandler.cpp18
-rw-r--r--src/game/ScriptCalls.cpp2
-rw-r--r--src/game/SkillDiscovery.cpp4
-rw-r--r--src/game/SkillExtraItems.cpp4
-rw-r--r--src/game/Spell.cpp2
-rw-r--r--src/game/SpellAuras.cpp17
-rw-r--r--src/game/SpellEffects.cpp8
-rw-r--r--src/game/SpellHandler.cpp80
-rw-r--r--src/game/SpellMgr.cpp54
-rw-r--r--src/game/Transports.cpp4
-rw-r--r--src/game/Unit.cpp7
-rw-r--r--src/game/Unit.h3
-rw-r--r--src/game/World.cpp43
30 files changed, 481 insertions, 320 deletions
diff --git a/src/game/AchievementMgr.cpp b/src/game/AchievementMgr.cpp
index c43d92b748f..37041c7d7da 100644
--- a/src/game/AchievementMgr.cpp
+++ b/src/game/AchievementMgr.cpp
@@ -407,21 +407,21 @@ void AchievementMgr::UpdateAchievementCriteria(AchievementCriteriaTypes type, ui
{
AchievementCriteriaEntry const *achievementCriteria = (*i);
- // don't update already completed criteria
- if(IsCompletedCriteria(achievementCriteria))
- continue;
-
- if(achievementCriteria->groupFlag & ACHIEVEMENT_CRITERIA_GROUP_NOT_IN_GROUP && GetPlayer()->GetGroup())
+ if (achievementCriteria->groupFlag & ACHIEVEMENT_CRITERIA_GROUP_NOT_IN_GROUP && GetPlayer()->GetGroup())
continue;
AchievementEntry const *achievement = sAchievementStore.LookupEntry(achievementCriteria->referredAchievement);
- if(!achievement)
+ if (!achievement)
continue;
if ((achievement->factionFlag == ACHIEVEMENT_FACTION_FLAG_HORDE && GetPlayer()->GetTeam() != HORDE) ||
(achievement->factionFlag == ACHIEVEMENT_FACTION_FLAG_ALLIANCE && GetPlayer()->GetTeam() != ALLIANCE))
continue;
+ // don't update already completed criteria
+ if (IsCompletedCriteria(achievementCriteria,achievement))
+ continue;
+
switch (type)
{
// std. case: increment at 1
@@ -836,6 +836,15 @@ void AchievementMgr::UpdateAchievementCriteria(AchievementCriteriaTypes type, ui
SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE);
break;
+ case ACHIEVEMENT_CRITERIA_TYPE_USE_GAMEOBJECT:
+ // miscvalue1 = go entry
+ if(!miscvalue1)
+ continue;
+ if(miscvalue1 != achievementCriteria->use_gameobject.goEntry)
+ continue;
+
+ SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE);
+ break;
case ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILLLINE_SPELLS:
{
// spell always provide and at login spell learning.
@@ -926,7 +935,6 @@ void AchievementMgr::UpdateAchievementCriteria(AchievementCriteriaTypes type, ui
case ACHIEVEMENT_CRITERIA_TYPE_GET_KILLING_BLOWS:
case ACHIEVEMENT_CRITERIA_TYPE_MONEY_FROM_VENDORS:
case ACHIEVEMENT_CRITERIA_TYPE_NUMBER_OF_TALENT_RESETS:
- case ACHIEVEMENT_CRITERIA_TYPE_USE_GAMEOBJECT:
case ACHIEVEMENT_CRITERIA_TYPE_SPECIAL_PVP_KILL:
case ACHIEVEMENT_CRITERIA_TYPE_FISH_IN_GAMEOBJECT:
case ACHIEVEMENT_CRITERIA_TYPE_EARNED_PVP_TITLE:
@@ -955,20 +963,24 @@ void AchievementMgr::UpdateAchievementCriteria(AchievementCriteriaTypes type, ui
case ACHIEVEMENT_CRITERIA_TYPE_TOTAL:
break; // Not implemented yet :(
}
- if(IsCompletedCriteria(achievementCriteria))
- CompletedCriteria(achievementCriteria);
+ if(IsCompletedCriteria(achievementCriteria,achievement))
+ CompletedCriteria(achievementCriteria,achievement);
+
+
+ if(AchievementEntryList const* achRefList = achievementmgr.GetAchievementByReferencedId(achievement->ID))
+ {
+ for(AchievementEntryList::const_iterator itr = achRefList->begin(); itr != achRefList->end(); ++itr)
+ if(IsCompletedAchievement(*itr))
+ CompletedAchievement(*itr);
+ }
}
}
static const uint32 achievIdByClass[MAX_CLASSES] = { 0, 459, 465 , 462, 458, 464, 461, 467, 460, 463, 0, 466 };
static const uint32 achievIdByRace[MAX_RACES] = { 0, 1408, 1410, 1407, 1409, 1413, 1411, 1404, 1412, 0, 1405, 1406 };
-bool AchievementMgr::IsCompletedCriteria(AchievementCriteriaEntry const* achievementCriteria)
+bool AchievementMgr::IsCompletedCriteria(AchievementCriteriaEntry const* achievementCriteria, AchievementEntry const* achievement)
{
- AchievementEntry const* achievement = sAchievementStore.LookupEntry(achievementCriteria->referredAchievement);
- if(!achievement)
- return false;
-
// counter can never complete
if(achievement->flags & ACHIEVEMENT_FLAG_COUNTER)
return false;
@@ -1056,6 +1068,8 @@ bool AchievementMgr::IsCompletedCriteria(AchievementCriteriaEntry const* achieve
return progress->counter >= achievementCriteria->quest_reward_money.goldInCopper;
case ACHIEVEMENT_CRITERIA_TYPE_LOOT_MONEY:
return progress->counter >= achievementCriteria->loot_money.goldInCopper;
+ case ACHIEVEMENT_CRITERIA_TYPE_USE_GAMEOBJECT:
+ return progress->counter >= achievementCriteria->use_gameobject.useCount;
case ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILLLINE_SPELLS:
return progress->counter >= achievementCriteria->learn_skilline_spell.spellCount;
@@ -1083,45 +1097,64 @@ bool AchievementMgr::IsCompletedCriteria(AchievementCriteriaEntry const* achieve
return false;
}
-void AchievementMgr::CompletedCriteria(AchievementCriteriaEntry const* criteria)
+void AchievementMgr::CompletedCriteria(AchievementCriteriaEntry const* criteria, AchievementEntry const* achievement)
{
- AchievementEntry const* achievement = sAchievementStore.LookupEntry(criteria->referredAchievement);
- if(!achievement)
- return;
// counter can never complete
if(achievement->flags & ACHIEVEMENT_FLAG_COUNTER)
return;
- if(criteria->completionFlag & ACHIEVEMENT_CRITERIA_COMPLETE_FLAG_ALL || GetAchievementCompletionState(achievement)==ACHIEVEMENT_COMPLETED_COMPLETED_NOT_STORED)
- {
+ // already completed and stored
+ if (m_completedAchievements.find(achievement->ID)!=m_completedAchievements.end())
+ return;
+
+ if ((criteria->referredAchievement==achievement->ID && (criteria->completionFlag & ACHIEVEMENT_CRITERIA_COMPLETE_FLAG_ALL)) ||
+ IsCompletedAchievement(achievement))
CompletedAchievement(achievement);
- }
}
// TODO: achievement 705 requires 4 criteria to be fulfilled
-AchievementCompletionState AchievementMgr::GetAchievementCompletionState(AchievementEntry const* entry)
+bool AchievementMgr::IsCompletedAchievement(AchievementEntry const* entry)
{
- if(m_completedAchievements.find(entry->ID)!=m_completedAchievements.end())
- return ACHIEVEMENT_COMPLETED_COMPLETED_STORED;
+ // for achievement with referenced achievement criterias get from referenced and counter from self
+ uint32 achievmentForTestId = entry->refAchievement ? entry->refAchievement : entry->ID;
+ uint32 achievmentForTestCount = entry->count;
+
+ AchievementCriteriaEntryList const* cList = achievementmgr.GetAchievementCriteriaByAchievement(achievmentForTestId);
+ if(!cList)
+ return false;
+
+ uint32 count = 0;
+ bool completed_all = true;
- bool foundOutstanding = false;
- for (uint32 entryId = 0; entryId<sAchievementCriteriaStore.GetNumRows(); entryId++)
+ for(AchievementCriteriaEntryList::const_iterator itr = cList->begin(); itr != cList->end(); ++itr)
{
- AchievementCriteriaEntry const* criteria = sAchievementCriteriaStore.LookupEntry(entryId);
- if(!criteria || criteria->referredAchievement!= entry->ID)
- continue;
+ AchievementCriteriaEntry const* criteria = *itr;
- if(IsCompletedCriteria(criteria) && criteria->completionFlag & ACHIEVEMENT_CRITERIA_COMPLETE_FLAG_ALL)
- return ACHIEVEMENT_COMPLETED_COMPLETED_NOT_STORED;
+ bool completed = IsCompletedCriteria(criteria,entry);
- // found an umcompleted criteria, but DONT return false yet - there might be a completed criteria with ACHIEVEMENT_CRITERIA_COMPLETE_FLAG_ALL
- if(!IsCompletedCriteria(criteria))
- foundOutstanding = true;
+ // found an uncompleted criteria, but DONT return false yet - there might be a completed criteria with ACHIEVEMENT_CRITERIA_COMPLETE_FLAG_ALL
+ if(completed)
+ ++count;
+ else
+ completed_all = false;
+
+ if(achievmentForTestId == entry->ID) // not referenced achievement
+ {
+ // completed as single req. criteria
+ if(completed && criteria->completionFlag & ACHIEVEMENT_CRITERIA_COMPLETE_FLAG_ALL)
+ return true;
+ }
+
+ // completed as have req. count of completed criterias
+ if(achievmentForTestCount > 0 && achievmentForTestCount <= count)
+ return true;
}
- if(foundOutstanding)
- return ACHIEVEMENT_COMPLETED_NONE;
- else
- return ACHIEVEMENT_COMPLETED_COMPLETED_NOT_STORED;
+
+ // all criterias completed requirement
+ if(completed_all && achievmentForTestCount==0)
+ return true;
+
+ return false;
}
void AchievementMgr::SetCriteriaProgress(AchievementCriteriaEntry const* entry, uint32 changeValue, ProgressType ptype)
@@ -1152,17 +1185,17 @@ void AchievementMgr::SetCriteriaProgress(AchievementCriteriaEntry const* entry,
{
case PROGRESS_SET:
newValue = changeValue;
- break;
+ break;
case PROGRESS_ACCUMULATE:
{
// avoid overflow
uint32 max_value = std::numeric_limits<uint32>::max();
newValue = max_value - progress->counter > changeValue ? progress->counter + changeValue : max_value;
- break;
+ break;
}
case PROGRESS_HIGHEST:
newValue = progress->counter < changeValue ? changeValue : progress->counter;
- break;
+ break;
}
// not update (not mark as changed) if counter will have same value
@@ -1311,13 +1344,13 @@ void AchievementGlobalMgr::LoadAchievementCriteriaList()
barGoLink bar(1);
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outErrorDb(">> Loaded 0 achievement criteria.");
return;
}
barGoLink bar( sAchievementCriteriaStore.GetNumRows() );
- for (uint32 entryId = 0; entryId<sAchievementCriteriaStore.GetNumRows(); entryId++)
+ for (uint32 entryId = 0; entryId < sAchievementCriteriaStore.GetNumRows(); ++entryId)
{
bar.step();
@@ -1326,12 +1359,42 @@ void AchievementGlobalMgr::LoadAchievementCriteriaList()
continue;
m_AchievementCriteriasByType[criteria->requiredType].push_back(criteria);
+ m_AchievementCriteriaListByAchievement[criteria->referredAchievement].push_back(criteria);
}
- sLog.outString("");
+ sLog.outString();
sLog.outString(">> Loaded %lu achievement criteria.",(unsigned long)m_AchievementCriteriasByType->size());
}
+void AchievementGlobalMgr::LoadAchievementReferenceList()
+{
+ if(sAchievementStore.GetNumRows()==0)
+ {
+ barGoLink bar(1);
+ bar.step();
+
+ sLog.outString();
+ sLog.outErrorDb(">> Loaded 0 achievement references.");
+ return;
+ }
+
+ uint32 count = 0;
+ barGoLink bar( sAchievementStore.GetNumRows() );
+ for (uint32 entryId = 0; entryId < sAchievementStore.GetNumRows(); ++entryId)
+ {
+ bar.step();
+
+ AchievementEntry const* achievement = sAchievementStore.LookupEntry(entryId);
+ if(!achievement || !achievement->refAchievement)
+ continue;
+
+ m_AchievementListByReferencedId[achievement->refAchievement].push_back(achievement);
+ ++count;
+ }
+
+ sLog.outString();
+ sLog.outString(">> Loaded %u achievement references.",count);
+}
void AchievementGlobalMgr::LoadCompletedAchievements()
{
@@ -1342,7 +1405,7 @@ void AchievementGlobalMgr::LoadCompletedAchievements()
barGoLink bar(1);
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString(">> Loaded 0 realm completed achievements . DB table `character_achievement` is empty.");
return;
}
@@ -1357,7 +1420,7 @@ void AchievementGlobalMgr::LoadCompletedAchievements()
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString(">> Loaded %lu realm completed achievements.",(unsigned long)m_allCompletedAchievements.size());
}
@@ -1374,7 +1437,7 @@ void AchievementGlobalMgr::LoadRewards()
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outErrorDb(">> Loaded 0 achievement rewards. DB table `achievement_reward` is empty.");
return;
}
@@ -1467,7 +1530,7 @@ void AchievementGlobalMgr::LoadRewards()
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %lu achievement reward locale strings", (unsigned long)m_achievementRewardLocales.size() );
}
@@ -1483,7 +1546,7 @@ void AchievementGlobalMgr::LoadRewardLocales()
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString(">> Loaded 0 achievement reward locale strings. DB table `locales_achievement_reward` is empty.");
return;
}
@@ -1537,6 +1600,6 @@ void AchievementGlobalMgr::LoadRewardLocales()
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %lu achievement reward locale strings", (unsigned long)m_achievementRewardLocales.size() );
}
diff --git a/src/game/AchievementMgr.h b/src/game/AchievementMgr.h
index 030d053a554..b45c63f7301 100644
--- a/src/game/AchievementMgr.h
+++ b/src/game/AchievementMgr.h
@@ -30,7 +30,11 @@
#define CRITERIA_CAST_SPELL_REQ_COUNT 46
#define ACHIEVEMENT_REWARD_COUNT 57
-typedef std::list<const AchievementCriteriaEntry*> AchievementCriteriaEntryList;
+typedef std::list<AchievementCriteriaEntry const*> AchievementCriteriaEntryList;
+typedef std::list<AchievementEntry const*> AchievementEntryList;
+
+typedef std::map<uint32,AchievementCriteriaEntryList> AchievementCriteriaListByAchievement;
+typedef std::map<uint32,AchievementEntryList> AchievementListByReferencedId;
struct CriteriaProgress
{
@@ -80,13 +84,6 @@ class Unit;
class Player;
class WorldPacket;
-enum AchievementCompletionState
-{
- ACHIEVEMENT_COMPLETED_NONE,
- ACHIEVEMENT_COMPLETED_COMPLETED_NOT_STORED,
- ACHIEVEMENT_COMPLETED_COMPLETED_STORED,
-};
-
class AchievementMgr
{
public:
@@ -108,10 +105,11 @@ class AchievementMgr
void SendAchievementEarned(AchievementEntry const* achievement);
void SendCriteriaUpdate(uint32 id, CriteriaProgress const* progress);
void SetCriteriaProgress(AchievementCriteriaEntry const* entry, uint32 changeValue, ProgressType ptype = PROGRESS_SET);
- void CompletedCriteria(AchievementCriteriaEntry const* entry);
+ void CompletedCriteria(AchievementCriteriaEntry const* entry, AchievementEntry const* achievement);
void CompletedAchievement(AchievementEntry const* entry);
- bool IsCompletedCriteria(AchievementCriteriaEntry const* entry);
- AchievementCompletionState GetAchievementCompletionState(AchievementEntry const* entry);
+ bool IsCompletedCriteria(AchievementCriteriaEntry const* criteria, AchievementEntry const* achievement);
+ bool IsCompletedAchievement(AchievementEntry const* entry);
+ void CompleteAchievementsWithRefs(AchievementEntry const* entry);
void BuildAllDataPacket(WorldPacket *data);
Player* m_player;
@@ -123,6 +121,17 @@ class AchievementGlobalMgr
{
public:
AchievementCriteriaEntryList const& GetAchievementCriteriaByType(AchievementCriteriaTypes type);
+ AchievementCriteriaEntryList const* GetAchievementCriteriaByAchievement(uint32 id)
+ {
+ AchievementCriteriaListByAchievement::const_iterator itr = m_AchievementCriteriaListByAchievement.find(id);
+ return itr != m_AchievementCriteriaListByAchievement.end() ? &itr->second : NULL;
+ }
+
+ AchievementEntryList const* GetAchievementByReferencedId(uint32 id) const
+ {
+ AchievementListByReferencedId::const_iterator itr = m_AchievementListByReferencedId.find(id);
+ return itr != m_AchievementListByReferencedId.end() ? &itr->second : NULL;
+ }
AchievementReward const* GetAchievementReward(AchievementEntry const* achievement) const
{
@@ -156,6 +165,7 @@ class AchievementGlobalMgr
}
void LoadAchievementCriteriaList();
+ void LoadAchievementReferenceList();
void LoadCompletedAchievements();
void LoadRewards();
void LoadRewardLocales();
@@ -164,6 +174,10 @@ class AchievementGlobalMgr
// store achievement criterias by type to speed up lookup
AchievementCriteriaEntryList m_AchievementCriteriasByType[ACHIEVEMENT_CRITERIA_TYPE_TOTAL];
+ // store achievement criterias by achievement to speed up lookup
+ AchievementCriteriaListByAchievement m_AchievementCriteriaListByAchievement;
+ // store achievements by referenced achievement id to speed up lookup
+ AchievementListByReferencedId m_AchievementListByReferencedId;
typedef std::set<uint32> AllCompletedAchievements;
AllCompletedAchievements m_allCompletedAchievements;
diff --git a/src/game/AuctionHouseMgr.cpp b/src/game/AuctionHouseMgr.cpp
index f50de441b58..11b75a0be4e 100644
--- a/src/game/AuctionHouseMgr.cpp
+++ b/src/game/AuctionHouseMgr.cpp
@@ -285,7 +285,7 @@ void AuctionHouseMgr::LoadAuctionItems()
{
barGoLink bar(1);
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString(">> Loaded 0 auction items");
return;
}
@@ -325,7 +325,7 @@ void AuctionHouseMgr::LoadAuctionItems()
while( result->NextRow() );
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u auction items", count );
}
@@ -336,7 +336,7 @@ void AuctionHouseMgr::LoadAuctions()
{
barGoLink bar(1);
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString(">> Loaded 0 auctions. DB table `auctionhouse` is empty.");
return;
}
@@ -349,7 +349,7 @@ void AuctionHouseMgr::LoadAuctions()
{
barGoLink bar(1);
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString(">> Loaded 0 auctions. DB table `auctionhouse` is empty.");
return;
}
@@ -359,7 +359,7 @@ void AuctionHouseMgr::LoadAuctions()
{
barGoLink bar(1);
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString(">> Loaded 0 auctions. DB table `auctionhouse` is empty.");
return;
}
@@ -430,7 +430,7 @@ void AuctionHouseMgr::LoadAuctions()
} while (result->NextRow());
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u auctions", AuctionCount );
}
diff --git a/src/game/BattleGroundMgr.cpp b/src/game/BattleGroundMgr.cpp
index 53e466e9ca5..b3c21d6cb7d 100644
--- a/src/game/BattleGroundMgr.cpp
+++ b/src/game/BattleGroundMgr.cpp
@@ -1719,7 +1719,7 @@ void BattleGroundMgr::CreateInitialBattleGrounds()
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outErrorDb(">> Loaded 0 battlegrounds. DB table `battleground_template` is empty.");
return;
}
@@ -1815,7 +1815,7 @@ void BattleGroundMgr::CreateInitialBattleGrounds()
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u battlegrounds", count );
}
@@ -2097,7 +2097,7 @@ void BattleGroundMgr::LoadBattleMastersEntry()
barGoLink bar( 1 );
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded 0 battlemaster entries - table is empty!" );
return;
}
@@ -2125,6 +2125,6 @@ void BattleGroundMgr::LoadBattleMastersEntry()
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u battlemaster entries", count );
}
diff --git a/src/game/CreatureGroups.cpp b/src/game/CreatureGroups.cpp
index 74e03c97e3b..1314e865b48 100644
--- a/src/game/CreatureGroups.cpp
+++ b/src/game/CreatureGroups.cpp
@@ -117,9 +117,9 @@ void CreatureGroupManager::LoadCreatureFormations()
}
while(result->NextRow()) ;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u creatures in formations", total_records );
- sLog.outString("");
+ sLog.outString();
//Free some heap
delete result;
}
diff --git a/src/game/DBCStores.cpp b/src/game/DBCStores.cpp
index 747ff0f86cb..5149bc2ddd7 100644
--- a/src/game/DBCStores.cpp
+++ b/src/game/DBCStores.cpp
@@ -534,7 +534,7 @@ void LoadDBCStores(const std::string& dataPath)
exit(1);
}
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Initialized %d data stores", DBCFilesCount );
}
diff --git a/src/game/DBCStructure.h b/src/game/DBCStructure.h
index 782982b3d03..ec62a460701 100644
--- a/src/game/DBCStructure.h
+++ b/src/game/DBCStructure.h
@@ -55,8 +55,8 @@ struct AchievementEntry
//uint32 icon; // 42 icon (from SpellIcon.dbc)
//char *titleReward[16]; // 43-58
//uint32 titleReward_flags; // 59
- //uint32 count; // 60 - need this count Criteria for complete
- uint32 refAchievement; // 61 - related achievement?
+ uint32 count; // 60 - need this count of completed criterias (own or referenced achievement criterias)
+ uint32 refAchievement; // 61 - referenced achievement (counting of all completed criterias)
};
struct AchievementCategoryEntry
diff --git a/src/game/DBCfmt.h b/src/game/DBCfmt.h
index f7d8538bf3b..be412682685 100644
--- a/src/game/DBCfmt.h
+++ b/src/game/DBCfmt.h
@@ -21,7 +21,7 @@
#ifndef MANGOS_DBCSFRM_H
#define MANGOS_DBCSFRM_H
-const char Achievementfmt[]="niixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxiixixxxxxxxxxxxxxxxxxxxi";
+const char Achievementfmt[]="niixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxiixixxxxxxxxxxxxxxxxxxii";
const char AchievementCriteriafmt[]="niiiiiiiixxxxxxxxxxxxxxxxxiixix";
const char AreaTableEntryfmt[]="iiinixxxxxissssssssssssssssxixxxxxxx";
const char AreaGroupEntryfmt[]="niiiiiii";
diff --git a/src/game/GameEventMgr.cpp b/src/game/GameEventMgr.cpp
index a1342b972b0..53d01529fb9 100644
--- a/src/game/GameEventMgr.cpp
+++ b/src/game/GameEventMgr.cpp
@@ -175,7 +175,7 @@ void GameEventMgr::LoadFromDB()
if( !result )
{
sLog.outString(">> Table game_event is empty.");
- sLog.outString("");
+ sLog.outString();
return;
}
@@ -192,7 +192,7 @@ void GameEventMgr::LoadFromDB()
{
mGameEvent.clear();
sLog.outString(">> Table game_event is empty!");
- sLog.outString("");
+ sLog.outString();
return;
}
@@ -246,7 +246,7 @@ void GameEventMgr::LoadFromDB()
} while( result->NextRow() );
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u game events", count );
}
@@ -260,7 +260,7 @@ void GameEventMgr::LoadFromDB()
barGoLink bar2(1);
bar2.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString(">> Loaded %u game event saves in game events", count );
}
else
@@ -295,7 +295,7 @@ void GameEventMgr::LoadFromDB()
++count;
} while( result->NextRow() );
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u game event saves in game events", count );
delete result;
}
@@ -307,7 +307,7 @@ void GameEventMgr::LoadFromDB()
barGoLink bar2(1);
bar2.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString(">> Loaded %u game event prerequisites in game events", count );
}
else
@@ -348,7 +348,7 @@ void GameEventMgr::LoadFromDB()
++count;
} while( result->NextRow() );
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u game event prerequisites in game events", count );
delete result;
}
@@ -364,7 +364,7 @@ void GameEventMgr::LoadFromDB()
barGoLink bar(1);
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString(">> Loaded %u creatures in game events", count );
}
else
@@ -395,7 +395,7 @@ void GameEventMgr::LoadFromDB()
} while( result->NextRow() );
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u creatures in game events", count );
}
@@ -410,7 +410,7 @@ void GameEventMgr::LoadFromDB()
barGoLink bar(1);
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString(">> Loaded %u gameobjects in game events", count );
}
else
@@ -441,7 +441,7 @@ void GameEventMgr::LoadFromDB()
} while( result->NextRow() );
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u gameobjects in game events", count );
}
@@ -458,7 +458,7 @@ void GameEventMgr::LoadFromDB()
barGoLink bar(1);
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString(">> Loaded %u model/equipment changes in game events", count );
}
else
@@ -501,7 +501,7 @@ void GameEventMgr::LoadFromDB()
} while( result->NextRow() );
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u model/equipment changes in game events", count );
}
@@ -515,7 +515,7 @@ void GameEventMgr::LoadFromDB()
barGoLink bar(1);
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString(">> Loaded %u quests additions in game events", count );
}
else
@@ -542,7 +542,7 @@ void GameEventMgr::LoadFromDB()
questlist.push_back(QuestRelation(id, quest));
} while( result->NextRow() );
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u quests additions in game events", count );
delete result;
@@ -558,7 +558,7 @@ void GameEventMgr::LoadFromDB()
barGoLink bar3(1);
bar3.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString(">> Loaded %u go quests additions in game events", count );
}
else
@@ -587,7 +587,7 @@ void GameEventMgr::LoadFromDB()
} while( result->NextRow() );
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u quests additions in game events", count );
}
@@ -601,7 +601,7 @@ void GameEventMgr::LoadFromDB()
barGoLink bar3(1);
bar3.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString(">> Loaded %u quest event conditions in game events", count );
}
else
@@ -630,7 +630,7 @@ void GameEventMgr::LoadFromDB()
mQuestToEventConditions[quest].num = num;
} while( result->NextRow() );
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u quest event conditions in game events", count );
delete result;
@@ -646,7 +646,7 @@ void GameEventMgr::LoadFromDB()
barGoLink bar3(1);
bar3.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString(">> Loaded %u conditions in game events", count );
}
else
@@ -675,7 +675,7 @@ void GameEventMgr::LoadFromDB()
++count;
} while( result->NextRow() );
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u conditions in game events", count );
delete result;
@@ -691,7 +691,7 @@ void GameEventMgr::LoadFromDB()
barGoLink bar3(1);
bar3.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString(">> Loaded %u condition saves in game events", count );
}
else
@@ -726,7 +726,7 @@ void GameEventMgr::LoadFromDB()
++count;
} while( result->NextRow() );
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u condition saves in game events", count );
delete result;
@@ -743,7 +743,7 @@ void GameEventMgr::LoadFromDB()
barGoLink bar3(1);
bar3.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString(">> Loaded %u npcflags in game events", count );
}
else
@@ -770,7 +770,7 @@ void GameEventMgr::LoadFromDB()
++count;
} while( result->NextRow() );
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u npcflags in game events", count );
delete result;
@@ -786,7 +786,7 @@ void GameEventMgr::LoadFromDB()
barGoLink bar3(1);
bar3.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString(">> Loaded %u vendor additions in game events", count );
}
else
@@ -837,7 +837,7 @@ void GameEventMgr::LoadFromDB()
vendors.push_back(newEntry);
} while( result->NextRow() );
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u vendor additions in game events", count );
delete result;
@@ -853,7 +853,7 @@ void GameEventMgr::LoadFromDB()
barGoLink bar3(1);
bar3.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString(">> Loaded %u npc gossip textids in game events", count );
}
else
@@ -880,7 +880,7 @@ void GameEventMgr::LoadFromDB()
++count;
} while( result->NextRow() );
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u npc gossip textids in game events", count );
delete result;
@@ -898,7 +898,7 @@ void GameEventMgr::LoadFromDB()
barGoLink bar3(1);
bar3.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString(">> Loaded %u battleground holidays in game events", count );
}
else
@@ -924,7 +924,7 @@ void GameEventMgr::LoadFromDB()
mGameEventBattleGroundHolidays[event_id] = fields[1].GetUInt32();
} while( result->NextRow() );
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u battleground holidays in game events", count );
delete result;
@@ -945,7 +945,7 @@ void GameEventMgr::LoadFromDB()
barGoLink bar2(1);
bar2.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString(">> Loaded %u pools in game events", count );
}
else
@@ -980,7 +980,7 @@ void GameEventMgr::LoadFromDB()
poollist.push_back(entry);
} while( result->NextRow() );
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u pools in game events", count );
delete result;
}
diff --git a/src/game/InstanceSaveMgr.cpp b/src/game/InstanceSaveMgr.cpp
index ff4810ad729..d4232a71838 100644
--- a/src/game/InstanceSaveMgr.cpp
+++ b/src/game/InstanceSaveMgr.cpp
@@ -308,7 +308,7 @@ void InstanceSaveManager::CleanupInstances()
}
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Initialized %u instances", (uint32)InstanceSet.size());
}
@@ -358,7 +358,7 @@ void InstanceSaveManager::PackInstances()
}
sLog.outString( ">> Instance numbers remapped, next instance id is %u", InstanceNumber );
- sLog.outString("");
+ sLog.outString();
}
void InstanceSaveManager::LoadResetTimes()
diff --git a/src/game/ItemEnchantmentMgr.cpp b/src/game/ItemEnchantmentMgr.cpp
index 78754a5941a..e4b2d809582 100644
--- a/src/game/ItemEnchantmentMgr.cpp
+++ b/src/game/ItemEnchantmentMgr.cpp
@@ -78,12 +78,12 @@ void LoadRandomEnchantmentsTable()
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u Item Enchantment definitions", count );
}
else
{
- sLog.outString("");
+ sLog.outString();
sLog.outErrorDb( ">> Loaded 0 Item Enchantment definitions. DB table `item_enchantment_template` is empty.");
}
}
diff --git a/src/game/Level3.cpp b/src/game/Level3.cpp
index e1dd468158e..075b41ca743 100644
--- a/src/game/Level3.cpp
+++ b/src/game/Level3.cpp
@@ -2299,7 +2299,7 @@ bool ChatHandler::HandleLearnAllMyTalentsCommand(const char* /*args*/)
// search highest talent rank
uint32 spellid = 0;
-
+
for(int rank = MAX_TALENT_RANK-1; rank >= 0; --rank)
{
if(talentInfo->RankID[rank]!=0)
diff --git a/src/game/LootMgr.cpp b/src/game/LootMgr.cpp
index 8a9bf99f503..a3dd4167be2 100644
--- a/src/game/LootMgr.cpp
+++ b/src/game/LootMgr.cpp
@@ -168,12 +168,12 @@ void LootStore::LoadLootTable()
Verify(); // Checks validity of the loot store
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u loot definitions (%lu templates)", count, (unsigned long)m_LootTemplates.size());
}
else
{
- sLog.outString("");
+ sLog.outString();
sLog.outErrorDb( ">> Loaded 0 loot definitions. DB table `%s` is empty.",GetName() );
}
}
diff --git a/src/game/Map.h b/src/game/Map.h
index 64b93399fdc..89d1ad2a6c3 100644
--- a/src/game/Map.h
+++ b/src/game/Map.h
@@ -181,7 +181,7 @@ class GridMap
bool loadLiquidData(FILE *in, uint32 offset, uint32 size);
// Get height functions and pointers
- typedef float (GridMap::*pGetHeightPtr) (float x, float y) const;
+ typedef float (GridMap::*pGetHeightPtr) (float x, float y) const;
pGetHeightPtr m_gridGetHeight;
float getHeightFromFloat(float x, float y) const;
float getHeightFromUint16(float x, float y) const;
diff --git a/src/game/Object.cpp b/src/game/Object.cpp
index c8fb721a224..b19a80fc7bf 100644
--- a/src/game/Object.cpp
+++ b/src/game/Object.cpp
@@ -94,6 +94,8 @@ Object::~Object( )
assert(false);
}
+ assert(!m_objectUpdated);
+
//DEBUG_LOG("Object desctr 1 check (%p)",(void*)this);
delete [] m_uint32Values;
delete [] m_uint32Values_mirror;
diff --git a/src/game/ObjectMgr.cpp b/src/game/ObjectMgr.cpp
index ddfd915c5b5..f15e02118c6 100644
--- a/src/game/ObjectMgr.cpp
+++ b/src/game/ObjectMgr.cpp
@@ -213,7 +213,7 @@ void ObjectMgr::LoadPlayerInfoInCache()
while (result->NextRow());
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded info about %d players", m_mPlayerInfoMap.size());
}
@@ -336,7 +336,7 @@ void ObjectMgr::LoadCreatureLocales()
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString(">> Loaded 0 creature locale strings. DB table `locales_creature` is empty.");
return;
}
@@ -383,7 +383,7 @@ void ObjectMgr::LoadCreatureLocales()
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %lu creature locale strings", (unsigned long)mCreatureLocaleMap.size() );
}
@@ -404,7 +404,7 @@ void ObjectMgr::LoadNpcOptionLocales()
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString(">> Loaded 0 npc_option locale strings. DB table `locales_npc_option` is empty.");
return;
}
@@ -451,7 +451,7 @@ void ObjectMgr::LoadNpcOptionLocales()
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %lu npc_option locale strings", (unsigned long)mNpcOptionLocaleMap.size() );
}
@@ -467,7 +467,7 @@ void ObjectMgr::LoadPointOfInterestLocales()
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString(">> Loaded 0 points_of_interest locale strings. DB table `locales_points_of_interest` is empty.");
return;
}
@@ -502,7 +502,7 @@ void ObjectMgr::LoadPointOfInterestLocales()
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %lu points_of_interest locale strings", (unsigned long)mPointOfInterestLocaleMap.size() );
}
@@ -521,7 +521,7 @@ void ObjectMgr::LoadCreatureTemplates()
loader.Load(sCreatureStorage);
sLog.outString( ">> Loaded %u creature definitions", sCreatureStorage.RecordCount );
- sLog.outString("");
+ sLog.outString();
std::set<uint32> heroicEntries; // already loaded heroic value in creatures
std::set<uint32> hasHeroicEntries; // already loaded creatures with heroic entry values
@@ -779,7 +779,7 @@ void ObjectMgr::LoadCreatureAddons()
sCreatureInfoAddonStorage.Load();
sLog.outString( ">> Loaded %u creature template addons", sCreatureInfoAddonStorage.RecordCount );
- sLog.outString("");
+ sLog.outString();
// check data correctness and convert 'auras'
for(uint32 i = 1; i < sCreatureInfoAddonStorage.MaxEntry; ++i)
@@ -797,7 +797,7 @@ void ObjectMgr::LoadCreatureAddons()
sCreatureDataAddonStorage.Load();
sLog.outString( ">> Loaded %u creature addons", sCreatureDataAddonStorage.RecordCount );
- sLog.outString("");
+ sLog.outString();
// check data correctness and convert 'auras'
for(uint32 i = 1; i < sCreatureDataAddonStorage.MaxEntry; ++i)
@@ -859,7 +859,7 @@ void ObjectMgr::LoadEquipmentTemplates()
}
}
sLog.outString( ">> Loaded %u equipment template", sEquipmentStorage.RecordCount );
- sLog.outString("");
+ sLog.outString();
// This DBC is currently only used for item templates and creature equipments checks.
sItemStore.Clear();
@@ -910,7 +910,7 @@ void ObjectMgr::LoadCreatureModelInfo()
sCreatureModelStorage.Load();
sLog.outString( ">> Loaded %u creature model based info", sCreatureModelStorage.RecordCount );
- sLog.outString("");
+ sLog.outString();
// check if combat_reach is valid
for(uint32 i = 1; i < sCreatureModelStorage.MaxEntry; ++i)
@@ -945,7 +945,7 @@ void ObjectMgr::LoadCreatures()
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outErrorDb(">> Loaded 0 creature. DB table `creature` is empty.");
return;
}
@@ -1067,7 +1067,7 @@ void ObjectMgr::LoadCreatures()
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %lu creatures", (unsigned long)mCreatureDataMap.size() );
}
@@ -1120,7 +1120,7 @@ void ObjectMgr::LoadGameobjects()
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outErrorDb(">> Loaded 0 gameobjects. DB table `gameobject` is empty.");
return;
}
@@ -1195,7 +1195,7 @@ void ObjectMgr::LoadGameobjects()
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %lu gameobjects", (unsigned long)mGameObjectDataMap.size());
}
@@ -1246,7 +1246,7 @@ void ObjectMgr::LoadCreatureRespawnTimes()
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString(">> Loaded 0 creature respawn time.");
return;
}
@@ -1270,7 +1270,7 @@ void ObjectMgr::LoadCreatureRespawnTimes()
delete result;
sLog.outString( ">> Loaded %lu creature respawn times", (unsigned long)mCreatureRespawnTimes.size() );
- sLog.outString("");
+ sLog.outString();
}
void ObjectMgr::LoadGameobjectRespawnTimes()
@@ -1288,7 +1288,7 @@ void ObjectMgr::LoadGameobjectRespawnTimes()
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString(">> Loaded 0 gameobject respawn time.");
return;
}
@@ -1312,7 +1312,7 @@ void ObjectMgr::LoadGameobjectRespawnTimes()
delete result;
sLog.outString( ">> Loaded %lu gameobject respawn times", (unsigned long)mGORespawnTimes.size() );
- sLog.outString("");
+ sLog.outString();
}
// name must be checked to correctness (if received) before call this function
@@ -1414,7 +1414,7 @@ void ObjectMgr::LoadItemLocales()
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString(">> Loaded 0 Item locale strings. DB table `locales_item` is empty.");
return;
}
@@ -1462,7 +1462,7 @@ void ObjectMgr::LoadItemLocales()
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %lu Item locale strings", (unsigned long)mItemLocaleMap.size() );
}
@@ -1480,7 +1480,7 @@ void ObjectMgr::LoadItemPrototypes()
SQLItemLoader loader;
loader.Load(sItemStorage);
sLog.outString( ">> Loaded %u item prototypes", sItemStorage.RecordCount );
- sLog.outString("");
+ sLog.outString();
// check data correctness
for(uint32 i = 1; i < sItemStorage.MaxEntry; ++i)
@@ -1881,7 +1881,7 @@ void ObjectMgr::LoadPetLevelInfo()
{
barGoLink bar( 1 );
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u level pet stats definitions", count );
sLog.outErrorDb( "Error loading `pet_levelstats` table or empty table.");
return;
@@ -1942,7 +1942,7 @@ void ObjectMgr::LoadPetLevelInfo()
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u level pet stats definitions", count );
}
@@ -1995,7 +1995,7 @@ void ObjectMgr::LoadPlayerInfo()
{
barGoLink bar( 1 );
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u player create definitions", count );
sLog.outErrorDb( "Error loading `playercreateinfo` table or empty table.");
exit(1);
@@ -2071,7 +2071,7 @@ void ObjectMgr::LoadPlayerInfo()
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u player create definitions", count );
}
@@ -2088,7 +2088,7 @@ void ObjectMgr::LoadPlayerInfo()
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u custom player create items", count );
}
else
@@ -2140,7 +2140,7 @@ void ObjectMgr::LoadPlayerInfo()
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u custom player create items", count );
}
}
@@ -2160,7 +2160,7 @@ void ObjectMgr::LoadPlayerInfo()
{
barGoLink bar( 1 );
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u player create spells", count );
sLog.outErrorDb( "Error loading player starting spells or empty table.");
}
@@ -2196,7 +2196,7 @@ void ObjectMgr::LoadPlayerInfo()
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u player create spells", count );
}
}
@@ -2212,7 +2212,7 @@ void ObjectMgr::LoadPlayerInfo()
{
barGoLink bar( 1 );
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u player create actions", count );
sLog.outErrorDb( "Error loading `playercreateinfo_action` table or empty table.");
}
@@ -2251,7 +2251,7 @@ void ObjectMgr::LoadPlayerInfo()
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u player create actions", count );
}
}
@@ -2267,7 +2267,7 @@ void ObjectMgr::LoadPlayerInfo()
{
barGoLink bar( 1 );
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u level health/mana definitions", count );
sLog.outErrorDb( "Error loading `player_classlevelstats` table or empty table.");
exit(1);
@@ -2316,7 +2316,7 @@ void ObjectMgr::LoadPlayerInfo()
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u level health/mana definitions", count );
}
@@ -2358,7 +2358,7 @@ void ObjectMgr::LoadPlayerInfo()
{
barGoLink bar( 1 );
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u level stats definitions", count );
sLog.outErrorDb( "Error loading `player_levelstats` table or empty table.");
exit(1);
@@ -2416,7 +2416,7 @@ void ObjectMgr::LoadPlayerInfo()
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u level stats definitions", count );
}
@@ -2481,7 +2481,7 @@ void ObjectMgr::LoadPlayerInfo()
{
barGoLink bar( 1 );
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u xp for level definitions", count );
sLog.outErrorDb( "Error loading `player_xp_for_level` table or empty table.");
exit(1);
@@ -2516,7 +2516,7 @@ void ObjectMgr::LoadPlayerInfo()
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u xp for level definitions", count );
}
@@ -2648,7 +2648,7 @@ void ObjectMgr::LoadGuilds()
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u guild definitions", count );
return;
}
@@ -2675,7 +2675,7 @@ void ObjectMgr::LoadGuilds()
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u guild definitions", count );
}
@@ -2692,7 +2692,7 @@ void ObjectMgr::LoadArenaTeams()
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u arenateam definitions", count );
return;
}
@@ -2717,7 +2717,7 @@ void ObjectMgr::LoadArenaTeams()
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u arenateam definitions", count );
}
@@ -2736,7 +2736,7 @@ void ObjectMgr::LoadGroups()
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u group definitions", count );
return;
}
@@ -2762,7 +2762,7 @@ void ObjectMgr::LoadGroups()
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u group definitions", count );
// -- loading members --
@@ -2868,10 +2868,10 @@ void ObjectMgr::LoadGroups()
delete result;
}
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u group-instance binds total", count );
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u group members total", count );
}
@@ -2920,7 +2920,7 @@ void ObjectMgr::LoadQuests()
barGoLink bar( 1 );
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded 0 quests definitions" );
sLog.outErrorDb("`quest_template` table is empty!");
return;
@@ -3509,7 +3509,7 @@ void ObjectMgr::LoadQuests()
}
}
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %lu quests definitions", (unsigned long)mQuestTemplates.size() );
}
@@ -3535,7 +3535,7 @@ void ObjectMgr::LoadQuestLocales()
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString(">> Loaded 0 Quest locale strings. DB table `locales_quest` is empty.");
return;
}
@@ -3645,7 +3645,7 @@ void ObjectMgr::LoadQuestLocales()
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %lu Quest locale strings", (unsigned long)mQuestLocaleMap.size() );
}
@@ -3657,7 +3657,7 @@ void ObjectMgr::LoadPetCreateSpells()
barGoLink bar( 1 );
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded 0 pet create spells" );
sLog.outErrorDb("`petcreateinfo_spell` table is empty!");
return;
@@ -3696,7 +3696,7 @@ void ObjectMgr::LoadPetCreateSpells()
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u pet create spells", count );
}
@@ -3718,7 +3718,7 @@ void ObjectMgr::LoadScripts(ScriptMapMap& scripts, char const* tablename)
barGoLink bar( 1 );
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u script definitions", count );
return;
}
@@ -3940,7 +3940,7 @@ void ObjectMgr::LoadScripts(ScriptMapMap& scripts, char const* tablename)
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u script definitions", count );
}
@@ -4090,7 +4090,7 @@ void ObjectMgr::LoadItemTexts()
barGoLink bar( 1 );
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u item pages", count );
return;
}
@@ -4112,7 +4112,7 @@ void ObjectMgr::LoadItemTexts()
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u item texts", count );
}
@@ -4122,7 +4122,7 @@ void ObjectMgr::LoadPageTexts()
sPageTextStore.Load();
sLog.outString( ">> Loaded %u page texts", sPageTextStore.RecordCount );
- sLog.outString("");
+ sLog.outString();
for(uint32 i = 1; i < sPageTextStore.MaxEntry; ++i)
{
@@ -4172,7 +4172,7 @@ void ObjectMgr::LoadPageTextLocales()
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString(">> Loaded 0 PageText locale strings. DB table `locales_page_text` is empty.");
return;
}
@@ -4208,7 +4208,7 @@ void ObjectMgr::LoadPageTextLocales()
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %lu PageText locale strings", (unsigned long)mPageTextLocaleMap.size() );
}
@@ -4263,7 +4263,7 @@ void ObjectMgr::LoadInstanceTemplate()
}
sLog.outString( ">> Loaded %u Instance Template definitions", sInstanceTemplate.RecordCount );
- sLog.outString("");
+ sLog.outString();
}
GossipText const *ObjectMgr::GetGossipText(uint32 Text_ID) const
@@ -4284,7 +4284,7 @@ void ObjectMgr::LoadGossipText()
barGoLink bar( 1 );
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u npc texts", count );
return;
}
@@ -4327,7 +4327,7 @@ void ObjectMgr::LoadGossipText()
}
} while( result->NextRow() );
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u npc texts", count );
delete result;
}
@@ -4353,7 +4353,7 @@ void ObjectMgr::LoadNpcTextLocales()
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString(">> Loaded 0 NpcText locale strings. DB table `locales_npc_text` is empty.");
return;
}
@@ -4403,7 +4403,7 @@ void ObjectMgr::LoadNpcTextLocales()
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %lu NpcText locale strings", (unsigned long)mNpcTextLocaleMap.size() );
}
@@ -4421,7 +4421,7 @@ void ObjectMgr::ReturnOrDeleteOldMails(bool serverUp)
{
barGoLink bar(1);
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString(">> Only expired mails (need to be return or delete) or DB table `mail` is empty.");
return; // any mails need to be returned or deleted
}
@@ -4508,7 +4508,7 @@ void ObjectMgr::ReturnOrDeleteOldMails(bool serverUp)
} while (result->NextRow());
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u mails", count );
}
@@ -4525,7 +4525,7 @@ void ObjectMgr::LoadQuestAreaTriggers()
barGoLink bar( 1 );
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u quest trigger points", count );
return;
}
@@ -4573,7 +4573,7 @@ void ObjectMgr::LoadQuestAreaTriggers()
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u quest trigger points", count );
}
@@ -4590,7 +4590,7 @@ void ObjectMgr::LoadTavernAreaTriggers()
barGoLink bar( 1 );
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u tavern triggers", count );
return;
}
@@ -4618,7 +4618,7 @@ void ObjectMgr::LoadTavernAreaTriggers()
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u tavern triggers", count );
}
@@ -4634,7 +4634,7 @@ void ObjectMgr::LoadAreaTriggerScripts()
barGoLink bar( 1 );
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u areatrigger scripts", count );
return;
}
@@ -4662,7 +4662,7 @@ void ObjectMgr::LoadAreaTriggerScripts()
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u areatrigger scripts", count );
}
@@ -4820,7 +4820,7 @@ void ObjectMgr::LoadGraveyardZones()
barGoLink bar( 1 );
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u graveyard-zone links", count );
return;
}
@@ -4870,7 +4870,7 @@ void ObjectMgr::LoadGraveyardZones()
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u graveyard-zone links", count );
}
@@ -5087,7 +5087,7 @@ void ObjectMgr::LoadAreaTriggerTeleports()
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u area trigger teleport definitions", count );
return;
}
@@ -5139,7 +5139,7 @@ void ObjectMgr::LoadAreaTriggerTeleports()
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u area trigger teleport definitions", count );
}
@@ -5158,7 +5158,7 @@ void ObjectMgr::LoadAccessRequirements()
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u access requirement definitions", count );
return;
}
@@ -5254,7 +5254,7 @@ void ObjectMgr::LoadAccessRequirements()
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u access requirement definitions", count );
}
@@ -5520,7 +5520,7 @@ void ObjectMgr::LoadGameObjectLocales()
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString(">> Loaded 0 gameobject locale strings. DB table `locales_gameobject` is empty.");
return;
}
@@ -5572,7 +5572,7 @@ void ObjectMgr::LoadGameObjectLocales()
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %lu gameobject locale strings", (unsigned long)mGameObjectLocaleMap.size() );
}
@@ -5768,7 +5768,7 @@ void ObjectMgr::LoadGameobjectInfo()
}
sLog.outString( ">> Loaded %u game object templates", sGOStorage.RecordCount );
- sLog.outString("");
+ sLog.outString();
}
void ObjectMgr::LoadExplorationBaseXP()
@@ -5782,7 +5782,7 @@ void ObjectMgr::LoadExplorationBaseXP()
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u BaseXP definitions", count );
return;
}
@@ -5803,7 +5803,7 @@ void ObjectMgr::LoadExplorationBaseXP()
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u BaseXP definitions", count );
}
@@ -5830,7 +5830,7 @@ void ObjectMgr::LoadPetNames()
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u pet name parts", count );
return;
}
@@ -5854,7 +5854,7 @@ void ObjectMgr::LoadPetNames()
while (result->NextRow());
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u pet name parts", count );
}
@@ -5871,7 +5871,7 @@ void ObjectMgr::LoadPetNumber()
barGoLink bar( 1 );
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded the max pet number: %d", m_hiPetNumber-1);
}
@@ -5909,7 +5909,7 @@ void ObjectMgr::LoadCorpses()
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u corpses", count );
return;
}
@@ -5938,7 +5938,7 @@ void ObjectMgr::LoadCorpses()
while (result->NextRow());
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u corpses", count );
}
@@ -5958,7 +5958,7 @@ void ObjectMgr::LoadReputationOnKill()
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outErrorDb(">> Loaded 0 creature award reputation definitions. DB table `creature_onkill_reputation` is empty.");
return;
}
@@ -6016,7 +6016,7 @@ void ObjectMgr::LoadReputationOnKill()
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString(">> Loaded %u creature award reputation definitions", count);
}
@@ -6033,7 +6033,7 @@ void ObjectMgr::LoadPointsOfInterest()
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outErrorDb(">> Loaded 0 Points of Interest definitions. DB table `points_of_interest` is empty.");
return;
}
@@ -6068,7 +6068,7 @@ void ObjectMgr::LoadPointsOfInterest()
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString(">> Loaded %u Points of Interest definitions", count);
}
@@ -6085,7 +6085,7 @@ void ObjectMgr::LoadWeatherZoneChances()
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outErrorDb(">> Loaded 0 weather definitions. DB table `game_weather` is empty.");
return;
}
@@ -6131,7 +6131,7 @@ void ObjectMgr::LoadWeatherZoneChances()
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString(">> Loaded %u weather definitions", count);
}
@@ -6225,7 +6225,7 @@ void ObjectMgr::LoadQuestRelationsHelper(QuestRelations& map,char const* table)
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outErrorDb(">> Loaded 0 quest relations from %s. DB table `%s` is empty.",table,table);
return;
}
@@ -6253,7 +6253,7 @@ void ObjectMgr::LoadQuestRelationsHelper(QuestRelations& map,char const* table)
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString(">> Loaded %u quest relations from %s", count,table);
}
@@ -6326,7 +6326,7 @@ void ObjectMgr::LoadReservedPlayersNames()
barGoLink bar( 1 );
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u reserved player names", count );
return;
}
@@ -6355,7 +6355,7 @@ void ObjectMgr::LoadReservedPlayersNames()
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u reserved player names", count );
}
@@ -6526,7 +6526,7 @@ void ObjectMgr::LoadGameObjectForQuests()
{
barGoLink bar( 1 );
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded 0 GameObjects for quests" );
return;
}
@@ -6571,7 +6571,7 @@ void ObjectMgr::LoadGameObjectForQuests()
}
}
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u GameObjects for quests", count );
}
@@ -6598,7 +6598,7 @@ bool ObjectMgr::LoadTrinityStrings(DatabaseType& db, char const* table, int32 mi
bar.step();
- sLog.outString("");
+ sLog.outString();
if(min_value == MIN_TRINITY_STRING_ID) // error only in case internal strings
sLog.outErrorDb(">> Loaded 0 trinity strings. DB table `%s` is empty. Cannot continue.",table);
else
@@ -6664,7 +6664,7 @@ bool ObjectMgr::LoadTrinityStrings(DatabaseType& db, char const* table, int32 mi
delete result;
- sLog.outString("");
+ sLog.outString();
if(min_value == MIN_TRINITY_STRING_ID) // internal Trinity strings
sLog.outString( ">> Loaded %u Trinity strings from table %s", count,table);
else
@@ -6706,7 +6706,7 @@ void ObjectMgr::LoadSpellDisabledEntrys()
barGoLink bar( 1 );
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u disabled spells", total_count );
return;
}
@@ -6736,7 +6736,7 @@ void ObjectMgr::LoadSpellDisabledEntrys()
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u disabled spells from `spell_disabled`", total_count);
}
@@ -6753,7 +6753,7 @@ void ObjectMgr::LoadFishingBaseSkillLevel()
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outErrorDb(">> Loaded `skill_fishing_base_level`, table is empty!");
return;
}
@@ -6782,7 +6782,7 @@ void ObjectMgr::LoadFishingBaseSkillLevel()
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u areas for fishing base skill level", count );
}
@@ -7078,7 +7078,7 @@ void ObjectMgr::LoadGameTele()
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outErrorDb(">> Loaded `game_tele`, table is empty!");
return;
}
@@ -7123,7 +7123,7 @@ void ObjectMgr::LoadGameTele()
while (result->NextRow());
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u GameTeleports", count );
}
@@ -7212,7 +7212,7 @@ void ObjectMgr::LoadTrainerSpell()
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outErrorDb(">> Loaded `npc_trainer`, table is empty!");
return;
}
@@ -7293,7 +7293,7 @@ void ObjectMgr::LoadTrainerSpell()
} while (result->NextRow());
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %d Trainers", count );
}
@@ -7313,7 +7313,7 @@ void ObjectMgr::LoadVendors()
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outErrorDb(">> Loaded `npc_vendor`, table is empty!");
return;
}
@@ -7343,7 +7343,7 @@ void ObjectMgr::LoadVendors()
} while (result->NextRow());
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %d Vendors ", count );
}
@@ -7359,7 +7359,7 @@ void ObjectMgr::LoadNpcTextId()
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outErrorDb(">> Loaded `npc_gossip`, table is empty!");
return;
}
@@ -7394,7 +7394,7 @@ void ObjectMgr::LoadNpcTextId()
} while (result->NextRow());
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %d NpcTextId ", count );
}
@@ -7413,7 +7413,7 @@ void ObjectMgr::LoadNpcOptions()
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outErrorDb(">> Loaded `npc_option`, table is empty!");
return;
}
@@ -7446,7 +7446,7 @@ void ObjectMgr::LoadNpcOptions()
} while (result->NextRow());
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %d npc_option entries", count );
}
@@ -7577,7 +7577,7 @@ void ObjectMgr::LoadScriptNames()
{
barGoLink bar( 1 );
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outErrorDb(">> Loaded empty set of Script Names!");
return;
}
@@ -7594,7 +7594,7 @@ void ObjectMgr::LoadScriptNames()
delete result;
std::sort(m_scriptNames.begin(), m_scriptNames.end());
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %d Script Names", count );
}
diff --git a/src/game/PetHandler.cpp b/src/game/PetHandler.cpp
index 15f807a3cce..56845eaa656 100644
--- a/src/game/PetHandler.cpp
+++ b/src/game/PetHandler.cpp
@@ -69,7 +69,7 @@ void WorldSession::HandlePetAction( WorldPacket & recv_data )
{
//If a pet is dismissed, m_Controlled will change
std::vector<Unit*> controlled;
- for(ControlList::iterator itr = GetPlayer()->m_Controlled.begin(); itr != GetPlayer()->m_Controlled.end(); ++itr)
+ for(Unit::ControlList::iterator itr = GetPlayer()->m_Controlled.begin(); itr != GetPlayer()->m_Controlled.end(); ++itr)
if((*itr)->GetEntry() == pet->GetEntry() && (*itr)->isAlive())
controlled.push_back(*itr);
for(std::vector<Unit*>::iterator itr = controlled.begin(); itr != controlled.end(); ++itr)
diff --git a/src/game/PoolHandler.cpp b/src/game/PoolHandler.cpp
index 1c8cd871ab6..bb2276a6d24 100644
--- a/src/game/PoolHandler.cpp
+++ b/src/game/PoolHandler.cpp
@@ -342,7 +342,7 @@ void PoolHandler::LoadFromDB()
if (!result)
{
sLog.outString(">> Table pool_template is empty.");
- sLog.outString("");
+ sLog.outString();
return;
}
else
@@ -359,7 +359,7 @@ void PoolHandler::LoadFromDB()
{
mPoolTemplate.clear();
sLog.outString(">> Table pool_template is empty:");
- sLog.outString("");
+ sLog.outString();
return;
}
@@ -380,7 +380,7 @@ void PoolHandler::LoadFromDB()
} while (result->NextRow());
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u objects pools", count );
delete result;
@@ -397,7 +397,7 @@ void PoolHandler::LoadFromDB()
barGoLink bar2(1);
bar2.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString(">> Loaded %u creatures in pools", count );
}
else
@@ -440,7 +440,7 @@ void PoolHandler::LoadFromDB()
mCreatureSearchMap.insert(p);
} while (result->NextRow());
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u creatures in pools", count );
delete result;
}
@@ -458,7 +458,7 @@ void PoolHandler::LoadFromDB()
barGoLink bar2(1);
bar2.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString(">> Loaded %u gameobject in pools", count );
}
else
@@ -510,7 +510,7 @@ void PoolHandler::LoadFromDB()
mGameobjectSearchMap.insert(p);
} while( result->NextRow() );
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u gameobject in pools", count );
delete result;
}
@@ -526,7 +526,7 @@ void PoolHandler::LoadFromDB()
barGoLink bar2(1);
bar2.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString(">> Loaded %u pools in pools", count );
}
else
@@ -598,7 +598,7 @@ void PoolHandler::LoadFromDB()
}
}
}
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u pools in mother pools", count );
delete result;
}
diff --git a/src/game/ScriptCalls.cpp b/src/game/ScriptCalls.cpp
index b042c1aafac..fbcfee6db71 100644
--- a/src/game/ScriptCalls.cpp
+++ b/src/game/ScriptCalls.cpp
@@ -91,7 +91,7 @@ bool LoadScriptingModule(char const* libName)
return false;
}
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">>> Scripts Library %s was successfully loaded.\n", name.c_str() );
//heh we are still there :P we have a valid library
diff --git a/src/game/SkillDiscovery.cpp b/src/game/SkillDiscovery.cpp
index 3dcafc3e556..0fbaeb0fbaf 100644
--- a/src/game/SkillDiscovery.cpp
+++ b/src/game/SkillDiscovery.cpp
@@ -126,14 +126,14 @@ void LoadSkillDiscoveryTable()
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u skill discovery definitions", count );
if(!ssNonDiscoverableEntries.str().empty())
sLog.outErrorDb("Some items can't be successfully discovered: have in chance field value < 0.000001 in `skill_discovery_template` DB table . List:\n%s",ssNonDiscoverableEntries.str().c_str());
}
else
{
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded 0 skill discovery definitions. DB table `skill_discovery_template` is empty." );
}
}
diff --git a/src/game/SkillExtraItems.cpp b/src/game/SkillExtraItems.cpp
index 6ffc8cf36ac..f0061f97c00 100644
--- a/src/game/SkillExtraItems.cpp
+++ b/src/game/SkillExtraItems.cpp
@@ -110,12 +110,12 @@ void LoadSkillExtraItemTable()
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u spell specialization definitions", count );
}
else
{
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded 0 spell specialization definitions. DB table `skill_extra_item_template` is empty." );
}
}
diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp
index 0936e8d41af..eec6d76bb87 100644
--- a/src/game/Spell.cpp
+++ b/src/game/Spell.cpp
@@ -2290,7 +2290,7 @@ void Spell::cast(bool skipCheck)
if (m_caster->GetTypeId() == TYPEID_PLAYER)
{
- if (m_CastItem)
+ if (!m_IsTriggeredSpell && m_CastItem)
((Player*)m_caster)->GetAchievementMgr().UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_USE_ITEM, m_CastItem->GetEntry());
((Player*)m_caster)->GetAchievementMgr().UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL, m_spellInfo->Id);
diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
index 10028c9095a..f7139d06820 100644
--- a/src/game/SpellAuras.cpp
+++ b/src/game/SpellAuras.cpp
@@ -3072,21 +3072,28 @@ void Aura::HandleAuraModScale(bool apply, bool Real)
m_target->StopMoving();
m_target->GetMotionMaster()->Clear();
m_target->GetMotionMaster()->MoveIdle();
- CharmInfo *charmInfo = ((Creature*)m_target)->InitCharmInfo(m_target);
- charmInfo->InitPossessCreateSpells();
}
+ else if(m_target->GetTypeId() == TYPEID_PLAYER)
+ {
+ ((Player*)m_target)->SetClientControl(m_target, 0);
+ }
+
+ if(CharmInfo *charmInfo = m_target->InitCharmInfo(m_target))
+ charmInfo->InitPossessCreateSpells();
if(caster->GetTypeId() == TYPEID_PLAYER)
- {
((Player*)caster)->PossessSpellInitialize();
- }
}
else
{
m_target->SetCharmerGUID(0);
+ caster->InterruptSpell(CURRENT_CHANNELED_SPELL); // the spell is not automatically canceled when interrupted, do it now
if(m_target->GetTypeId() == TYPEID_PLAYER)
+ {
((Player*)m_target)->setFactionForRace(m_target->getRace());
+ ((Player*)m_target)->SetClientControl(m_target, 1);
+ }
else if(m_target->GetTypeId() == TYPEID_UNIT)
{
CreatureInfo const *cinfo = ((Creature*)m_target)->GetCreatureInfo();
@@ -3193,7 +3200,7 @@ void Aura::HandleAuraModPetTalentsPoints(bool Apply, bool Real)
if(m_target->GetTypeId() == TYPEID_UNIT)
{
((Creature*)m_target)->AIM_Initialize();
- CharmInfo *charmInfo = ((Creature*)m_target)->InitCharmInfo(m_target);
+ CharmInfo *charmInfo = m_target->InitCharmInfo(m_target);
charmInfo->InitCharmCreateSpells();
charmInfo->SetReactState( REACT_DEFENSIVE );
diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp
index ac408381a83..2dec5a2760c 100644
--- a/src/game/SpellEffects.cpp
+++ b/src/game/SpellEffects.cpp
@@ -2468,6 +2468,14 @@ void Spell::EffectPowerBurn(uint32 i)
Unit* caster = m_originalCaster ? m_originalCaster : m_caster;
+ // burn x% of target's mana, up to maximum of 2x% of caster's mana (Mana Burn)
+ if(m_spellInfo->ManaCostPercentage)
+ {
+ uint32 maxdamage = m_caster->GetMaxPower(powertype) * damage * 2 / 100;
+ damage = unitTarget->GetMaxPower(powertype) * damage / 100;
+ if(damage > maxdamage) damage = maxdamage;
+ }
+
int32 curPower = int32(unitTarget->GetPower(powertype));
uint32 power = damage;
diff --git a/src/game/SpellHandler.cpp b/src/game/SpellHandler.cpp
index c43bd1c45c9..098a5624e1d 100644
--- a/src/game/SpellHandler.cpp
+++ b/src/game/SpellHandler.cpp
@@ -38,6 +38,11 @@ void WorldSession::HandleUseItemOpcode(WorldPacket& recvPacket)
CHECK_PACKET_SIZE(recvPacket,1+1+1+4+8+4+1);
Player* pUser = _player;
+
+ // ignore for remote control state
+ if(pUser->m_mover != pUser)
+ return;
+
uint8 bagIndex, slot;
uint8 unk_flags; // flags (if 0x02 - some additional data are received)
uint8 cast_count; // next cast if exists (single or not)
@@ -142,6 +147,11 @@ void WorldSession::HandleOpenItemOpcode(WorldPacket& recvPacket)
sLog.outDetail("WORLD: CMSG_OPEN_ITEM packet, data length = %i",(uint32)recvPacket.size());
Player* pUser = _player;
+
+ // ignore for remote control state
+ if(pUser->m_mover != pUser)
+ return;
+
uint8 bagIndex, slot;
recvPacket >> bagIndex >> slot;
@@ -219,6 +229,11 @@ void WorldSession::HandleGameObjectUseOpcode( WorldPacket & recv_data )
recv_data >> guid;
sLog.outDebug( "WORLD: Recvd CMSG_GAMEOBJ_USE Message [guid=%u]", GUID_LOPART(guid));
+
+ // ignore for remote control state
+ if(_player->m_mover != _player)
+ return;
+
GameObject *obj = ObjectAccessor::GetGameObject(*_player, guid);
if(!obj)
@@ -238,6 +253,19 @@ void WorldSession::HandleGameobjectReportUse(WorldPacket& recvPacket)
recvPacket >> guid;
sLog.outDebug( "WORLD: Recvd CMSG_GAMEOBJ_REPORT_USE Message [in game guid: %u]", GUID_LOPART(guid));
+
+ // ignore for remote control state
+ if(_player->m_mover != _player)
+ return;
+
+ GameObject* go = ObjectAccessor::GetGameObject(*_player,guid);
+ if(!go)
+ return;
+
+ if(!go->IsWithinDistInMap(_player,INTERACTION_DISTANCE))
+ return;
+
+ _player->GetAchievementMgr().UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_USE_GAMEOBJECT, go->GetEntry());
}
void WorldSession::HandleCastSpellOpcode(WorldPacket& recvPacket)
@@ -250,6 +278,11 @@ void WorldSession::HandleCastSpellOpcode(WorldPacket& recvPacket)
recvPacket >> spellId;
recvPacket >> unk_flags; // flags (if 0x02 - some additional data are received)
+ // ignore for remote control state (for player case)
+ Unit* mover = _player->m_mover;
+ if(mover != _player && mover->GetTypeId()==TYPEID_PLAYER)
+ return;
+
sLog.outDebug("WORLD: got cast spell packet, spellId - %u, cast_count: %u, unk_flags %u, data length = %i",
spellId, cast_count, unk_flags, (uint32)recvPacket.size());
@@ -261,11 +294,23 @@ void WorldSession::HandleCastSpellOpcode(WorldPacket& recvPacket)
return;
}
- // not have spell in spellbook or spell passive and not casted by client
- if ( !_player->HasActiveSpell (spellId) || IsPassiveSpell(spellId) )
+ if(mover->GetTypeId()==TYPEID_PLAYER)
{
- //cheater? kick? ban?
- return;
+ // not have spell in spellbook or spell passive and not casted by client
+ if (!((Player*)mover)->HasActiveSpell (spellId) || IsPassiveSpell(spellId) )
+ {
+ //cheater? kick? ban?
+ return;
+ }
+ }
+ else
+ {
+ // not have spell in spellbook or spell passive and not casted by client
+ if (!((Creature*)mover)->HasSpell(spellId) || IsPassiveSpell(spellId) )
+ {
+ //cheater? kick? ban?
+ return;
+ }
}
// can't use our own spells when we're in possession of another unit,
@@ -274,7 +319,7 @@ void WorldSession::HandleCastSpellOpcode(WorldPacket& recvPacket)
// client provided targets
SpellCastTargets targets;
- if(!targets.read(&recvPacket,_player))
+ if(!targets.read(&recvPacket,mover))
return;
// auto-selection buff level base at target level (in spellInfo)
@@ -287,7 +332,7 @@ void WorldSession::HandleCastSpellOpcode(WorldPacket& recvPacket)
spellInfo = actualSpellInfo;
}
- Spell *spell = new Spell(_player, spellInfo, false);
+ Spell *spell = new Spell(mover, spellInfo, false);
spell->m_cast_count = cast_count; // set count of casts
spell->prepare(&targets);
}
@@ -296,6 +341,11 @@ void WorldSession::HandleCancelCastOpcode(WorldPacket& recvPacket)
{
CHECK_PACKET_SIZE(recvPacket,5);
+ // ignore for remote control state (for player case)
+ Unit* mover = _player->m_mover;
+ if(mover != _player && mover->GetTypeId()==TYPEID_PLAYER)
+ return;
+
// increments with every CANCEL packet, don't use for now
uint8 counter;
uint32 spellId;
@@ -306,14 +356,18 @@ void WorldSession::HandleCancelCastOpcode(WorldPacket& recvPacket)
if(spellId==26679)
return;
- if(_player->IsNonMeleeSpellCasted(false))
- _player->InterruptNonMeleeSpells(false,spellId);
+ if(mover->IsNonMeleeSpellCasted(false))
+ mover->InterruptNonMeleeSpells(false,spellId);
}
void WorldSession::HandleCancelAuraOpcode( WorldPacket& recvPacket)
{
CHECK_PACKET_SIZE(recvPacket,4);
+ // ignore for remote control state
+ if(_player->m_mover != _player)
+ return;
+
uint32 spellId;
recvPacket >> spellId;
@@ -348,6 +402,10 @@ void WorldSession::HandlePetCancelAuraOpcode( WorldPacket& recvPacket)
{
CHECK_PACKET_SIZE(recvPacket, 8+4);
+ // ignore for remote control state
+ if(_player->m_mover != _player)
+ return;
+
uint64 guid;
uint32 spellId;
@@ -395,7 +453,7 @@ void WorldSession::HandleCancelAutoRepeatSpellOpcode( WorldPacket& /*recvPacket*
{
// may be better send SMSG_CANCEL_AUTO_REPEAT?
// cancel and prepare for deleting
- _player->InterruptSpell(CURRENT_AUTOREPEAT_SPELL);
+ _player->m_mover->InterruptSpell(CURRENT_AUTOREPEAT_SPELL);
}
/// \todo Complete HandleCancelChanneling function
@@ -413,6 +471,10 @@ void WorldSession::HandleTotemDestroy( WorldPacket& recvPacket)
{
CHECK_PACKET_SIZE(recvPacket, 1);
+ // ignore for remote control state
+ if(_player->m_mover != _player)
+ return;
+
uint8 slotId;
recvPacket >> slotId;
diff --git a/src/game/SpellMgr.cpp b/src/game/SpellMgr.cpp
index 46e6970e74b..88f8e242bf6 100644
--- a/src/game/SpellMgr.cpp
+++ b/src/game/SpellMgr.cpp
@@ -876,7 +876,7 @@ void SpellMgr::LoadSpellTargetPositions()
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u spell target coordinates", count );
return;
}
@@ -942,7 +942,7 @@ void SpellMgr::LoadSpellTargetPositions()
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u spell teleport coordinates", count );
}
@@ -961,7 +961,7 @@ void SpellMgr::LoadSpellAffects()
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u spell affect definitions", count );
return;
}
@@ -1022,7 +1022,7 @@ void SpellMgr::LoadSpellAffects()
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u custom spell affect definitions", count );
for (uint32 id = 0; id < sSpellStore.GetNumRows(); ++id)
@@ -1082,7 +1082,7 @@ void SpellMgr::LoadSpellProcEvents()
{
barGoLink bar( 1 );
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u spell proc event conditions", count );
return;
}
@@ -1133,7 +1133,7 @@ void SpellMgr::LoadSpellProcEvents()
delete result;
- sLog.outString("");
+ sLog.outString();
if (customProc)
sLog.outString( ">> Loaded %u extra spell proc event conditions +%u custom", count, customProc );
else
@@ -1150,7 +1150,7 @@ void SpellMgr::LoadSpellBonusess()
{
barGoLink bar( 1 );
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u spell bonus data", count);
return;
}
@@ -1180,7 +1180,7 @@ void SpellMgr::LoadSpellBonusess()
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u extra spell bonus data", count);
}
@@ -1264,7 +1264,7 @@ void SpellMgr::LoadSpellElixirs()
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u spell elixir definitions", count );
return;
}
@@ -1295,7 +1295,7 @@ void SpellMgr::LoadSpellElixirs()
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u spell elixir definitions", count );
}
@@ -1306,7 +1306,7 @@ void SpellMgr::LoadSpellThreats()
sSpellThreatStore.Load();
sLog.outString( ">> Loaded %u aggro generating spells", sSpellThreatStore.RecordCount );
- sLog.outString("");
+ sLog.outString();
}
bool SpellMgr::IsRankSpellDueToSpell(SpellEntry const *spellInfo_1,uint32 spellId_2) const
@@ -1568,7 +1568,7 @@ void SpellMgr::LoadSpellRequired()
barGoLink bar( 1 );
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded 0 spell required records" );
sLog.outErrorDb("`spell_required` table is empty!");
return;
@@ -1590,7 +1590,7 @@ void SpellMgr::LoadSpellRequired()
} while( result->NextRow() );
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u spell required records", rows );
}
@@ -1886,7 +1886,7 @@ void SpellMgr::LoadSpellChains()
//for (UNORDERED_MAP<uint32, SpellChainNode>::iterator itr=mSpellChains.begin();itr!=mSpellChains.end();itr++)
//sLog.outString( "Id: %u, Rank: %d , %s, %u, %u, %u, %u",itr->first,itr->second.rank, sSpellStore.LookupEntry(itr->first)->Rank[sWorld.GetDefaultDbcLocale()], itr->second.first, itr->second.last,itr->second.next ,itr->second.prev);
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u spell chains",count);
}
@@ -1926,7 +1926,7 @@ void SpellMgr::LoadSpellLearnSkills()
}
}
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u Spell Learn Skills from DBC", dbc_count );
}
@@ -1941,7 +1941,7 @@ void SpellMgr::LoadSpellLearnSpells()
barGoLink bar( 1 );
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded 0 spell learn spells" );
sLog.outErrorDb("`spell_learn_spell` table is empty!");
return;
@@ -2031,7 +2031,7 @@ void SpellMgr::LoadSpellLearnSpells()
}
}
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u spell learn spells + %u found in DBC", count, dbc_count );
}
@@ -2049,7 +2049,7 @@ void SpellMgr::LoadSpellScriptTarget()
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded 0 spell script target" );
sLog.outErrorDb("`spell_script_target` table is empty!");
return;
@@ -2168,7 +2168,7 @@ void SpellMgr::LoadSpellScriptTarget()
}
*/
- sLog.outString("");
+ sLog.outString();
sLog.outString(">> Loaded %u Spell Script Targets", count);
}
@@ -2187,7 +2187,7 @@ void SpellMgr::LoadSpellPetAuras()
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u spell pet auras", count );
return;
}
@@ -2246,7 +2246,7 @@ void SpellMgr::LoadSpellPetAuras()
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u spell pet auras", count );
}
@@ -2431,7 +2431,7 @@ void SpellMgr::LoadSpellLinked()
{
barGoLink bar( 1 );
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u linked spells", count );
return;
}
@@ -2489,7 +2489,7 @@ void SpellMgr::LoadSpellLinked()
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u linked spells", count );
}
@@ -2529,7 +2529,7 @@ void SpellMgr::LoadPetLevelupSpellMap()
}
}
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u pet levelup spells", count );
}
@@ -2627,7 +2627,7 @@ void SpellMgr::LoadSpellAreas()
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u spell area requirements", count );
return;
}
@@ -2815,7 +2815,7 @@ void SpellMgr::LoadSpellAreas()
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u spell area requirements", count );
}
@@ -2936,7 +2936,7 @@ void SpellMgr::LoadSkillLineAbilityMap()
++count;
}
- sLog.outString("");
+ sLog.outString();
sLog.outString(">> Loaded %u SkillLineAbility MultiMap Data", count);
}
diff --git a/src/game/Transports.cpp b/src/game/Transports.cpp
index 386de1a66d1..c8f89b337bc 100644
--- a/src/game/Transports.cpp
+++ b/src/game/Transports.cpp
@@ -42,7 +42,7 @@ void MapManager::LoadTransports()
barGoLink bar( 1 );
bar.step();
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u transports", count );
return;
}
@@ -112,7 +112,7 @@ void MapManager::LoadTransports()
} while(result->NextRow());
delete result;
- sLog.outString("");
+ sLog.outString();
sLog.outString( ">> Loaded %u transports", count );
// check transport data DB integrity
diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
index 3df54dfe6c7..39daf01415a 100644
--- a/src/game/Unit.cpp
+++ b/src/game/Unit.cpp
@@ -187,6 +187,11 @@ Unit::~Unit()
RemoveAllDynObjects();
if(m_charmInfo) delete m_charmInfo;
+
+ assert(!m_attacking);
+ assert(m_attackers.empty());
+ assert(m_sharedVision.empty());
+ assert(m_Controlled.empty());
}
void Unit::Update( uint32 p_time )
@@ -11941,7 +11946,7 @@ Player* Unit::GetSpellModOwner() const
void Unit::SendPetCastFail(uint32 spellid, SpellCastResult msg)
{
if(msg == SPELL_CAST_OK)
- return;
+ return;
Unit *owner = GetCharmerOrOwner();
if(!owner || owner->GetTypeId() != TYPEID_PLAYER)
diff --git a/src/game/Unit.h b/src/game/Unit.h
index be729616f26..ce59dbd62ce 100644
--- a/src/game/Unit.h
+++ b/src/game/Unit.h
@@ -847,12 +847,11 @@ struct AuraSlotEntry
struct SpellProcEventEntry; // used only privately
-typedef std::set<Unit*> ControlList;
-
class TRINITY_DLL_SPEC Unit : public WorldObject
{
public:
typedef std::set<Unit*> AttackerSet;
+ typedef std::set<Unit*> ControlList;
typedef std::pair<uint32, uint8> spellEffectPair;
typedef std::multimap< spellEffectPair, Aura*> AuraMap;
typedef std::list<Aura *> AuraList;
diff --git a/src/game/World.cpp b/src/game/World.cpp
index 52e8752afd7..4f8797945ff 100644
--- a/src/game/World.cpp
+++ b/src/game/World.cpp
@@ -1133,7 +1133,7 @@ void World::SetInitialWorldSettings()
}
///- Loading strings. Getting no records means core load has to be canceled because no error message can be output.
- sLog.outString("");
+ sLog.outString();
sLog.outString( "Loading Trinity strings..." );
if (!objmgr.LoadTrinityStrings())
exit(1); // Error message displayed in function already
@@ -1170,7 +1170,7 @@ void World::SetInitialWorldSettings()
sLog.outString( "Packing instances..." );
sInstanceSaveManager.PackInstances();
- sLog.outString("");
+ sLog.outString();
sLog.outString( "Loading Localization strings..." );
objmgr.LoadCreatureLocales();
objmgr.LoadGameObjectLocales();
@@ -1182,7 +1182,7 @@ void World::SetInitialWorldSettings()
objmgr.LoadPointOfInterestLocales();
objmgr.SetDBCLocaleIndex(GetDefaultDbcLocale()); // Get once for all the locale index of DBC language (console/broadcasts)
sLog.outString( ">>> Localization strings loaded" );
- sLog.outString("");
+ sLog.outString();
sLog.outString( "Loading Page Texts..." );
objmgr.LoadPageTexts();
@@ -1254,10 +1254,10 @@ void World::SetInitialWorldSettings()
objmgr.LoadCreatures();
sLog.outString( "Loading Creature Addon Data..." );
- sLog.outString("");
+ sLog.outString();
objmgr.LoadCreatureAddons(); // must be after LoadCreatureTemplates() and LoadCreatures()
sLog.outString( ">>> Creature Addon Data loaded" );
- sLog.outString("");
+ sLog.outString();
sLog.outString( "Loading Creature Respawn Data..." ); // must be after PackInstances()
objmgr.LoadCreatureRespawnTimes();
@@ -1272,10 +1272,10 @@ void World::SetInitialWorldSettings()
poolhandler.LoadFromDB();
sLog.outString( "Loading Game Event Data...");
- sLog.outString("");
+ sLog.outString();
gameeventmgr.LoadFromDB();
sLog.outString( ">>> Game Event Data loaded" );
- sLog.outString("");
+ sLog.outString();
sLog.outString( "Loading Weather Data..." );
objmgr.LoadWeatherZoneChances();
@@ -1284,10 +1284,10 @@ void World::SetInitialWorldSettings()
objmgr.LoadQuests(); // must be loaded after DBCs, creature_template, item_template, gameobject tables
sLog.outString( "Loading Quests Relations..." );
- sLog.outString("");
+ sLog.outString();
objmgr.LoadQuestRelations(); // must be after quest load
sLog.outString( ">>> Quests Relations loaded" );
- sLog.outString("");
+ sLog.outString();
sLog.outString( "Loading SpellArea Data..." ); // must be after quest load
spellmgr.LoadSpellAreas();
@@ -1329,10 +1329,10 @@ void World::SetInitialWorldSettings()
spellmgr.LoadSpellLinked();
sLog.outString( "Loading Player Create Info & Level Stats..." );
- sLog.outString("");
+ sLog.outString();
objmgr.LoadPlayerInfo();
sLog.outString( ">>> Player Create Info & Level Stats loaded" );
- sLog.outString("");
+ sLog.outString();
sLog.outString( "Loading Exploration BaseXP Data..." );
objmgr.LoadExplorationBaseXP();
@@ -1353,10 +1353,10 @@ void World::SetInitialWorldSettings()
objmgr.LoadSpellDisabledEntrys();
sLog.outString( "Loading Loot Tables..." );
- sLog.outString("");
+ sLog.outString();
LoadLootTables();
sLog.outString( ">>> Loot Tables loaded" );
- sLog.outString("");
+ sLog.outString();
sLog.outString( "Loading Skill Discovery Table..." );
LoadSkillDiscoveryTable();
@@ -1368,21 +1368,22 @@ void World::SetInitialWorldSettings()
objmgr.LoadFishingBaseSkillLevel();
sLog.outString( "Loading Achievements..." );
- sLog.outString("");
+ sLog.outString();
+ achievementmgr.LoadAchievementReferenceList();
achievementmgr.LoadAchievementCriteriaList();
achievementmgr.LoadRewards();
achievementmgr.LoadRewardLocales();
achievementmgr.LoadCompletedAchievements();
sLog.outString( ">>> Achievements loaded" );
- sLog.outString("");
+ sLog.outString();
///- Load dynamic data tables from the database
sLog.outString( "Loading Auctions..." );
- sLog.outString("");
+ sLog.outString();
auctionmgr.LoadAuctionItems();
auctionmgr.LoadAuctions();
sLog.outString( ">>> Auctions loaded" );
- sLog.outString("");
+ sLog.outString();
sLog.outString( "Loading Guilds..." );
objmgr.LoadGuilds();
@@ -1418,7 +1419,7 @@ void World::SetInitialWorldSettings()
objmgr.LoadTrainerSpell(); // must be after load CreatureTemplate
sLog.outString( "Loading Waypoints..." );
- sLog.outString("");
+ sLog.outString();
WaypointMgr.Load();
sLog.outString( "Loading Creature Formations..." );
@@ -1433,7 +1434,7 @@ void World::SetInitialWorldSettings()
///- Load and initialize scripts
sLog.outString( "Loading Scripts..." );
- sLog.outString("");
+ sLog.outString();
objmgr.LoadQuestStartScripts(); // must be after load Creature/Gameobject(Template/Data) and QuestTemplate
objmgr.LoadQuestEndScripts(); // must be after load Creature/Gameobject(Template/Data) and QuestTemplate
objmgr.LoadSpellScripts(); // must be after load Creature/Gameobject(Template/Data)
@@ -1441,7 +1442,7 @@ void World::SetInitialWorldSettings()
objmgr.LoadEventScripts(); // must be after load Creature/Gameobject(Template/Data)
objmgr.LoadWaypointScripts();
sLog.outString( ">>> Scripts loaded" );
- sLog.outString("");
+ sLog.outString();
sLog.outString( "Loading Scripts text locales..." ); // must be after Load*Scripts calls
objmgr.LoadDbScriptStrings();
@@ -1581,7 +1582,7 @@ void World::DetectDBCLang()
m_defaultDbcLocale = LocaleConstant(default_locale);
sLog.outString("Using %s DBC Locale as default. All available DBC locales: %s",localeNames[m_defaultDbcLocale],availableLocalsStr.empty() ? "<none>" : availableLocalsStr.c_str());
- sLog.outString("");
+ sLog.outString();
}
void World::RecordTimeDiff(const char *text, ...)